← All templates

Proceedings of the Polish Astronomical Society (ptapap)

The Polish Astronomical Society proceedings class ptapap with its guide for authors as the sample: title and author block, figures (single and side by side), AAS journal macros and natbib author-year references with the ptapap BibTeX style.

Create an account to use this
Category
Conference
Document class
ptapap (ptapap.cls) — ships with TeX Live
Workflow
Journal manuscript — submissions and revision rounds
Author
Polish Astronomical Society (Polskie Towarzystwo Astronomiczne)
Source
Polish Astronomical Society (Polskie Towarzystwo Astronomiczne)
Licence
No licence is stated in the files. Polish Astronomical Society (Polskie Towarzystwo Astronomiczne) distributes them for authors preparing a submission.

These are the publisher’s own files. This project starts from Polish Astronomical Society (Polskie Towarzystwo Astronomiczne)’s package for this publication — their manuscript, their ptapap.cls, their bibliography style — so what compiles here is what they would have given you.

Polish Astronomical Society (Polskie Towarzystwo Astronomiczne) serves this exact file to Proceedings of the Polish Astronomical Society. Check Polish Astronomical Society (Polskie Towarzystwo Astronomiczne)’s author pages for the current instructions.

Where this differs from the publisher’s download.

  • Note: A title too long for the running head stops the class with an error by design: give a short version for the head with \headtitle{Short title}.

What you get

  • README.md · 470 B
  • aas_macros.sty · 6 KB
  • face-1.pdf · 18 KB
  • face-2.pdf · 40 KB
  • fig1.pdf · 130 KB
  • pta4authors.bib · 2 KB
  • pta4authors.tex — the file that is compiled · 14 KB
  • ptapap.bst · 30 KB
  • ptapap.cls · 17 KB

These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.

Journals using this template

Source

README.md · 470 B
Please LaTeX the file `pta4authors` for documentation. 

First move to docs directory

     cd docs

## UNIX 

If your document is called `yourfilename.tex`, you can just run `./make-ptapap-doc.sh yourfilename`

## Windows

Manually type necessary instructions:

    pdflatex filename
    bibtex filename
    pdflatex filename
    pdflatex filename
	

But you need to have at least `ptapap.cls`, `ptapap.bst` and `aas_macros.sty` in your directory or on your TeX path.

aas_macros.sty · 6 KB
%
%  These Macros are taken from the AAS TeX macro package version 5.2
%  and are compatible with the macros in the A&A document class
%  version 7.0
%  Include this file in your LaTeX source only if you are not using
%  the AAS TeX macro package or the A&A document class and need to
%  resolve the macro definitions in the TeX/BibTeX entries returned by
%  the ADS abstract service.
%
%  If you plan not to use this file to resolve the journal macros
%  rather than the whole AAS TeX macro package, you should save the
%  file as ``aas_macros.sty'' and then include it in your LaTeX paper
%  by using a construct such as:
%	\documentstyle[11pt,aas_macros]{article}
%
%  For more information on the AASTeX and A&A packages, please see:
%	http://aastex.aas.org
%       ftp://ftp.edpsciences.org/pub/aa/readme.html
%  For more information about ADS abstract server, please see:
%	http://adsabs.harvard.edu/ads_abstracts.html
%

% Abbreviations for journals.  The object here is to provide authors
% with convenient shorthands for the most "popular" (often-cited)
% journals; the author can use these markup tags without being concerned
% about the exact form of the journal abbreviation, or its formatting.
% It is up to the keeper of the macros to make sure the macros expand
% to the proper text.  If macro package writers agree to all use the
% same TeX command name, authors only have to remember one thing, and
% the style file will take care of editorial preferences.  This also
% applies when a single journal decides to revamp its abbreviating
% scheme, as happened with the ApJ (Abt 1991).

\let\jnl@style=\rm
\def\ref@jnl#1{{\jnl@style#1}}

\def\aj{\ref@jnl{AJ}}                   % Astronomical Journal
\def\actaa{\ref@jnl{Acta Astron.}}      % Acta Astronomica
\def\araa{\ref@jnl{ARA\&A}}             % Annual Review of Astron and Astrophys
\def\apj{\ref@jnl{ApJ}}                 % Astrophysical Journal
\def\apjl{\ref@jnl{ApJ}}                % Astrophysical Journal, Letters
\def\apjs{\ref@jnl{ApJS}}               % Astrophysical Journal, Supplement
\def\ao{\ref@jnl{Appl.~Opt.}}           % Applied Optics
\def\apss{\ref@jnl{Ap\&SS}}             % Astrophysics and Space Science
\def\aap{\ref@jnl{A\&A}}                % Astronomy and Astrophysics
\def\aapr{\ref@jnl{A\&A~Rev.}}          % Astronomy and Astrophysics Reviews
\def\aaps{\ref@jnl{A\&AS}}              % Astronomy and Astrophysics, Supplement
\def\azh{\ref@jnl{AZh}}                 % Astronomicheskii Zhurnal
\def\baas{\ref@jnl{BAAS}}               % Bulletin of the AAS
\def\bac{\ref@jnl{Bull. astr. Inst. Czechosl.}}
                % Bulletin of the Astronomical Institutes of Czechoslovakia 
\def\caa{\ref@jnl{Chinese Astron. Astrophys.}}
                % Chinese Astronomy and Astrophysics
\def\cjaa{\ref@jnl{Chinese J. Astron. Astrophys.}}
                % Chinese Journal of Astronomy and Astrophysics
\def\icarus{\ref@jnl{Icarus}}           % Icarus
\def\jcap{\ref@jnl{J. Cosmology Astropart. Phys.}}
                % Journal of Cosmology and Astroparticle Physics
\def\jrasc{\ref@jnl{JRASC}}             % Journal of the RAS of Canada
\def\memras{\ref@jnl{MmRAS}}            % Memoirs of the RAS
\def\mnras{\ref@jnl{MNRAS}}             % Monthly Notices of the RAS
\def\na{\ref@jnl{New A}}                % New Astronomy
\def\nar{\ref@jnl{New A Rev.}}          % New Astronomy Review
\def\pra{\ref@jnl{Phys.~Rev.~A}}        % Physical Review A: General Physics
\def\prb{\ref@jnl{Phys.~Rev.~B}}        % Physical Review B: Solid State
\def\prc{\ref@jnl{Phys.~Rev.~C}}        % Physical Review C
\def\prd{\ref@jnl{Phys.~Rev.~D}}        % Physical Review D
\def\pre{\ref@jnl{Phys.~Rev.~E}}        % Physical Review E
\def\prl{\ref@jnl{Phys.~Rev.~Lett.}}    % Physical Review Letters
\def\pasa{\ref@jnl{PASA}}               % Publications of the Astron. Soc. of Australia
\def\pasp{\ref@jnl{PASP}}               % Publications of the ASP
\def\pasj{\ref@jnl{PASJ}}               % Publications of the ASJ
\def\rmxaa{\ref@jnl{Rev. Mexicana Astron. Astrofis.}}%
                % Revista Mexicana de Astronomia y Astrofisica
\def\qjras{\ref@jnl{QJRAS}}             % Quarterly Journal of the RAS
\def\skytel{\ref@jnl{S\&T}}             % Sky and Telescope
\def\solphys{\ref@jnl{Sol.~Phys.}}      % Solar Physics
\def\sovast{\ref@jnl{Soviet~Ast.}}      % Soviet Astronomy
\def\ssr{\ref@jnl{Space~Sci.~Rev.}}     % Space Science Reviews
\def\zap{\ref@jnl{ZAp}}                 % Zeitschrift fuer Astrophysik
\def\nat{\ref@jnl{Nature}}              % Nature
\def\iaucirc{\ref@jnl{IAU~Circ.}}       % IAU Cirulars
\def\aplett{\ref@jnl{Astrophys.~Lett.}} % Astrophysics Letters
\def\apspr{\ref@jnl{Astrophys.~Space~Phys.~Res.}}
                % Astrophysics Space Physics Research
\def\bain{\ref@jnl{Bull.~Astron.~Inst.~Netherlands}} 
                % Bulletin Astronomical Institute of the Netherlands
\def\fcp{\ref@jnl{Fund.~Cosmic~Phys.}}  % Fundamental Cosmic Physics
\def\gca{\ref@jnl{Geochim.~Cosmochim.~Acta}}   % Geochimica Cosmochimica Acta
\def\grl{\ref@jnl{Geophys.~Res.~Lett.}} % Geophysics Research Letters
\def\jcp{\ref@jnl{J.~Chem.~Phys.}}      % Journal of Chemical Physics
\def\jgr{\ref@jnl{J.~Geophys.~Res.}}    % Journal of Geophysics Research
\def\jqsrt{\ref@jnl{J.~Quant.~Spec.~Radiat.~Transf.}}
                % Journal of Quantitiative Spectroscopy and Radiative Transfer
\def\memsai{\ref@jnl{Mem.~Soc.~Astron.~Italiana}}
                % Mem. Societa Astronomica Italiana
\def\nphysa{\ref@jnl{Nucl.~Phys.~A}}   % Nuclear Physics A
\def\physrep{\ref@jnl{Phys.~Rep.}}   % Physics Reports
\def\physscr{\ref@jnl{Phys.~Scr}}   % Physica Scripta
\def\planss{\ref@jnl{Planet.~Space~Sci.}}   % Planetary Space Science
\def\procspie{\ref@jnl{Proc.~SPIE}}   % Proceedings of the SPIE

\let\astap=\aap
\let\apjlett=\apjl
\let\apjsupp=\apjs
\let\applopt=\ao

face-1.pdf — binary, 18 KB

face-2.pdf — binary, 40 KB

fig1.pdf — binary, 130 KB

pta4authors.bib · 2 KB
@BOOK{1543droc.book.....C,
   author = {{Copernicus}, N.},
    title = "{D revolutionibus orbium coelestium}",
 keywords = {SOLAR SYSTEM, ASTRONOMY: EARLY WORKS TO 1800},
booktitle = {Norimbergae, Apud J.~Petreium, 1543; [Bruxelles, Culture et Civilisation, 1966]},
     year = 1543,
   adsurl = {http://adsabs.harvard.edu/abs/1543droc.book.....C},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@BOOK{1985mwpn.book.....K,
   author = {{Kepler}, J. and {Ptolemy} and {Copernicus}, N.},
    title = "{The Major writings of Ptolemy, Nicolaus Copernicus, Johannes Kepler.}",
 keywords = {ASTRONOMY: EARLY WORKS TO 1800, MATHEMATICS, GREEK},
booktitle = {Franklin Center, Pa.~: Franklin Library, 1985.~A limited ed.},
     year = 1985,
   adsurl = {http://adsabs.harvard.edu/abs/1985mwpn.book.....K},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@ARTICLE{shaposhnikov-mxbm,
   author = {{Shaposhnikov}, N. and {Titarchuk}, L. and {Haberl}, F.},
    title = "{The Bursting Behavior of 4U 1728-34: The Parameters of a Neutron Star and the Geometry
of a Neutron Star-Disk System}",
  journal = {\apjl},
   eprint = {astro-ph/0307215},
 keywords = {Accretion, Accretion Disks, Stars: Fundamental Parameters, Stars: Individual:
Alphanumeric: 4U 1728-34, X-Rays: Bursts},
     year = 2003,
    month = aug,
   volume = 593,
    pages = {L35-L38},
      doi = {10.1086/378255},
   adsurl = {http://adsabs.harvard.edu/abs/2003ApJ...593L..35S},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@ARTICLE{lee2011,
   author = {{Lee}, H. and {Kashyap}, V.~L. and {van Dyk}, D.~A. and {Connors}, A. and 
	{Drake}, J.~J. and {Izem}, R. and {Meng}, X.-L. and {Min}, S. and 
	{Park}, T. and {Ratzlaff}, P. and {Siemiginowska}, A. and {Zezas}, A.
	},
    title = "{Accounting for Calibration Uncertainties in X-ray Analysis: Effective Areas in Spectral Fitting}",
  journal = {\apj},
archivePrefix = "arXiv",
   eprint = {1102.4610},
 primaryClass = "astro-ph.IM",
 keywords = {methods: data analysis, methods: statistical, techniques: miscellaneous, X-rays: general},
     year = 2011,
    month = apr,
   volume = 731,
      eid = {126},
    pages = {126},
      doi = {10.1088/0004-637X/731/2/126},
   adsurl = {https://ui.adsabs.harvard.edu/abs/2011ApJ...731..126L},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
pta4authors.tex — the file that is compiled · 14 KB
\documentclass{ptapap}
\usepackage{amsmath}
\usepackage{amssymb}

\author{Agata R\'o\.za\'nska}[CAMK,PAS]
\author{Radek Smolec}[CAMK,PAS,UU]
\author{Chris Leszczy\'nski}[PAS,UU]
\affil[CAMK]{Nicolaus Copernicus Astronomical Center, Polish Academy of Sciences, Bartycka 18, 00--716 Warsaw, Poland}
\affil[UU]{Warsaw University Observatory, Al. Ujazdowskie 4, 00--478 Warszawa, Poland}
\affil[PAS]{Polish Astronomical Society, Bartycka 18, 00--716 Warsaw, Poland}

\title{Your paper}

\begin{document}

\maketitle

\begin{abstract}

This document serves both as a documentation and as a template for writing
articles. It also contains a short style guide and a list of do's and don'ts
for authors and editors. Feel free to use this template while writing your 
contributions to Polish Astronomical Society conference proceedings.
The articles containing only abstract will be not be accepted.

\end{abstract}

\section{Introduction}

The articles for PTA Proceedings should be submitted as a
\LaTeX{} file using the class \texttt{ptapap}. This class is
based on the basic class \texttt{article} and inherits all its
properties.

\subsection{Submission procedure}

{\bf The only submission address is:}
\begin{verbatim}
[email protected]
\end{verbatim}
When submitting to PTA proceedings, please {\bf rename 
your files using your last name}, e.g., in case your name is Nicolaus Copernicus, 
these files should be called \texttt{copernicus.tex} and  \texttt{copernicus.bib}.
In case of several
papers uploaded, please also use the numbering in the file name, e.g., \texttt{copernicus2.tex} and \texttt{copernicus2.bib}.

Please, send us only the source files, i.e.: \texttt{.tex}, \texttt{.bib} and all figures, all
together compressed into one file named the same as \texttt{.tex} file.
Typically \texttt{tar} and \texttt{gzip} compression are most welcome, using the command:
\begin{verbatim}
tar cvzf surname.tar.gz surname.tex surname.bib fig1.jpg fig2.jpg ...
\end{verbatim}
{\bf Compressed directories will not be accepted.}

\subsection{The need of simplicity}

Your manuscripts are meant to be printed as a part of a bounded
book, with possible releases in the form of e-book for reading
on portable devices. Both outputs have very little in
common; producing the e-book requires different parsing. {\bf We ask 
the authors to use only options supported by our style.}
If you need a feature which is not supported, 
drop us an email\footnote{\texttt{[email protected]}}, 
and we will try to make it happen.

\section{Using the class}

Use this file (\texttt{pta4authors.tex}) as a base of your own
manuscript.

 Every manuscript needs at least one author, a title
and \verb+\maketitle+ command as the first typesetting command
after the \verb+\begin{document}+. The quite minimal example:
\begin{verbatim}
   \documentclass{ptapap}
   \author{First Last}[CAMK]
   \author{Second Author}[CAMK, PTA]
   \affil[CAMK]{Nicolaus Copernicus...}
   \affil[PTA]{Polish Astronomical Society...}
   \begin{document}
   \maketitle
   \begin{abstract}
     put your abstract text here...
   \end{abstract}
   \section{Introduction}
   your text here
   \end{document}
\end{verbatim}

The class itself loads most common \LaTeX{} packages including
\texttt{graphicx} and bibliography.



\begin{figure}
\includegraphics[width=\textwidth]{fig1}
\caption{The graphics is usually full width. 
Ah, splendid times doing science stuff in the early Renaissance...}
\label{fig:1}
\end{figure}

\section{Using equations}

The \LaTeX{} is specially devoted to edit state of art mathematical equations.
Please, use only simple equations in the main body of the paper using \verb+$eq$+.
More complicated equations should be separated from the main text and properly labeled. For example, single Eq.~\ref{eq1}
may be typeset using:
\begin{verbatim}
\begin{equation}
\frac{1}{\nu} \frac{\partial(\nu < \upsilon_{\rm z}^{2}>)}{\partial z} =
- \frac{\partial \Phi}{\partial z},
 \label{eq1}
\end{equation}
\end{verbatim}
which generates:
\begin{equation}
\frac{1}{\nu} \frac{\partial(\nu < \upsilon_{\rm z}^{2}>)}{\partial z} =
- \frac{\partial \Phi}{\partial z},
\label{eq1}
\end{equation}
nevertheless, a more complex equation may be written as array in the following way:

\begin{align}
\alpha_{\rm B} \Omega P_{\rm tot} 
&= \frac{dF_{\rm mag}}{dz} + \mathcal{H}_{\rm rec} + \mathcal{H}_{\rm mag} \nonumber \\ 
&= \frac{d}{dz} \left( 2 P_{\rm mag} v_{\rm B} \right) + \left(2 \xi \Omega P_{\rm mag} - v_{\rm B} \frac{dP_{\rm mag}}{dz} \right).
\label{eq:magnet}
\end{align}
The arrays are placed inside  \verb+\begin{align}+  and \verb+\end{align}+ environment.
The first line of the Eq.~\ref{eq:magnet} is not numbered by typing \verb+\nonumber+ 
on the end of line. 

Some mathematical formulas require to use additional  \LaTeX{} packages, which can be 
added to this manuscript as follows: 
\begin{verbatim}
\documentclass{ptapap}
\usepackage{amsmath}
\end{verbatim}
on the top of this manuscript. 

\section{Using graphics}

Unless it is necessary otherwise, all graphics should be placed in
figures floats, i.e. separated from the main text. For instance,
the Fig.~\ref{fig:1} was typeset using:
\begin{verbatim}
    \begin{figure}
    \includegraphics[width=\textwidth]{fig1}
    \caption{The graphics is usually full width. 
    Ah, splendid times doing science stuff in the early Renaissance...}
    \label{fig:1}
    \end{figure}
\end{verbatim}
and then you can reference its number in text using
\verb+\ref{fig:1}+. The \verb+\label+ statement must be placed
after the \verb+\caption+ statement. Otherwise you can get wrong
reference numbers. This is a bug/feature in \LaTeX{} and we cannot do much
about it except placing this warning.

\begin{figure}
  \centering
  \begin{minipage}{0.48\textwidth}
    \includegraphics[width=\textwidth]{face-1.pdf}
    \caption{Dapper young Nicolaus we all know and adore.}
    \label{fig:face1}
  \end{minipage}
  \quad
  \begin{minipage}{0.48\textwidth}
    \includegraphics[width=\textwidth]{face-2.pdf}
    \caption{Time makes a fool of us all, eh?}
    \label{fig:face2}
  \end{minipage}
\end{figure}

It is up to you whether you use EPS graphics and use the dvi version of your
\LaTeX{}, or use \texttt{pdflatex}. Unfortunately dvi/dvips version of \LaTeX{}
cannot deal with pdf (only eps files), while \texttt{pdflatex} deals with pdf,
png and jpg files, while it fails at pure eps files. If you need to include
such files we recommend using \texttt{pdflatex} instead of plain
\texttt{latex}. The rule of thumb is: keep conversion of graphic files to
necessary minimum, stick to vector graphics if possible for best print results. 

Sometimes it is necessary to put two or more figures side-by-side. It is strongly 
recommended to divide one figure into two or more panels.
If you don't know how to deal with complicated graphics do
not hesitate to leave it more or less correct. 

Here is an example of possible solution of placing two pictures with
separate caption side by side using mini-pages (less recommended option, which may
be changed by the editor, when necessary). 
\begin{verbatim}
\begin{figure}
  \centering
  \begin{minipage}{0.48\textwidth}
    \includegraphics[width=\textwidth]{face-1.pdf}
    \caption{Dapper young Nicolaus we all know and adore.}
    \label{fig:face1}
  \end{minipage}
  \quad
  \begin{minipage}{0.48\textwidth}
    \includegraphics[width=\textwidth]{face-2.pdf}
    \caption{Time makes a fool of us all, eh?}
    \label{fig:face2}
  \end{minipage}
\end{figure}
\end{verbatim}

\section{Using tables} 

An example of table is presented in Tab.~\ref{tab:fejki}.  It was typeset using:
\begin{verbatim} 
\begin{table}[h]
\caption{Table caption here}
\begin{tabular}{|l|ccr|}
your four rows should be placed here 
\end{tabular}
\end{table} 
\end{verbatim}
This particular table is designed for four columns and four rows. Border lines were defined arbitrarily. The align of the text in columns is defined
by letters in \verb+\begin{tabular}{|l|ccr|}+, where \texttt{l} means left, \texttt{c} -- center, 
and \texttt{r} -- right. 


\begin{table}[h]
\caption{Fake spectra parameters for A, B, and C model atmospheres. Different combinations 
of vertical and horizontal lines are used.}
\label{tab:fejki}
\begin{center}
\begin{tabular}{|l|ccr|}
\hline
%\multicolumn{5}{|c|}{fe0l219} \\ \hline
 %                 & fe0l219& fe0l220 & fe0l221     \\ \hline
name                     & A & B & C \\ \hline  \hline
 & & &  \\
$T_{\rm eff}$  [K] & $2.19 \times 10^7$  & $2.20 \times 10^7$ & $2.21 \times 10^7$ \\ 
 & & &  \\
$\log g$ [cgs]        & 14.25   & 14.30   & 14.35        \\ 
& & &  \\
$F$ [erg~cm$^{-2}$~s$^{-1}$] & 3.62 $\times 10^{-10}$ & 4.47 $\times 10^{-10}$ & 3.46 $\times 10^{-10}$ \\ \hline
\end{tabular}
\end{center}
\end{table}

\section{BiBTeX and bibliographic style}

For simplicity, the PAS Proceedings use the {\aap} and {\apj} style for
citations. Abbreviations of journal names are taken from
\texttt{aas\_macros.sty}\footnote{Originally at \texttt{http://doc.adsabs.harvard.edu/abs\_doc/aas\_macros.sty}, but also propagated with this \texttt{ptapap} class.}.     

Please, do not  put the literature references directly at the end of the document like that:  
\begin{verbatim} 
WRONG:
\begin{thebibliography}{}
\bibitem[Copernicus(1543)]{1543droc.book.....C} 
Copernicus, N.\ 1543, Norimbergae, Apud J.~Petreium, 1543; 
[Bruxelles, Culture et Civilisation, 1966],
\end{thebibliography} 
\end{verbatim}

The correct is to use  the \texttt{bibtex} (natbib), with the \texttt{bibtex} bibliography
  file \texttt{yourname.bib}:
  \begin{verbatim} \bibliography{yourname} \end{verbatim}


In the original version of this document, we use the
\texttt{pta4authors.bib}.
\texttt{BiBTeX} is nice, because one can easily copy the from the NASA ADS\footnote{Note in the new ADS the \texttt{BiBTeX} entry for an article can be found under Export Citation link on the left},
place it into a file (e.g., \texttt{yourname.bib}) and reuse it many times in different journals and bibliography styles.  For example, 
let your file \texttt{yourname.bib} contains the following entry:

\begin{verbatim} 
@BOOK{1543droc.book.....C,
   author = {{Copernicus}, N.},
    title = "{D revolutionibus orbium coelestium}",
 keywords = {SOLAR SYSTEM, ASTRONOMY: EARLY WORKS TO 1800},
booktitle = {Norimbergae, Apud J.~Petreium, 1543; 
            [Bruxelles, Culture et Civilisation, 1966]},
     year = 1543,
   adsurl = {http://adsabs.harvard.edu/abs/1543droc.book.....C},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
\end{verbatim} 
In the above example, one can cite Nicolaus Copernicus' original edition as \citet{1543droc.book.....C}
with \texttt{\textbackslash citet}, as well as other references with
\texttt{\textbackslash citep}, if need be \citep{1985mwpn.book.....K}. If the
citation appears in brackets, please use \texttt{\textbackslash citealt}
instead of \texttt{\textbackslash citet} (like here,
\citealt{1985mwpn.book.....K}). Please, follow the Internet
links\footnote{\texttt{http://merkel.zoneo.net/Latex/natbib.php}} to get
detailed instructions.  

Only for references where the number of authors is less or equal three,  the whole list of authors will appear in the list of references in case of
any style of citation, for instance: \citep{shaposhnikov-mxbm}.  For the number of authors higher than three, only the first name will appear in the list of references, 
for instance \citep{lee2011}

{\bf Please, send us .bib file together with your .tex file. The only .bbl will be not accepted}. 



\section{Style guidelines} 

Here are some simple style rules we would like to keep (no particular order at this point): 

\begin{itemize} 
\item use title case in the title of your paper,
\item in the author list use your full first name followed by surname,
\item  in the affiliation, provide full postal address of your institution,
 \item abstract is mandatory for all articles; place it within \verb+abstract+ environment,
  \item for quotation marks, use single quotation mark: ' and twice the single quotation mark: ''. If you use single quotations marks, then use double quotation marks for a quote within a quote (and vice versa), 
  \item do not use colors in Table/Figure captions,
  \item all Figures and Tables need description: never leave Table/Figure captions empty,
    \item do note copy paste Figures from published work, unless you have explicit permission of the publisher to reuse the Figure in PAS Proceedings,
  \item use Figure, Equation, Table at the beginning of the sentence, but Fig., Figs. (in case of many), Eq., Eqs., Tab., Tabs, in the middle of the sentence,
  \item write Fig.~1, Eq.~2, not Fig.~(1), Eq.~(2),    
  \item keep numbering of sections (\texttt{\textbackslash section}, not \texttt{\textbackslash section*}), 
  \item keep paragraphs intended,
  \item use either British  (colour, modelled, optimise) or American (color, modeled, optimize) spelling consistently throughout the article, 
  \item use footnotes for Internet websites\footnote{Take a look at this cool site: \texttt{https://www.pta.edu.pl/proc} .}, 
  \item write the units with the Roman font (in math mode it requires \texttt{\textbackslash text\{\}} or \texttt{\textbackslash mathrm\{\}} of \texttt{amsmath}),  
  \item mathematical symbols should be written in {\it Italic},
    while their superscripts or subscripts should be in Roman font,
    as in case of magnetic flux: $F_{\rm mag}$,
   \item  dates are written in the order: year, month, and day (e.g., 1996 January 1). In tables, use three-letter abbreviations for months, without a period,
  \item names of functions should be in Roman as: $\log g$ by typing \verb+$\log g$+,
  \item use vector graphics for best printing results, but try to make the files as small in size as possible,
    \item put your acknowledgment at the end of the paper within \verb+\acknowledgements{...}+,
  \item if any of the above rules are unclear, please drop us an email\footnote{\texttt{[email protected]}}. 

\end{itemize}

\section{Input and output encoding}

The class enforces UTF-8 encoding.
We strongly suggest authors keeping UTF-8 in their manuscripts.
We assume that UTF-8 is {\it de facto} standard of
encoding in the second decade of XXI century. 

If you absolutely cannot use UTF-8, you can type
\verb+\usepackage[...]{inputenc}+ but keep in mind we will have to re-encode your
text.

\acknowledgements{We thank Krzysztof Leszczy{\'n}ski and Micha{\l } Bejger
  for creating and developing this \texttt{ptapap} class.
  This work was partially supported by the Polish Astronomical Society and the Nicolaus
  Copernicus Astronomical Center, Warsaw, Poland.}

\bibliographystyle{ptapap}
\bibliography{pta4authors}

\end{document}
ptapap.bst · 30 KB
%%
%% This is file `ptapap.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs  (with options: `ay,nat,vonx,nm-rev,jnrlst,nmlm,x4,m1,keyxyr,yr-par,note-yr,tit-it,atit-u,vol-bf,vnum-cm,volp-com,jpg-1,num-xser,ser-vol,jnm-x,btit-rm,bt-rm,bkpg-x,pg-bk,pg-pre,edparxc,blk-com,fin-bare,ppx,ed,xedn,jabr,jaa,amper,xand,eprint,url,url-blk,nfss,')
%% ----------------------------------------
%% *** Bibliography style for the ptapap article class ***
%% Copyright 1994-2011 Patrick W Daly
 % ===============================================================
 % IMPORTANT NOTICE:
 % This bibliographic style (bst) file has been generated from one or
 % more master bibliographic style (mbs) files, listed above.
 %
 % This generated file can be redistributed and/or modified under the terms
 % of the LaTeX Project Public License Distributed from CTAN
 % archives in directory macros/latex/base/lppl.txt; either
 % version 1 of the License, or any later version.
 % ===============================================================
 % Name and version information of the main mbs file:
 % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)]
 %   For use with BibTeX version 0.99a or later
 %-------------------------------------------------------------------
 % This bibliography style file is intended for texts in ENGLISH
 % This is an author-year citation style bibliography. As such, it is
 % non-standard LaTeX, and requires a special package file to function properly.
 % Such a package is    natbib.sty   by Patrick W. Daly
 % The form of the \bibitem entries is
 %   \bibitem[Jones et al.(1990)]{key}...
 %   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
 % The essential feature is that the label (the part in brackets) consists
 % of the author names, as they should appear in the citation, with the year
 % in parentheses following. There must be no space before the opening
 % parenthesis!
 % With natbib v5.3, a full list of authors may also follow the year.
 % In natbib.sty, it is possible to define the type of enclosures that is
 % really wanted (brackets or parentheses), but in either case, there must
 % be parentheses in the label.
 % The \cite command functions as follows:
 %   \citet{key} ==>>                Jones et al. (1990)
 %   \citet*{key} ==>>               Jones, Baker, and Smith (1990)
 %   \citep{key} ==>>                (Jones et al., 1990)
 %   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990)
 %   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2)
 %   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990)
 %   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., 1990, p. 32)
 %   \citeauthor{key} ==>>           Jones et al.
 %   \citeauthor*{key} ==>>          Jones, Baker, and Smith
 %   \citeyear{key} ==>>             1990
 %---------------------------------------------------------------------

ENTRY
  { address
    archive
    author
    booktitle
    chapter
    edition
    editor
    eid
    eprint
    howpublished
    institution
    journal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    url
    volume
    year
  }
  {}
  { label extra.label sort.label short.list }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
  #1 'mid.sentence :=
  #2 'after.sentence :=
  #3 'after.block :=
}
STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
  output.state mid.sentence =
    { ", " * write$ }
    { output.state after.block =
        { add.period$ write$
          newline$
          "\newblock " write$
        }
        { output.state before.all =
            'write$
            { add.period$ " " * write$ }
          if$
        }
      if$
      mid.sentence 'output.state :=
    }
  if$
  s
}
FUNCTION {output}
{ duplicate$ empty$
    'pop$
    'output.nonnull
  if$
}
FUNCTION {output.check}
{ 't :=
  duplicate$ empty$
    { pop$ "empty " t * " in " * cite$ * warning$ }
    'output.nonnull
  if$
}
FUNCTION {fin.entry}
{ duplicate$ empty$
    'pop$
    'write$
  if$
  newline$
}

FUNCTION {new.block}
{ output.state before.all =
    'skip$
    { after.block 'output.state := }
  if$
}
FUNCTION {new.sentence}
{ output.state after.block =
    'skip$
    { output.state before.all =
        'skip$
        { after.sentence 'output.state := }
      if$
    }
  if$
}
FUNCTION {add.blank}
{  " " * before.all 'output.state :=
}

FUNCTION {date.block}
{
  skip$
}

FUNCTION {not}
{   { #0 }
    { #1 }
  if$
}
FUNCTION {and}
{   'skip$
    { pop$ #0 }
  if$
}
FUNCTION {or}
{   { pop$ #1 }
    'skip$
  if$
}
FUNCTION {new.block.checkb}
{ empty$
  swap$ empty$
  and
    'skip$
    'new.block
  if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
    { pop$ "" }
    'skip$
  if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
    { pop$ "" }
    { "\emph{" swap$ * "}" * }
  if$
}
FUNCTION {bolden}
{ duplicate$ empty$
    { pop$ "" }
    { "\textbf{" swap$ * "}" * }
  if$
}
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #3 <
    { "~" }
    { " " }
  if$
  swap$
}

FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }

FUNCTION {space.word}
{ " " swap$ * " " * }
 % Here are the language-specific definitions for explicit words.
 % Each function has a name bbl.xxx where xxx is the English word.
 % The language selected here is ENGLISH
FUNCTION {bbl.and}
{ "and"}

FUNCTION {bbl.etal}
{ "et~al." }

FUNCTION {bbl.editors}
{ "eds." }

FUNCTION {bbl.editor}
{ "ed." }

FUNCTION {bbl.edby}
{ "edited by" }

FUNCTION {bbl.edition}
{ "edition" }

FUNCTION {bbl.volume}
{ "volume" }

FUNCTION {bbl.of}
{ "of" }

FUNCTION {bbl.number}
{ "number" }

FUNCTION {bbl.nr}
{ "no." }

FUNCTION {bbl.in}
{ "in" }

FUNCTION {bbl.pages}
{ "" }

FUNCTION {bbl.page}
{ "" }

FUNCTION {bbl.chapter}
{ "chapter" }

FUNCTION {bbl.techrep}
{ "Technical Report" }

FUNCTION {bbl.mthesis}
{ "Master's thesis" }

FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }

MACRO {jan} {"January"}

MACRO {feb} {"February"}

MACRO {mar} {"March"}

MACRO {apr} {"April"}

MACRO {may} {"May"}

MACRO {jun} {"June"}

MACRO {jul} {"July"}

MACRO {aug} {"August"}

MACRO {sep} {"September"}

MACRO {oct} {"October"}

MACRO {nov} {"November"}

MACRO {dec} {"December"}

MACRO {acmcs} {"ACM Comput. Surv."}

MACRO {acta} {"Acta Inf."}

MACRO {cacm} {"Commun. ACM"}

MACRO {ibmjrd} {"IBM J. Res. Dev."}

MACRO {ibmsj} {"IBM Syst.~J."}

MACRO {ieeese} {"IEEE Trans. Software Eng."}

MACRO {ieeetc} {"IEEE Trans. Comput."}

MACRO {ieeetcad}
 {"IEEE Trans. Comput. Aid. Des."}

MACRO {ipl} {"Inf. Process. Lett."}

MACRO {jacm} {"J.~ACM"}

MACRO {jcss} {"J.~Comput. Syst. Sci."}

MACRO {scp} {"Sci. Comput. Program."}

MACRO {sicomp} {"SIAM J. Comput."}

MACRO {tocs} {"ACM Trans. Comput. Syst."}

MACRO {tods} {"ACM Trans. Database Syst."}

MACRO {tog} {"ACM Trans. Graphic."}

MACRO {toms} {"ACM Trans. Math. Software"}

MACRO {toois} {"ACM Trans. Office Inf. Syst."}

MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}

MACRO {tcs} {"Theor. Comput. Sci."}

FUNCTION {bibinfo.check}
{ swap$
  duplicate$ missing$
    {
      pop$ pop$
      ""
    }
    { duplicate$ empty$
        {
          swap$ pop$
        }
        { swap$
          pop$
        }
      if$
    }
  if$
}
FUNCTION {bibinfo.warn}
{ swap$
  duplicate$ missing$
    {
      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
      ""
    }
    { duplicate$ empty$
        {
          swap$ "empty " swap$ * " in " * cite$ * warning$
        }
        { swap$
          pop$
        }
      if$
    }
  if$
}
FUNCTION {format.eprint}
{ eprint duplicate$ empty$
    'skip$
    { "\eprint" 
      archive empty$
        'skip$
      { "[" * archive * "]" * }
      if$
      "{" * "arXiv:\," * swap$ * "}" *
    }
  if$
}
FUNCTION {format.url}
{
  url
  duplicate$ empty$
    { pop$ "" }
    { "\urlprefix\url{" swap$ * "}" * }
  if$
}

INTEGERS { nameptr namesleft numnames }


STRINGS  { bibinfo}

FUNCTION {format.names}
{ 'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{vv~}{ll}{, f.}{, jj}"
      format.name$
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          nameptr #1
          #1 + =
          numnames #4
          > and
            { "others" 't :=
              #1 'namesleft := }
            'skip$
          if$
          namesleft #1 >
            { ", " * t * }
            {
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              "," *
              t "others" =
                {
                  " " * bbl.etal *
                }
                { " " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}
FUNCTION {format.names.ed}
{
  'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{f.~}{vv~}{ll}{, jj}"
      format.name$
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              "," *
              t "others" =
                {

                  " " * bbl.etal *
                }
                { " " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}
FUNCTION {format.key}
{ empty$
    { key field.or.null }
    { "" }
  if$
}

FUNCTION {format.authors}
{ author "author" format.names
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }

FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
    {
      " " *
      get.bbl.editor
   "(" swap$ * ")" *
      *
    }
  if$
}
FUNCTION {format.book.pages}
{ pages "pages" bibinfo.check
  duplicate$ empty$ 'skip$
    { " " * bbl.pages * }
  if$
}
FUNCTION {format.note}
{
 note empty$
    { "" }
    { note #1 #1 substring$
      duplicate$ "{" =
        'skip$
        { output.state mid.sentence =
          { "l" }
          { "u" }
        if$
        change.case$
        }
      if$
      note #2 global.max$ substring$ * "note" bibinfo.check
    }
  if$
}

FUNCTION {format.title}
{ title
  "title" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      emphasize
    }
  if$
}
FUNCTION {format.full.names}
{'s :=
 "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{vv~}{ll}" format.name$
      't :=
      nameptr #1 >
        {
          nameptr #1
          #1 + =
          numnames #4
          > and
            { "others" 't :=
              #1 'namesleft := }
            'skip$
          if$
          namesleft #1 >
            { ", " * t * }
            {
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              t "others" =
                {
                  " " * bbl.etal *
                }
                {
                  numnames #2 >
                    { "," * }
                    'skip$
                  if$
                  "\&"
                  space.word * t *
                }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {author.editor.key.full}
{ author empty$
    { editor empty$
        { key empty$
            { cite$ #1 #3 substring$ }
            'key
          if$
        }
        { editor format.full.names }
      if$
    }
    { author format.full.names }
  if$
}

FUNCTION {author.key.full}
{ author empty$
    { key empty$
         { cite$ #1 #3 substring$ }
          'key
      if$
    }
    { author format.full.names }
  if$
}

FUNCTION {editor.key.full}
{ editor empty$
    { key empty$
         { cite$ #1 #3 substring$ }
          'key
      if$
    }
    { editor format.full.names }
  if$
}

FUNCTION {make.full.names}
{ type$ "book" =
  type$ "inbook" =
  or
    'author.editor.key.full
    { type$ "proceedings" =
        'editor.key.full
        'author.key.full
      if$
    }
  if$
}

FUNCTION {output.bibitem}
{ newline$
  "\bibitem[{" write$
  label write$
  ")" make.full.names duplicate$ short.list =
     { pop$ }
     { * }
   if$
  "}]{" * write$
  cite$ write$
  "}" write$
  newline$
  ""
  before.all 'output.state :=
}

FUNCTION {n.dashify}
{
  't :=
  ""
    { t empty$ not }
    { t #1 #1 substring$ "-" =
        { t #1 #2 substring$ "--" = not
            { "--" *
              t #2 global.max$ substring$ 't :=
            }
            {   { t #1 #1 substring$ "-" = }
                { "-" *
                  t #2 global.max$ substring$ 't :=
                }
              while$
            }
          if$
        }
        { t #1 #1 substring$ *
          t #2 global.max$ substring$ 't :=
        }
      if$
    }
  while$
}

FUNCTION {word.in}
{ bbl.in
  " " * }

FUNCTION {format.date}
{ year "year" bibinfo.check duplicate$ empty$
    {
      "empty year in " cite$ * "; set to ????" * warning$
       pop$ "????"
    }
    'skip$
  if$
  extra.label *
  before.all 'output.state :=
  " (" swap$ * ")" *
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
  duplicate$ empty$ 'skip$
    {
    }
  if$
}
FUNCTION {either.or.check}
{ empty$
    'pop$
    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  if$
}
FUNCTION {format.bvolume}
{ volume empty$
    { "" }
    { bbl.volume volume tie.or.space.prefix
      "volume" bibinfo.check * *
      series "series" bibinfo.check
      duplicate$ empty$ 'pop$
        { emphasize ", " * swap$ * }
      if$
      "volume and number" number either.or.check
    }
  if$
}
FUNCTION {format.number.series}
{ volume empty$
    { number empty$
        { series field.or.null }
        { series empty$
            { number "number" bibinfo.check }
            { output.state mid.sentence =
                { bbl.number }
                { bbl.number capitalize }
              if$
              number tie.or.space.prefix "number" bibinfo.check * *
              bbl.in space.word *
              series "series" bibinfo.check *
            }
          if$
        }
      if$
    }
    { "" }
  if$
}

FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
    {
      output.state mid.sentence =
        { "l" }
        { "t" }
      if$ change.case$
      "edition" bibinfo.check
      " " * bbl.edition *
    }
  if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
  #0 'multiresult :=
    { multiresult not
      t empty$ not
      and
    }
    { t #1 #1 substring$
      duplicate$ "-" =
      swap$ duplicate$ "," =
      swap$ "+" =
      or or
        { #1 'multiresult := }
        { t #2 global.max$ substring$ 't := }
      if$
    }
  while$
  multiresult
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
    { duplicate$ multi.page.check
        {
          n.dashify
        }
        {
        }
      if$
      "pages" bibinfo.check
    }
  if$
}
FUNCTION {first.page}
{ 't :=
  ""
    {  t empty$ not t #1 #1 substring$ "-" = not and }
    { t #1 #1 substring$ *
      t #2 global.max$ substring$ 't :=
    }
  while$
}

FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
    { swap$ duplicate$ empty$
        { pop$ pop$ format.pages }
        {
          ", " *
          swap$
          first.page
          "pages" bibinfo.check
          *
        }
      if$
    }
  if$
}
FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
  duplicate$ empty$ 'pop$
    { swap$ duplicate$ empty$ 'skip$
      {
          ", " *
      }
      if$
      swap$ *
    }
  if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
  duplicate$ empty$ 'skip$
    {
      "volume" bibinfo.check
    }
  if$
  bolden
  number "number" bibinfo.check duplicate$ empty$ 'skip$
    {
      swap$ duplicate$ empty$
        { "there's a number but no volume in " cite$ * warning$ }
        'skip$
      if$
      swap$
      ", " swap$ *
    }
  if$ *
  eid empty$
    { format.journal.pages }
    { format.journal.eid }
  if$
}

FUNCTION {format.chapter.pages}
{ chapter empty$
    'format.pages
    { type empty$
        { bbl.chapter }
        { type "l" change.case$
          "type" bibinfo.check
        }
      if$
      chapter tie.or.space.prefix
      "chapter" bibinfo.check
      * *
      pages empty$
        'skip$
        { ", " * format.pages * }
      if$
    }
  if$
}

FUNCTION {format.booktitle}
{
  booktitle "booktitle" bibinfo.check
}
FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
    {
      editor "editor" format.names.ed duplicate$ empty$ 'pop$
        {
          " " *
          get.bbl.editor
          "(" swap$ * ") " *
          * swap$
          * }
      if$
      word.in swap$ *
    }
  if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
    'pop$
    { swap$ pop$
      "t" change.case$ "type" bibinfo.check
    }
  if$
}
FUNCTION {format.tr.number}
{ number "number" bibinfo.check
  type duplicate$ empty$
    { pop$ bbl.techrep }
    'skip$
  if$
  "type" bibinfo.check
  swap$ duplicate$ empty$
    { pop$ "t" change.case$ }
    { tie.or.space.prefix * * }
  if$
}
FUNCTION {format.article.crossref}
{
  word.in
  " \cite{" * crossref * "}" *
}
FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
      pop$ word.in
    }
    { bbl.volume
      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
    }
  if$
  " \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
  word.in
  " \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
  ""
  address empty$ t empty$ and
    'skip$
    {
      t empty$
        { address "address" bibinfo.check *
        }
        { t *
          address empty$
            'skip$
            { ", " * address "address" bibinfo.check * }
          if$
        }
      if$
    }
  if$
}
FUNCTION {format.publisher.address}
{ publisher "publisher" bibinfo.warn format.org.or.pub
}

FUNCTION {format.organization.address}
{ organization "organization" bibinfo.check format.org.or.pub
}

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
%%  format.title "title" output.check
  crossref missing$
    {
      journal
      "journal" bibinfo.check
      emphasize
      "journal" output.check
      add.blank
      format.vol.num.pages output
      format.date "year" output.check
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}
FUNCTION {book}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      editor format.key output
      add.blank
    }
    { format.authors output.nonnull
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      format.number.series output
      format.book.pages output
      format.publisher.address output
    }
    {
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}
FUNCTION {booklet}
{ output.bibitem
  format.authors output
  author format.key output
%%  format.title "title" output.check
  howpublished "howpublished" bibinfo.check output
  address "address" bibinfo.check output
  format.date "year" output.check
  format.book.pages output
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}

FUNCTION {inbook}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      editor format.key output
    }
    { format.authors output.nonnull
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  format.btitle "title" output.check
  crossref missing$
    {
      format.bvolume output
      format.chapter.pages "chapter and pages" output.check
      format.number.series output
      format.publisher.address output
    }
    {
      format.chapter.pages "chapter and pages" output.check
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
%%  format.title "title" output.check
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.chapter.pages output
      format.publisher.address output
      format.edition output
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
%%  format.title "title" output.check
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.pages output
      publisher empty$
        { format.organization.address output }
        { organization "organization" bibinfo.check output
          format.publisher.address output
        }
      if$
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
  format.authors output
  author format.key output
  format.btitle "title" output.check
  organization "organization" bibinfo.check output
  address "address" bibinfo.check output
  format.edition output
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}

FUNCTION {mastersthesis}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.btitle
  "title" output.check
  bbl.mthesis format.thesis.type output.nonnull
  school "school" bibinfo.warn output
  address "address" bibinfo.check output
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}

FUNCTION {misc}
{ output.bibitem
  format.authors output
  author format.key output
%%  format.title output
  howpublished "howpublished" bibinfo.check output
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}
FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.btitle
  "title" output.check
  bbl.phdthesis format.thesis.type output.nonnull
  school "school" bibinfo.warn output
  address "address" bibinfo.check output
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}

FUNCTION {proceedings}
{ output.bibitem
  format.editors output
  editor format.key output
  format.btitle "title" output.check
  format.bvolume output
  format.number.series output
  publisher empty$
    { format.organization.address output }
    { organization "organization" bibinfo.check output
      format.publisher.address output
    }
  if$
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}

FUNCTION {techreport}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
%%  format.title
%%  "title" output.check
  format.tr.number output.nonnull
  institution "institution" bibinfo.warn output
  address "address" bibinfo.check output
  format.date "year" output.check
  format.url output
  format.note output
  % format.eprint output
  fin.entry
}

FUNCTION {unpublished}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
%%  format.title "title" output.check
  format.date "year" output.check
  format.url output
  format.note "note" output.check
  format.eprint output
  fin.entry
}

FUNCTION {default.type} { misc }
READ
FUNCTION {sortify}
{ purify$
  "l" change.case$
}
INTEGERS { len }
FUNCTION {chop.word}
{ 's :=
  'len :=
  s #1 len substring$ =
    { s len #1 + global.max$ substring$ }
    's
  if$
}
FUNCTION {format.lab.names}
{ 's :=
  "" 't :=
  s #1 "{vv~}{ll}" format.name$
  s num.names$ duplicate$
  #2 >
    { pop$
      " " * bbl.etal *
    }
    { #2 <
        'skip$
        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            {
              " " * bbl.etal *
            }
            { " \& " * s #2 "{vv~}{ll}" format.name$
              * }
          if$
        }
      if$
    }
  if$
}

FUNCTION {author.key.label}
{ author empty$
    { key empty$
        { cite$ #1 #3 substring$ }
        'key
      if$
    }
    { author format.lab.names }
  if$
}

FUNCTION {author.editor.key.label}
{ author empty$
    { editor empty$
        { key empty$
            { cite$ #1 #3 substring$ }
            'key
          if$
        }
        { editor format.lab.names }
      if$
    }
    { author format.lab.names }
  if$
}

FUNCTION {editor.key.label}
{ editor empty$
    { key empty$
        { cite$ #1 #3 substring$ }
        'key
      if$
    }
    { editor format.lab.names }
  if$
}

FUNCTION {calc.short.authors}
{ type$ "book" =
  type$ "inbook" =
  or
    'author.editor.key.label
    { type$ "proceedings" =
        'editor.key.label
        'author.key.label
      if$
    }
  if$
  'short.list :=
}

FUNCTION {calc.label}
{ calc.short.authors
  short.list
  "("
  *
  year duplicate$ empty$
  short.list key field.or.null = or
     { pop$ "" }
     'skip$
  if$
  *
  'label :=
}

FUNCTION {sort.format.names}
{ 's :=
  #1 'nameptr :=
  ""
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{ll{ }}{  f{ }}{  jj{ }}"
      format.name$ 't :=
      nameptr #1 >
        {
          nameptr #1
          #1 + =
          numnames #4
          > and
            { "others" 't :=
              #1 'namesleft := }
            'skip$
          if$
          "   "  *
          namesleft #1 = t "others" = and
            { "zzzzz" 't := }
            'skip$
          if$
          t sortify *
        }
        { t sortify * }
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {sort.format.title}
{ 't :=
  "A " #2
    "An " #3
      "The " #4 t chop.word
    chop.word
  chop.word
  sortify
  #1 global.max$ substring$
}
FUNCTION {author.sort}
{ author empty$
    { key empty$
        { "to sort, need author or key in " cite$ * warning$
          ""
        }
        { key sortify }
      if$
    }
    { author sort.format.names }
  if$
}
FUNCTION {author.editor.sort}
{ author empty$
    { editor empty$
        { key empty$
            { "to sort, need author, editor, or key in " cite$ * warning$
              ""
            }
            { key sortify }
          if$
        }
        { editor sort.format.names }
      if$
    }
    { author sort.format.names }
  if$
}
FUNCTION {editor.sort}
{ editor empty$
    { key empty$
        { "to sort, need editor or key in " cite$ * warning$
          ""
        }
        { key sortify }
      if$
    }
    { editor sort.format.names }
  if$
}
FUNCTION {presort}
{ calc.label
  label sortify
  "    "
  *
  type$ "book" =
  type$ "inbook" =
  or
    'author.editor.sort
    { type$ "proceedings" =
        'editor.sort
        'author.sort
      if$
    }
  if$
  #1 entry.max$ substring$
  'sort.label :=
  sort.label
  *
  "    "
  *
  title field.or.null
  sort.format.title
  *
  #1 entry.max$ substring$
  'sort.key$ :=
}

ITERATE {presort}
SORT
STRINGS { last.label next.extra }
INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
  "" 'next.extra :=
  #0 'last.extra.num :=
  "a" chr.to.int$ #1 - 'last.extra.num.blank :=
  last.extra.num.blank 'last.extra.num.extended :=
  #0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
    { last.extra.num #1 + 'last.extra.num :=
      last.extra.num "z" chr.to.int$ >
       { "a" chr.to.int$ 'last.extra.num :=
         last.extra.num.extended #1 + 'last.extra.num.extended :=
       }
       'skip$
      if$
      last.extra.num.extended last.extra.num.blank >
        { last.extra.num.extended int.to.chr$
          last.extra.num int.to.chr$
          * 'extra.label := }
        { last.extra.num int.to.chr$ 'extra.label := }
      if$
    }
    { "a" chr.to.int$ 'last.extra.num :=
      "" 'extra.label :=
      label 'last.label :=
    }
  if$
  number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra "b" =
    { "a" 'extra.label := }
    'skip$
  if$
  extra.label 'next.extra :=
  extra.label
  duplicate$ empty$
    'skip$
    { "{\natexlab{" swap$ * "}}" * }
  if$
  'extra.label :=
  label extra.label * 'label :=
}
EXECUTE {initialize.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
  "    "
  *
  year field.or.null sortify
  *
  "    "
  *
  title field.or.null
  sort.format.title
  *
  #1 entry.max$ substring$
  'sort.key$ :=
}
ITERATE {bib.sort.order}
SORT
FUNCTION {begin.bib}
{ preamble$ empty$
    'skip$
    { preamble$ write$ newline$ }
  if$
  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
  write$ newline$
  "\providecommand{\natexlab}[1]{#1}"
  write$ newline$
  "\providecommand{\url}[1]{\texttt{#1}}"
  write$ newline$
  "\providecommand{\urlprefix}{URL }"
  write$ newline$
  "\providecommand{\eprint}[2][]{\url{#2}}"
  write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
  "\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `ptapap.bst'.
ptapap.cls · 17 KB
%% Class to render PTA paper
%% Please see the informations, terms and conditions at the end
%% of this file

\def \pta@Version     {1.0.9}
\def \pta@Date        {2025/11/16}

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ptapap}%
    [\pta@Date v\pta@Version\space Polish Astronomical Society]

\def \ptaTraceAll{\tracingall\tracingcommands=3\tracinglostchars=2\relax}

\RequirePackage{xparse}
\RequirePackage{trimspaces}
\RequirePackage{xstring}
\RequirePackage[T1]{fontenc}
\IfFileExists{lmodern.sty}{
  \RequirePackage{lmodern}
}{
  \RequirePackage{ae,aecompl}
}
\RequirePackage[utf8]{inputenc}
\RequirePackage{fancyhdr}
\RequirePackage{graphicx}
\RequirePackage{aas_macros}
% \RequirePackage{caption}

% aas_macros incorrectly defines \jnl@style as \let while \rm is not defined,
% we need to redefine it correctly
\def \jnl@style{\rmfamily}
%\RequirePackage{subfigure}

% private keywords are prefixed with \pta@

\def \pta@csdef {\expandafter \def \csname}
\def \pta@csedef{\expandafter \edef \csname}


%    ****************************************
%    *               OPTIONS                *
%    ****************************************

% Option values are now declared first thing.  Defaults are set to
% 10 point, onesided, draft (ie not draft) mode (BBF 10/31/94)
\DeclareOption{draft}{\renewcommand\@draftmark{1}}
\DeclareOption{final}{\renewcommand\@draftmark{0}}
\ProcessOptions*
\LoadClass[10pt]{article}
\RequirePackage{geometry}
% \geometry{b5paper,margin=2cm,includehead,includefoot}
\geometry{papersize={168mm,244mm},
  left=2cm, right=2cm, top=2cm, bottom=2cm}

\RequirePackage[authoryear]{natbib}
\renewcommand{\bibfont}{\small}
\setlength{\bibsep}{4pt plus 2pt minus 2pt}

% Auxiliary macros

%% The following macro expands to
%% "macro:->"
%% or whatever TeX prints as a prefix in expansion
%% of the |\meaning| macro
\expandafter \def
\expandafter \pta@GobbleMeaningPrefix 
             \meaning \empty
             {}


\def \pta@ProcessKeywords
    #1% #1 is the macro, it must a single token, not {tokens}
    % followed a sequence of characters ended by \relax\relax
    {\begingroup
      % #1 is applied to every keyword, i.e. anything separated by
      % a space or comma.
      \@tempcnta 0% outside {}
      \def \a{\futurelet \c \b}%
      \def \b{%
        \ifcase
           0%
           \if \c\space 1\fi
           \if ,\c      1\fi
           \if \c\relax 
               \ifnum\@tempcnta=1 1\else 2\fi\fi
           \relax
           \ifnum \@tempcnta=0%
               \aftergroup #1%
               \aftergroup {%
               \@tempcnta=1\fi
           \expandafter \A
        \or
           \ifnum \@tempcnta=1%
               \aftergroup }%
               \@tempcnta=0%
           \fi
           \expandafter \Z
        \or
           \expandafter \endgroup
        \fi
      }%
      \def \A##1{\aftergroup##1\a}%
      \def \Z{\afterassignment\a \let\c= }%
      \a
    }

% Parsing \author:
% The following forms are valid:

% \author{First Last}
% \author*{First Last}
% \author{First Last}[email@domain, http://url, AFFILKEYWORD AFFILKEYWORD2]
% \author[KEYWORDS]{First Last} is also ok
%
% the starred version of author indicates the corresponding
% author.
%
% If there is no corresponding author, the first author with an
% email is selected as corresponding. If there is no such one,
% the very first is selected as corresponding author

\newcount \NoOfAuthors
\NoOfAuthors=0
\newcount \NoOfAffiliations
\NoOfAffiliations=0
\def \CorrespondingAuthorNo{-100000}
\newif \ifpta@authoristeam \pta@authoristeamfalse

\DeclareDocumentCommand \author {s O{} m O{}}{
  \advance \NoOfAuthors 1
  \IfBooleanTF{#1}{%
    \ifnum \CorrespondingAuthorNo<0
      \edef \CorrespondingAuthorNo{\number \NoOfAuthors}
    \else
       \ClassError{ptapap}%
          {There must be only ONE corresponding author}%
          {Only one \string\author* is implemented}%
    \fi}{}%
  \begingroup
     \let \protect \@unexpandable@protect
     \edef \a{\endgroup
       \def \expandafter \noexpand \csname
         Author::\number\NoOfAuthors\endcsname
         {#3}%
       \def \expandafter \noexpand \csname
       Author::\number \NoOfAuthors::isTeam\endcsname
       {\ifpta@authoristeam 1\else 0\fi}%
     }%
  \a
  \begingroup
     \let \NoValue=\empty
     \edef \a{\endgroup\def \noexpand \tmpKeywords{#2 #4}}\a
  \pta@csedef AuthAffil::\number \NoOfAuthors\endcsname{}
  {\aftergroup \pta@ProcessKeywords
   \aftergroup \pta@SingleKeyword
   \let~\expandafter
  ~~~}~\pta@GobbleMeaningPrefix\meaning \tmpKeywords
  \relax \relax \relax
  \pta@authoristeamfalse
}
\def \team{\pta@authoristeamtrue\author}

\def \pta@EmailCS#1{%
  \ifnum #1=0
      \expandafter \pta@EmailCS \expandafter \NoOfAuthors
  \else
      Email::\number\numexpr #1\relax
  \fi}

\def \pta@undefAffil{\ClassError{ptapap}{Undefined affiliation}{}}

% Parse the keyword
% If it contains @, it's an email
% If it contains ://, it's an url
% Otherwise it's a keyword for affiliating institute.
\def \pta@SingleKeyword#1{%
  \IfSubStr{#1}{\string @}{%
    % This is an email, add it to list of emails
    \edef \next {\ifcsname \pta@EmailCS0\endcsname
      \csname \pta@EmailCS0\endcsname, \fi
      #1}
    \expandafter \let \csname \pta@EmailCS0\endcsname=\next
  }{%
    \IfSubStr{#1}{://}{%
      % This is an URL, set up a single url
      \ifcsname URL::\number \NoOfAuthors\endcsname
         \ClassError{ptapap}{Author's URL defined twice!}{}
      \else
         \pta@csedef URL::\number\NoOfAuthors\endcsname{#1}
      \fi
    }{%
      % Add affiliations
      %
      \pta@csedef AuthAffil::\number \NoOfAuthors\endcsname{%
          \csname AuthAffil::\number \NoOfAuthors\endcsname
        \pta@procAffil{#1}%
      }%
      \ifcsname Affil::#1::No\endcsname
      \else
          \advance \NoOfAffiliations 1
          \pta@csedef Affil::#1::No\endcsname{\number\NoOfAffiliations}%
          \pta@csedef Affil::\number\NoOfAffiliations::Id\endcsname {#1}%
      \fi
    }}}

\let \pta@procAffil=\relax



% Process the affiliation
% \affil[KEYWORD]{Definition}

\DeclareDocumentCommand \affil {o m}{\let\\=\relax
  \pta@csedef Affil::#1::Text\endcsname{#2}}


\renewcommand \maketitle {\par
  \vbox {\let \\=\break
    \raggedright
    \noindent \LARGE\bf
    \@title
    \setbox0=\hbox{Yy()\{\}}%
    \baselineskip=1.2\dimexpr\ht0+\dp0\relax\par
  }
  \kern 2\baselineskip
  \setbox \headtitlebox=\hbox{%
    \ifcsname @headtitle\endcsname
    \@headtitle
    \else
    \@title
    \fi}%
  \ifdim \wd \headtitlebox>0.9\hsize
      \ClassError{ptapap}{
        \ifcsname @headtitle\endcsname
          The title you provided in^^J \string\headtitle{...}^^Jis
          still too long. It must be fit into a single line.^^JIt's
          ok to provide a title in the abbreviated form,^^Jlike
          \string \headtitle{Pulsation of $\delta$ Scuti\dots}.
        \else
          The title as specified by \string\title{...} is too
          long^^Jand cannot be fit in the running head.^^JPlease
          provide the shorter version using^^J^^J \space\space\space\string
          \headtitle{abbreviated title}^^J^^Jto use in the head of article.
        \fi}{}
  \fi
  %
  %
  % Enumerate authors
  %
  \vbox{\noindent\strut\raggedright
    \count0=0
    \global\setbox\headauthorsbox=\hbox{\csname Author::1\endcsname}%
    \loop
        \advance \count0 1
        \count1=0
        \ifnum \count0>1
            \global\setbox \headauthorsbox=\hbox{%
              \unhbox \headauthorsbox
              , \csname Author::\number\count0\endcsname}%
        \fi
        \hbox{\csname Author::\number\count0\endcsname
          \def \pta@procAffil{\advance\count1 1\@gobble}%
          \csname AuthAffil::\number\count0\endcsname
          \count2=1
          \def \pta@procAffil####1{%
            \csname Affil::####1::No\endcsname
            \message{**>>1=\the\count1, 2=\the\count2 **}%
            \ifnum\count2=\count1\relax\else \cdot\fi
            \advance \count2 1
          }%
          $^{\csname AuthAffil::\number \count0\endcsname}$%
        }%
        \ifnum \count0<\NoOfAuthors
           \ifnum \count0<\numexpr \NoOfAuthors-1\relax
              ,
           \else
               \kern 0.2em\relax and~%
           \fi
        \fi
    \ifnum \count0<\NoOfAuthors
      \relax
    \repeat
    %
    \ifdim \wd\headauthorsbox>0.9\hsize
       \global\setbox\headauthorsbox=\hbox{%
          \csname Author::1\endcsname, et al.}%
    \fi
  }

  {\setbox0=\vbox{\ptapapAffiliationFont
      \kern\baselineskip
      \count0=0
      \loop
        \advance \count0 1
        \raggedright
        \noindent \parshape 1 2em \dimexpr \hsize-2em\relax
        \llap{\number\count0. }%
        \let\\=\break
        \csname Affil::%
        \csname Affil::\number\count0::Id\endcsname
        ::Text\endcsname\par
      \ifnum\count0<\NoOfAffiliations \repeat}
    \unvbox0}
  \bigskip
  \bigskip
}

\newbox \headtitlebox
\newbox \headauthorsbox

\newcommand \ptapapAffiliationFont{\fontsize{6pt}{8pt}%
  \sffamily
  \selectfont}

\newcommand \headtitle[1]{\gdef \@headtitle{#1}}

% Abstract
\renewenvironment{abstract}%
{\par\begingroup
  \leftskip=2em
  \rightskip=\leftskip
  \small
  \@afterindentfalse
  \@afterheading
}
{\par\endgroup\bigskip}

\def \ArticleFirstPage{51}


\def
\ptaFootFieldSeparator{\leavevmode\kern2pt\vrule\kern2pt\relax}

\def 
\ptaFootFieldSeparator{\leavevmode\kern2pt$\star$\kern2pt\relax}

% In the real paper this will be replaced by the concrete journal date and volume.
\edef \ptaJournalDate{\today}
\edef \ptaJournalVolume{vol.~123}
\def \next#1#2#3#4\relax{\lowercase{\edef \next{#1#2#3}}}%
\expandafter\next\ptaJournalDate\relax
\edef \ptaArticleURL{pta.edu.pl/proc/\the\year\next\the\day/123}
\edef \ptaJournalName{PTA Proceedings}

\def \ptaFooter{%
  \ifodd \thepage
    \small \ptaArticleURL\hfill
    \ptaJournalName
    \ptaFootFieldSeparator
    \ptaJournalDate
    \ptaFootFieldSeparator
    \ptaJournalVolume
    \ptaFootFieldSeparator
    \normalsize \thepage
  \else
    \thepage \small
    \ptaFootFieldSeparator
    \ptaJournalName
    \ptaFootFieldSeparator
    \ptaJournalDate
    \ptaFootFieldSeparator
    \ptaJournalVolume
    \hfill
    \ptaArticleURL\normalsize
  \fi
}

\def \ptaHeader{%
  ~\copy\ifodd \thepage
      \headtitlebox
  \else
      \headauthorsbox
  \fi~}

\fancypagestyle{firstpage}{
\fancyhf{}
\fancyfoot[C]{\ptaFooter} 
\renewcommand{\footrulewidth}{0.1pt}
\renewcommand{\headrulewidth}{0pt}
}

\fancypagestyle{regularpage}{
\fancyhf{}
\fancyfoot[C]{\ptaFooter} 
\fancyhead[C]{\ptaHeader} 
\renewcommand{\footrulewidth}{0.1pt}
\renewcommand{\headrulewidth}{0.1pt}
}
\pagestyle{regularpage}
\thispagestyle{firstpage}



% Sections and subsections

\long \def \section
{\@startsection
  {section}%
  {1}%
  {\z@}%
  {-\baselineskip}%
  {\baselineskip}%
  {\ptaStyleSection}%
}

\long \def \subsection
{\@startsection
  {subsection}%
  {2}%
  {\z@}%
  {-\baselineskip}%
  {\baselineskip}%
  {\ptaStyleSubSection}%
}


\def \ptaStyleSection{\noindent\textbf}
\def \ptaStyleSubSection{\textsl}

% VERY rough approximation of days since 1 Jan 2000
\def \pta@ApproxDays#1#2#3{\numexpr #1+
30*(#2+12*(#3-2000))\relax}


% Yes, call me crazy but, just for fun, I am implementing
% and EXPANDABLE Mouth-Of-TeX implementation of Julian Day
% The only reason to do that is getting the implementation 
% of «class is too obsolete» and it might be implemented in the
% easier way, but implementing it as Julian Day makes simply more
% fun.


% Auxiliary macro:
% This macro tries to reimplement \numexpr expr1/expr2 \relax the
% proper way. The original rounds the
% integer instead of truncating it. This one truncates.

\newcommand \truncdiv[2]{\expandafter 
     \truncdivA \expandafter {\number \numexpr
     #1/#2 \nextnumargument #1\nextnumargument #2\relax}}

% Instead of putting {\numexpr ...\relax}{\numexpr ...\relax}{...} 
% separate arguments with this macro. They will be all expanded,
% saving your stack.
% instead of {\numexpr ...\relax}{\numexpr ...\relax} put
% {\number\numexpr ... \nextnumargument ... \relax}
\newcommand \nextnumargument {%
     % make \def parser happy with proper {} balancing
     \iffalse{\fi
      \expandafter \relax
      \expandafter }%
      \expandafter {%
      \number \numexpr
      \iffalse}\fi}

\newcommand \truncdivA[3]{% #1 is result
     \numexpr \number \numexpr #1\ifnum \numexpr
     #1*#3\relax>#2-1\fi\relax\relax}

% 
% \JulianDay{YEAR}{MONTH}{DAY} (Gregorian Calendar)
% expands to a \numexpr and should be preceeded by \number
%
% The algorithm taken from:
% http://en.wikipedia.org/wiki/Julian_day#Converting_Julian_or_Gregorian_calendar_date_to_Julian_Day_Number
% or http://tinyurl.com/convert-gregorian-to-JD
\newcommand \JulianDay[3]{\numexpr
     \expandafter \JulianDayContA
     \expandafter {\number\numexpr
        #1\nextnumargument
        #2\nextnumargument
        #3\nextnumargument
        % parameter a=floor((14-month)/12): 1 for Jan,Feb, 0 otherwise
        \ifnum \numexpr #2\relax<3 1\else 0\fi\relax}\relax}

\newcommand \JulianDayContA[4]{\numexpr
     % #1 -- year
     % #2 -- month
     % #3 -- day
     % #4 -- 1 if Jan or Feb, 0 otherwise, called “a”
     \expandafter \JulianDayContB
     \expandafter {\number\numexpr
       #1\nextnumargument
       #2\nextnumargument
       #3\nextnumargument
       #4\nextnumargument
       % y = 4800+year-a
       4800+#1-#4\nextnumargument
       % m = month + 12a - 3
       #2+(12*#4)-3\relax}\relax}

\newcommand \JulianDayContB[6]{\numexpr
     % #1 -- year
     % #2 -- month
     % #3 -- day
     % #4 -- a, =1 for Jan or Feb, =0 otherwise
     % #5 -- y = 4800+year-a
     % #6 -- m = month + 12a - 3
     #3+\expandafter \truncdiv\expandafter{\number\numexpr 153*#6+2\relax}{5}+365*#5+%
     \truncdiv{#5}{4}-\truncdiv{#5}{100}+%
     \truncdiv{#5}{400}-32045\relax}

\newcommand \EditorsNote {\noindent \begingroup
    \def \next ##1/##2/##3\relax{\count0=\numexpr 
         \JulianDay{\year}{\month}{\day}-
         \JulianDay{##1}{##2}{##3}\relax
      \ifnum \count0> 3600
         \kern -2cm
         \vrule width 0.5cm~\textbf{The file ptapap.cls is
         \number\count0\relax~days old.} Get a new one:
         http://users.camk.edu.pl/chris/pta/ptapap.tar.gz~\vrule
         width 0.5cm
      \else 
       \strut \iffalse Submited on:\dots, Printed on:\dots (filled by the
         editor)\fi
      \fi}%
    \expandafter \next \pta@Date\relax\endgroup\par
}


\renewcommand{\figurename}{\small Fig.}

\def \acknowledgements #{\section*{}\vskip-2\baselineskip
\noindent \bgroup\bgroup \aftergroup \par\aftergroup \egroup
\small
{\it Acknowledgements.}\space
 \afterassignment \ignorespaces \let \bgroup=}

\let \acknowledgments = \acknowledgements


\InputIfFileExists{ptapap-local}{\relax
}%
{%
  \setcounter{page}{\ArticleFirstPage}
}


\let \oldfnum@table=\fnum@table
\let \oldfnum@figure=\fnum@figure
\def \fnum@table{\small \oldfnum@table}
\def \fnum@figure{\small \oldfnum@figure}
\renewcommand{\tablename}{Tab.}



\endinput


TERMS AND CONDITIONS:


Coding author: Krzysztof Leszczyński <[email protected]>

Copyright: Polish Astronomical Society – http://www.pta.edu.pl

BSD 3-clause license


Copyright (c) 2013, Polish Astronomical Society – http://www.pta.edu.pl
All rights reserved.

Redistribution and use in source and binary forms, with
or without modification, are permitted provided that the
following conditions are met:

1. Redistributions of source code must retain the above
   copyright notice, this list of conditions and the following
   disclaimer.

2. Redistributions in binary form must reproduce the above
   copyright notice, this list of conditions and the following
   disclaimer in the documentation and/or other materials
   provided with the distribution.

3. Neither the name of the Polish Astronomical Society nor the
   names of its contributors may be used to endorse or promote
   products derived from this software without specific prior
   written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

END OF TERMS AND CONDITIONS


Local Variables:
mode: latex
coding: utf-8
End:

The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗