Beijing Journal of Pure and Applied Mathematics (ipart)
International Press's ipart class with the BPAM layout (ipart-layout-bpam.sty), with VTeX's sample article and a blank topmatter template.
- Category
- Journal
- Document class
ipart(ipart.cls) — ships with TeX Live- Workflow
- Journal manuscript — submissions and revision rounds
- Author
- International Press of Boston
- Source
- International Press of Boston
- Licence
- No licence is stated in the files. International Press of Boston distributes them for authors preparing a submission.
These are the publisher’s own files. This project starts from International Press of Boston’s package for this publication — their manuscript, their ipart.cls, their bibliography style — so what compiles here is what they would have given you.
International Press of Boston serves this exact file to Beijing Journal of Pure and Applied Mathematics. Check International Press of Boston’s author pages for the current instructions.
Where this differs from the publisher’s download.
- Note: Start a new article from bpam-template.tex; the class option bpam selects the journal.
What you get
LICENSE· 19 KBbpam-sample.tex— the file that is compiled · 18 KBbpam-template.tex· 2 KBipart-layout-bpam.sty· 52 KBipart.cls· 8 KBplain.bst· 20 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
LICENSE — binary, 19 KB
bpam-sample.tex — the file that is compiled · 18 KB
%% It's a sample file!
%% Please use corressponding template
\documentclass[bpam]{ipart}
\RequirePackage{hyperref}
\startlocaldefs
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[section]
\def\SM#1#2{\sum_{#1\in #2}}
\def\FL#1{\left\lfloor #1 \right\rfloor}
\def\FR#1#2{{\frac{#1}{#2}}}
\endlocaldefs
%% Settings
\pubyear{2022}
\volume{0}
\issue{0}
\firstpage{1}
\lastpage{9}
\arxiv{0000.0000}
\begin{document}
\begin{frontmatter}
\title{Your paper}
\runtitle{A sample document}
\thankstext{T1}{Footnote to the title with the `thankstext' command.}
\begin{aug}
\author{\fnms{First} \snm{Author}\thanksref{t2}\ead[label=e1]{[email protected]}},
\address{Address of the First Author\\
Country\\
\printead{e1}}
\author{\fnms{Second} \snm{Author}\ead[label=e2]{[email protected]}},
\address{Address of the Second Author\\
Country\\
\printead{e2}}
\and
\author{\fnms{Third} \snm{Author}
\ead[label=e3]{[email protected]}%
\ead[label=u1,url]{http://www.foo.com}}
\address{Address of the Third Author\\
Country\\
\printead{e3}\\
\printead{u1}}
\thankstext{t2}{Footnote to the author with the `thankstext' command.}
\end{aug}
%
\received{\sday{3} \smonth{1} \syear{2022}}
\begin{abstract}
The abstract should summarize the contents of the paper.
It should be clear, descriptive, self-explanatory and not longer
than 200 words. It should also be suitable for publication in
abstracting services. Please avoid using math formulas as much as possible.
This is a sample input file. Comparing it with the output it
generates can show you how to produce a simple document of
your own.
\end{abstract}
\begin{keyword}[class=MSC]
\kwdgroup[type=primary]{\kwd{00K00}\kwd{00K01}}
\kwdgroup[type=secondary]{\kwd{00K02}}
\end{keyword}
%% Upper case for every keyword
\begin{keyword}
\kwd{Sample}
\kwd{\LaTeXe}
\end{keyword}
%\tableofcontents
\end{frontmatter}
\section{Ordinary text}
The ends of words and sentences are marked
by spaces. It doesn't matter how many
spaces you type; one is as good as 100. The
end of a line counts as a space.
One or more blank lines denote the end
of a paragraph.
Since any number of consecutive spaces are treated like a single
one, the formatting of the input file makes no difference to
\TeX,
but it makes a difference to you.
When you use
\LaTeX,
making your input file as easy to read as possible
will be a great help as you write your document and when you
change it. This sample file shows how you can add comments to
your own input file.
Because printing is different from typewriting, there are a
number of things that you have to do differently when preparing
an input file than if you were just typing the document directly.
Quotation marks like ``this''
have to be handled specially, as do quotes within quotes:
``\,`this' % \, separates the double and single quote.
is what I just
wrote, not `that'\,''.
Dashes come in three sizes: an
intra-word
dash, a medium dash for number ranges like
1--2,
and a punctuation
dash---like
this.
A sentence-ending space should be larger than the space between words
within a sentence. You sometimes have to type special commands in
conjunction with punctuation characters to get this right, as in the
following sentence.
Gnats, gnus, etc.\ % `\ ' makes an inter-word space.
all begin with G\@. % \@ marks end-of-sentence punctuation.
You should check the spaces after periods when reading your output to
make sure you haven't forgotten any special cases.
Generating an ellipsis
\ldots\ % `\ ' needed because TeX ignores spaces after
% command names like \ldots made from \ + letters.
%
% Note how a `%' character causes TeX to ignore the
% end of the input line, so these blank lines do not
% start a new paragraph.
with the right spacing around the periods
requires a special command.
\TeX\ interprets some common characters as commands, so you must type
special commands to generate them. These characters include the
following:
\& \% \# \{ and~\}.
In printing, text is emphasized by using an
{\em italic\/} % The \/ command produces the tiny extra space that
% should be added between a slanted and a following
% unslanted letter.
type style.
\begin{em}
A long segment of text can also be emphasized in this way. Text within
such a segment given additional emphasis
with\/ {\em Roman}
type. Italic type loses its ability to emphasize and become simply
distracting when used excessively.
\end{em}
It is sometimes necessary to prevent \TeX\ from breaking a line where
it might otherwise do so. This may be at a space, as between the
``Mr.'' and ``Jones'' in
``Mr.~Jones'', % ~ produces an unbreakable interword space.
or within a word---especially when the word is a symbol like
\mbox{\em itemnum\/}
that makes little sense when hyphenated across
lines.
\TeX\ is good at typesetting mathematical formulas like
\( x-3y = 7 \)
or
\( a_{1} > x^{2n} / y^{2n} > x' \).
Remember that a letter like
$x$ % $ ... $ and \( ... \) are equivalent
is a formula when it denotes a mathematical symbol, and should
be treated as one.
\begin{table*}
\tabcolsep=0pt
\caption{The spherical case ($I_1=0$, $I_2=0$)}\label{sphericcase}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}crrrrc}
\hline
Equil. Points & \multicolumn{1}{c}{$x$} & \multicolumn{1}{c}{$y$} & \multicolumn{1}{c}{$z$} & \multicolumn{1}{c}{$C$} &
S \\
\hline
$L_1$ & $-$2.485252241 & 0.000000000 & 0.017100631 & 8.230711648 & U \\
$L_2$ & 0.000000000 & 0.000000000 & 3.068883732 & 0.000000000 & S \\
$L_3$ & 0.009869059 & 0.000000000 & 4.756386544 & $-$0.000057922 & U \\
$L_4$ & 0.210589855 & 0.000000000 & $-$0.007021459 & 9.440510897 & U \\
$L_5$ & 0.455926604 & 0.000000000 & $-$0.212446624 & 7.586126667 & U \\
$L_6$ & 0.667031314 & 0.000000000 & 0.529879957 & 3.497660052 & U \\
$L_7$ & 2.164386674 & 0.000000000 & $-$0.169308438 & 6.866562449 & U \\
$L_8$ & 0.560414471 & 0.421735658 & $-$0.093667445 & 9.241525367 & U \\
$L_9$ & 0.560414471 & $-$0.421735658 & $-$0.093667445 & 9.241525367 & U\\
$L_{10}$ & 1.472523232 & 1.393484549 & $-$0.083801333 & 6.733436505 & U \\
$L_{11}$ & 1.472523232 & $-$1.393484549 & $-$0.083801333 & 6.733436505 & U
\\ \hline
\end{tabular*}
\end{table*}
\section{Notes}
Footnotes\footnote{This is an example of a footnote.}
pose no problem\footnote{And another one.}.
\section{Displayed text}
Text is displayed by indenting it from the left margin.
Quotations are commonly displayed. There are short quotations
\begin{quote}
This is a short a quotation. It consists of a
single paragraph of text. There is no paragraph
indentation.
\end{quote}
and longer ones.
\begin{quotation}
This is a longer quotation. It consists of two paragraphs
of text. The beginning of each paragraph is indicated
by an extra indentation.
This is the second paragraph of the quotation. It is just
as dull as the first paragraph.
\end{quotation}
Another frequently-displayed structure is a list.
The following is an example of an {\em itemized} list, four levels deep.
\begin{itemize}
\item This is the first item of an itemized list. Each item
in the list is marked with a ``tick''. The document
style determines what kind of tick mark is used.
\item This is the second item of the list. It contains another
list nested inside it. The three inner lists are an {\em itemized}
list.
\begin{itemize}
\item This is the first item of an enumerated list that
is nested within the itemized list.
\item This is the second item of the inner list. \LaTeX\
allows you to nest lists deeper than you really should.
\end{itemize}
This is the rest of the second item of the outer list. It
is no more interesting than any other part of the item.
\item This is the third item of the list.
\end{itemize}
The following is an example of an {\em enumerated} list, four levels deep.
\begin{enumerate}
\item This is the first item of an enumerated list. Each item
in the list is marked with a ``tick''. The document
style determines what kind of tick mark is used.
\item This is the second item of the list. It contains another
list nested inside it. The three inner lists are an {\em enumerated}
list.
\begin{enumerate}
\item This is the first item of an enumerated list that
is nested within the enumerated list.
\item This is the second item of the inner list. \LaTeX\
allows you to nest lists deeper than you really should.
\end{enumerate}
This is the rest of the second item of the outer list. It
is no more interesting than any other part of the item.
\item This is the third item of the list.
\end{enumerate}
The following is an example of a {\em description} list.
\begin{description}
\item[Cow] Highly intelligent animal that can produce milk out of grass.
\item[Horse] Less intelligent animal renowned for its legs.
\item[Human being] Not so intelligent animal that thinks that it can think.
\end{description}
You can even display poetry.
\begin{verse}
There is an environment for verse \\ % The \\ command separates lines
Whose features some poets will curse. % within a stanza.
% One or more blank lines separate stanzas.
For instead of making\\
Them do {\em all\/} line breaking, \\
It allows them to put too many words on a line when they'd
rather be forced to be terse.
\end{verse}
Mathematical formulas may also be displayed. A displayed formula is
one-line long; multiline formulas require special formatting
instructions
\[ x' + y^{2} = z_{i}^{2}.\]
Don't start a paragraph with a displayed equation, nor make
one a paragraph by itself.
Example of a theorem:
\begin{thm}
All conjectures are interesting, but some conjectures are more
interesting than others.
\end{thm}
\begin{proof}
Obvious.
\end{proof}
\section{Tables and figures}
Cross references to labelled tables you can see in Table~\ref{sphericcase}
and also in Table~\ref{parset}.
A major
point of difference lies in the value of the specific production rate $\pi$ for
large values of the specific growth rate $\mu$.
Already in the early publications \cite{r1,r2,r3}
it appeared that high glucose
concentrations in the production phase are well correlated with a
low penicillin yield (the
`glucose effect'). It has been confirmed recently
\cite{r1,r2,r3,r4}
that
high glucose concentrations inhibit the synthesis of the enzymes of the
penicillin pathway, but not the actual penicillin biosynthesis.
In other words, glucose represses (and not inhibits) the penicillin
biosynthesis.
These findings do not contradict the results of
\cite{r5} and of \cite{r6} which were obtained for
continuous culture fermentations.
Because for high values of the specific
growth rate $\mu$ it is most likely (as shall be discussed below) that
maintenance metabolism occurs, it can be shown that
in steady state continuous culture conditions, and with $\mu$ described by a Monod kinetics
\begin{equation}
C_{s} = K_{M} \frac{\mu/\mu_{x}}{1-\mu/\mu_{x}} \label{cs}
\end{equation}
Pirt and Rhigelato determined $\pi$ for $\mu$ between
$0.023$ and $0.086$ h$^{-1}$.
They also reported a value $\mu_{x} \approx 0.095$
h$^{-1}$, so that for their experiments $\mu/\mu_{x}$ is in the range
of $0.24$ to $0.9$.
Substituting $K _M$ in Eq. (\ref{cs}) by
the value $K_{M}=1$ g/L as used by \cite{r1}, one finds
with the above equation $0.3 < C_{s} < 9$ g/L. This agrees well with
the work of \cite{r7}, who reported that penicillin biosynthesis
repression only occurs at glucose concentrations from $C_{s}=10$ g/L on.
The conclusion is that the glucose concentrations in the experiments of
Pirt and Rhigelato probably were too low for glucose repression to be
detected. The experimental data published by Ryu and Hospodka
are not detailed sufficiently to permit a similar analysis.
\begin{table}
\centering
\caption{Parameter sets used by Bajpai and Reu\ss are not detailed sufficiently to permit a similar analysis}
\label{parset}
\begin{tabular}{lrll}
\hline
\multicolumn{2}{@{}l}{Parameter} & Set 1 & Set 2\\
\hline
$\mu_{x}$ & [h$^{-1}$] & 0.092 & 0.11 \\
$K_{x}$ & [g/g DM] & 0.15 & 0.006 \\
$\mu_{p}$ & [g/g DM h] & 0.005 & 0.004 \\
$K_{p}$ & [g/L] & 0.0002 & 0.0001 \\
$K_{i}$ & [g/L] & 0.1 & 0.1 \\
$Y_{x/s}$ & [g DM/g] & 0.45 & 0.47 \\
$Y_{p/s}$ & [g/g] & 0.9 & 1.2 \\
$k_{h}$ & [h$^{-1}$] & 0.04 & 0.01 \\
$m_{s}$ & [g/g DM h] & 0.014 & 0.029 \\
\hline
\end{tabular}
\end{table}
Bajpai and Reu\ss\ decided to disregard the
differences between time constants for the two regulation mechanisms
(glucose repression or inhibition) because of the
relatively very long fermentation times, and therefore proposed a Haldane
expression for $\pi$.
It is interesting that simulations with the \cite{r4} model for the
initial conditions given by these authors indicate that, when the
remaining substrate is fed at a constant rate, a considerable and
unrealistic amount of penicillin is
produced when the glucose concentration is still very high \cite{r2,r3,r4}.
Simulations with the Bajpai and Reu\ss\ model correctly predict almost
no penicillin production in similar conditions.
\begin{figure}
\centering
\fbox{\makebox[5cm][c]{Picture}\rule[-1.5cm]{0pt}{3cm}}
%\includegraphics{}
\caption{Pathway of the penicillin G biosynthesis.}\label{penG}
\end{figure}
Sample of cross-reference to figure.
Figure~\ref{penG} shows that is not easy to get something on paper.
\section{Headings}
\subsection{Subsection}
Carr-Goldstein based their model on balancing methods and
biochemical know\-ledge. The original model (1980) contained an equation for the
oxygen dynamics which has been omitted in a second paper
(1981). This simplified model shall be discussed here.
\subsubsection{Subsubsection}
Carr-Goldstein
based their model on balancing\break methods and
biochemical know\-ledge. The original model (1980) contained an equation for the
oxygen dynamics which has been omitted in a second paper
(1981). This simplified model shall be discussed here.
\section{Equations and the like}
Two equations:
\begin{equation}
C_{s} = K_{M} \frac{\mu/\mu_{x}}{1-\mu/\mu_{x}} \label{ccs}
\end{equation}
and
\begin{equation}
G = \frac{P_{\rm opt} - P_{\rm ref}}{P_{\rm ref}} \mbox{\ }100 \mbox{\ }(\%).
\end{equation}
Two equation arrays:
\begin{align}
\frac{dS}{dt} & = - \sigma X + s_{F} F\\
\frac{dX}{dt} & = \mu X\\
\frac{dP}{dt} & = \pi X - k_{h} P\\
\frac{dV}{dt} & = F
\end{align}
and
\begin{align}
\mu_{\rm substr} & = \mu_{x} \frac{C_{s}}{K_{x}C_{x}+C_{s}} \\
\mu & = \mu_{\rm substr} - Y_{x/s}(1-H(C_{s}))(m_{s}+\pi /Y_{p/s}) \\
\sigma & = \mu_{\rm substr}/Y_{x/s}+ H(C_{s}) (m_{s}+ \pi /Y_{p/s})
\end{align}
Long equation:
\begin{align}
\SM u{C^+}\FL{\FR{w'(u)}m}&\le \FL{\SM u{C^+} \FR{w'(u)}m}\nonumber\\ &\le
\FL{\FR{r(v)+\SM u{C^+} w(u)}m} = \FL{\FR{w(v)-\SM u{C^-} w(u)}m}\nonumber\\
&\le \FL{\FR{w(v)}m}-\SM u{C^-}\FL{\FR{w(u)}m}
= s(v)+\SM u{C^+}\FL{\FR{w(u)}m}
\end{align}
and
\begin{align}
\SM u{C^-}\FL{\FR{w(u)}m}&\le \FL{\SM u{C^-} \FR{w(u)}m}\nonumber\\ & \le
\FL{\FR{r'(v)+\SM u{C^-} w'(u)}m} = \FL{\FR{w'(v)-\SM u{C^+} w'(u)}m}\nonumber\\
&\le \FL{\FR{w'(v)}m}-\SM u{C^+}\FL{\FR{w'(u)}m}
= s'(v)+\SM u{C^-}\FL{\FR{w'(u)}m}.
\end{align}
This time we have
\begin{align*}
f(S)-f(T) = {} & D_k^T(1+C_{\geq k+1}^T)(1 + C) + C_k^T(1+D_{\geq k+1}^T)(1 + D) \\
{} & - C_k^T(1+C_{\geq k+1}^T)(1 + C) - D_k^T(1+D_{\geq k+1}^T)(1 + D) \\
= {} & (D_k^T-C_k^T)[(1+C_{\geq k+1})(1+C)-(1+D_{\geq
k+1}^T)(1+D)]>0.
\end{align*}
\appendix
\section{Appendix section}\label{app}
We consider a sequence of queueing systems
indexed by $n$. It is assumed that each system
is composed of $J$ stations, indexed by $1$
through $J$, and $K$ customer classes, indexed
by $1$ through $K$. Each customer class
has a fixed route through the network of
stations. Customers in class
$k$, $k=1,\ldots,K$, arrive to the
system according to a
renewal process, independently of the arrivals
of the other customer classes. These customers
move through the network, never visiting a station
more than once, until they eventually exit
the system.
\subsection{Appendix subsection}
However, different customer classes may visit
stations in different orders; the system
is not necessarily ``feed-forward.''
We define the {\em path of class $k$ customers} in
as the sequence of servers
they encounter along their way through the network
and denote it by
\begin{equation}
\mathcal{P}=\bigl(j_{k,1},j_{k,2},\dots,j_{k,m(k)}\bigr). \label{path}
\end{equation}
Sample of cross-reference to the formula \ref{path} in Appendix~\ref{app}.
\section*{Acknowledgements}
And this is an acknowledgements section with a heading that was produced by the
\verb|\section*| command. Thank you all for helping me writing this
\LaTeX\ sample file.
\begin{thebibliography}{9}
\bibitem{r1} C. A. Athanasiadis, On a refinement of the generalized
Catalan numbers for Weyl groups, \textit{Trans. AMS} \textbf{357} (2005), 179--196.
\MR{2098091}
\bibitem{r2} D. Bessis, The dual braid monoid,
\textit{Ann. Sci. \'Ecole Norm. Sup.} S\'er. IV \textbf{36} (2003), 647--683.
\MR{2032983}
\bibitem{r3} N. Bourbaki,
{Groupes et alg\`ebres de Lie}, Chapitres 4, 5 et 6, Hermann,
Paris, 1975.
\MR{0453824}
\bibitem{r4} P. Cellini and P. Papi,
Ad-nilpotent ideals of a Borel subalgebra, \textit{J.~Algebra} \textbf{225} (2000), 130--141.
\MR{1743654}
\bibitem{r5} P. Cellini and P. Papi,
Ad-nilpotent ideals of a Borel subalgebra II, \textit{J.~Algebra} \textbf{258} (2002), 112--121.
\MR{1958899}
\bibitem{r6}
R. P. Dilworth, Proof of a conjecture on finite modular
lattices,
\textit{Annals Math.} \textbf{60} (1954), 359--364.
\MR{0063348}
\bibitem{r7}
J. E. Humphreys, {Reflection Groups and Coxeter Groups},
Cambridge Univ. Press, 1992.
\MR{1066460}
\end{thebibliography}
\end{document}
bpam-template.tex · 2 KB
%% Template for the submission to:
%% Beijing Journal of Pure and Applied Mathematics [bpam]
%%
%% Author: In this template, the places where you need to add information
%% (or delete line) are indicated by {???}. Mostly the information
%% required is obvious, but some explanations are given in lines starting
%% Author:
%% All other lines should be ignored. After editing, there should be
%% no instances of ??? after this line.
%% Journal options: bpam
%% Bibliography options: authoryear,nonatbib
%% Numbering options: seceqn
\documentclass[bpam]{ipart}
%\RequirePackage{hyperref}
\startlocaldefs
%% Put your definitions here
\endlocaldefs
%% Will be filled by editor:
\pubyear{2022}
\volume{0}
\issue{0}
\firstpage{1}
\lastpage{1}
%\arxiv{}
\begin{document}
\begin{frontmatter}
%% "Title of the Paper"
\title{???\protect\thanksref{T1}}
\thankstext{T1}{???}
\begin{aug}
%% \author{\fnms{John} \snm{Smith}\thanksref{t2}\ead[label=e1]{[email protected]}\ead[label=e2,url]{www.foo.com}}
%% \thankstext{t2}{The author is supported by ...}
%% \address{line 1\\ line 2\\ \printead{e1}\\\printead{e2}}
\author{\fnms{???} \snm{???}\ead[label=e1]{???}}
\address{???\\\printead{e1}}
%\author{\fnms{???} \snm{???}\thanksref{t2}\ead[label=e2]{???}}
%\address{???\\\printead{e2}}
%\and
%\author{\fnms{???} \snm{???}%
% \ead[label=e3]{???}%
% \ead[label=u1,url]{???}}
%\address{???\\\printead{e3}\\\printead{u1}}
%\thankstext{t2}{The author is supported by ...}
\end{aug}
%% History:
%\received{\sday{3} \smonth{1} \syear{2022}}
%\begin{abstract}
%\end{abstract}
%\begin{keyword}[class=MSC]
%\kwdgroup[type=primary]{\kwd{}\kwd{}}
%\kwdgroup[type=secondary]{\kwd{}}
%\end{keyword}
%% Upper case for every keyword
%\begin{keyword}
%\kwd{}
%\kwd{}
%\end{keyword}
%\tableofcontents
\end{frontmatter}
%% The body
%% The bibliography
%\begin{thebibliography}{9}
%% Use \bibitem{r1} or \bibitem[Surname(2010)]{r1} (for authoryear case)
%
%\bibitem{}
%
%\end{thebibliography}
\end{document}
ipart-layout-bpam.sty · 52 KB
52 KB — too long to show here. It arrives with the project.
ipart.cls · 8 KB
%%
%% This is file `ipart.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% ipart.dtx (with options: `class')
%%
%% Copyright (C) 2020 by L. Tolen\.{e}, VTEX UAB
%% Mokslininku 2a, LT-08412 Vilnius, Lithuania
%% --------------------------------------------------------------------------
%%
%% PURPOSE: The International Press journals style class.
%% SOURCE: The initial source code was ipart.cls and imsart.sty.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ipart}
[2024/10/17 v2.7, driver class for INTLPRESS journals]
%% DEPENDENCIES:
%% - article.cls
%% - ipart-layout-bpam.sty
%% - ipart-layout-cjjs.sty
%% - ipart-layout-main.sty
%% - ipart-layout-pamq.sty
%% - ipart-layout-sii.sty
%% - ipart-vtex.sty
%% - ipart-vtex-bpam.sty
%% - ipart-vtex-cjjs.sty
%% - ipart-vtex-pamq.sty
%% - ipart-vtex-sii.sty
%%
%% CLASS FILE CONTENT:
%% > OPTIONS
%% - GENERAL
%% - JOURNAL
%% < OPTIONS
%% - MAIN SETUP
%% - VTeX SETUP
%%
%% >>>>>>> OPTIONS >>>>>>>
%%
%%
%% ======= GENERAL =======
%%
%% Load natbib with correct settings
\newif\if@load@natbib@\@load@natbib@true
\DeclareOption{nonatbib}{\@load@natbib@false}
\newif\if@numbered@bibl\@numbered@bibltrue
\DeclareOption{authoryear}{\@numbered@biblfalse}
%% When hyperref is loaded, makes a hyperlink
%% only from year component of the cite command
\newif\if@linksfromyear\@linksfromyearfalse
\DeclareOption{linksfromyear}{\@linksfromyeartrue}
%% Put "." after inline section headings
\newif\if@autosecdot
\DeclareOption{autosecdot}{\@autosecdottrue}
\DeclareOption{noautosecdot}{\AtBeginDocument{\@autosecdotfalse}}
\DeclareOption{seceqn}{\AtBeginDocument{\numberwithin{equation}{section}}}
%% Spacing
\def\singlespacing{\renewcommand{\baselinestretch}{}\large\normalsize}
\def\doublespacing{\renewcommand{\baselinestretch}{1.6}\large\normalsize}
\DeclareOption{doublespacing}{\doublespacing}
\DeclareOption{singlespacing}{\singlespacing}
%%
%% ======= JOURNAL =======
%%
\def\main@layout@id{0}
\def\pamq@layout@id{1}
\def\sii@layout@id{2}
\def\jbr@layout@id{3}
\def\bpam@layout@id{4}
\def\cjjs@layout@id{5}
\let\selected@layout\main@layout@id
\def\journal@id{}
\def\journal@name{}
\def\journal@issn{}
\def\journal@url{}
\def\ip@journal@url#1{%
https://www.intlpress.com/site/pub/pages/journals/items/#1/_home/_main/index.php%
}
\def\@publisher{International Press, Inc.}
\def\@publisheraddress{387 Somerville Avenue, Somerville, MA 02143, U.S.A.}
\DeclareOption{joc}{%
\PassOptionsToClass{11pt}{article}%
\def\journal@id{-joc}%
\def\journal@name{Journal of Combinatorics}%
\def\journal@issn{ISSN: 2156-3527}%
\def\journal@eissn{ISSN: 2150-959X}%
\def\journal@url{\ip@journal@url{joc}}%
\AtBeginDocument{%
\def\bauthor@style{\rm}%
}%
}
\DeclareOption{cntp}{%
\PassOptionsToClass{11pt}{article}%
\def\journal@id{-cntp}%
\def\journal@name{Communications in \break Number Theory and Physics}%
\def\journal@issn{ISSN: 1931-4523}%
\def\journal@eissn{ISSN: 1931-4531}%
\def\journal@url{\ip@journal@url{cntp}}%
\AtBeginDocument{%
%% Ensuring that journal title will be placed in two lines
\AfterPackage{hyperref}{\hypersetup{breaklinks=True}}%
\def\title@style{\bfseries}%
\def\history@postfix{}%
\def\revised@prefix{\\Revised~}%
\def\accepted@prefix{\\Accepted~}%
}%
}
\DeclareOption{gic}{%
\PassOptionsToClass{11pt}{article}%
\def\journal@id{-gic}%
\def\journal@name{Geometry, Imaging and Computing}%
\def\journal@issn{ISSN: 2328-8876}%
\def\journal@eissn{ISSN: 2328-8884}%
\def\journal@url{\ip@journal@url{gic}}%
}
\DeclareOption{mcgd}{%
\PassOptionsToClass{11pt}{article}%
\def\journal@id{-mcgd}%
\def\journal@name{Mathematics, Computation and Geometry of Data}%
\def\journal@issn{ISSN: 2642-1909}%
\def\journal@eissn{ISSN: 2642-1917}%
\def\journal@url{\ip@journal@url{mcgd}}%
}
\DeclareOption{cjm}{%
\PassOptionsToClass{11pt}{article}%
\def\journal@id{-cjm}%
\def\journal@name{Cambridge Journal of Mathematics}%
\def\journal@issn{ISSN: 2168-0930}%
\def\journal@eissn{ISSN: 2168-0949}%
\def\journal@url{\ip@journal@url{cjm}}%
\AtBeginDocument{%
\def\bauthor@style{\rm}%
\def\beditor@style{\rm}%
}%
\@autosecdottrue
}
\DeclareOption{bpam}{%
\PassOptionsToClass{11pt}{article}%
\def\@JID{BPAM}%
\def\journal@id{-bpam}%
\def\journal@name{Beijing J. of Pure and Appl. Math.}%
\def\journal@issn{ISSN: 2994-8444}%
\def\journal@eissn{ISSN: 2994-8452}%
\def\journal@url{\ip@journal@url{bpam}}%
\AtBeginDocument{%
\def\bauthor@style{\rm}%
\def\beditor@style{\rm}%
}%
\@autosecdottrue
\global\let\selected@layout\bpam@layout@id
}
\DeclareOption{amsa}{%
\PassOptionsToClass{11pt}{article}%
\def\journal@id{-amsa}%
\def\journal@name{Annals of Mathematical Sciences and Applications}%
\def\journal@issn{ISSN: 2380-288X}%
\def\journal@eissn{ISSN: 2380-2898}%
\def\journal@url{\ip@journal@url{amsa}}%
\AtBeginDocument{%
\def\bauthor@style{\rm}%
\def\beditor@style{\rm}%
}%
\@autosecdottrue
}
\DeclareOption{cis}{%
\PassOptionsToClass{11pt}{article}%
\def\journal@id{-cis}%
\def\journal@name{Communications in Information and Systems}%
\def\journal@issn{ISSN: 1526-7555}%
\def\journal@eissn{ISSN: 2163-4548}%
\def\journal@url{\ip@journal@url{cis}}%
\AtBeginDocument{%
\def\bauthor@style{\rm}%
\def\beditor@style{\rm}%
}%
}
\DeclareOption{pamq}{%
\PassOptionsToClass{11pt}{article}%
\def\@JID{PAMQ}%
\def\journal@id{-pamq}%
\def\journal@name{Pure and Applied Mathematics Quarterly}%
\def\journal@issn{ISSN: 1558-8599}%
\def\journal@eissn{ISSN: 1558-8602}%
\def\journal@url{\ip@journal@url{pamq}}%
\AtBeginDocument{%
\def\oauthor@style{\sc}%
}%
\global\let\selected@layout\pamq@layout@id
}
\DeclareOption{sii}{%
\PassOptionsToClass{10pt,twocolumn}{article}%
\def\journal@id{-sii}%
\def\journal@name{Statistics and Its Interface}%
\def\journal@issn{ISSN: 1938-7989}%
\def\journal@eissn{ISSN: 1938-7997}%
\def\journal@url{\ip@journal@url{sii}}%
\AtBeginDocument{%
\def\bauthor@style{\sc}%
}%
\global\let\selected@layout\sii@layout@id
}
\DeclareOption{jbr}{%
\PassOptionsToClass{10pt,twocolumn}{article}%
\def\journal@id{-jbr}%
\def\journal@name{Journal of Blockchain Research}%
\def\journal@issn{ISSN: 2643-5748}%
\def\journal@eissn{ISSN: 2643-5756}%
\def\journal@url{\ip@journal@url{jbr}}%
\AtBeginDocument{%
\def\bauthor@style{\sc}%
}%
\global\let\selected@layout\jbr@layout@id
}
\DeclareOption{cjjs}{%
\PassOptionsToClass{11pt}{article}%
\def\@JID{CJJS}%
\def\journal@id{-cjjs}%
\def\journal@name{Cambridge Journal for Junior Scientists}%
\def\journal@issn{ISSN: 2998-1433}%
\def\journal@eissn{ISSN: 2998-1441}%
\def\journal@url{\ip@journal@url{cjjs}}%
\AtBeginDocument{%
\def\bauthor@style{\rm}%
\def\beditor@style{\rm}%
}%
\@autosecdottrue
\global\let\selected@layout\cjjs@layout@id
}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions*
%%
%% <<<<<<< OPTIONS <<<<<<<
%%
%%
%% ======= MAIN SETUP =======
%%
\PassOptionsToClass{twoside,leqno}{article}
\LoadClass{article}
%% Load additional macros and modifications for "article.cls"
\ifcase\selected@layout % 0 - main layout
\RequirePackage{ipart-layout-main}
\or % 1 - pamq layout
\RequirePackage{ipart-layout-pamq}
\or % 2 - sii layout
\RequirePackage{ipart-layout-sii}
\or % 3 - jbr layout
\RequirePackage{ipart-layout-jbr}
\or % 4 - bpam layout
\RequirePackage{ipart-layout-bpam}
\or % 5 - cjjs layout
\RequirePackage{ipart-layout-cjjs}
\fi
%%
%% ======= VTeX SETUP =======
%%
\AtEndOfPackage{%
\IfFileExists{ipart-vtex\[email protected]}%
{\RequirePackage{ipart-vtex\journal@id}}%
{\IfFileExists{ipart-vtex.sty}{\RequirePackage{ipart-vtex}}{}}%
\if@load@natbib@
\@ifundefined{load@natbib}{}{\load@natbib}%
\fi
}
\ifdefined\HCode
\let\noxml\@gobble
\else
\let\noxml\@firstofone
\fi
\endinput
%%
%% End of file `ipart.cls'.
plain.bst · 20 KB
% BibTeX standard bibliography style `plain'
% Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.
% Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
% Unlimited copying and redistribution of this file are permitted as long as
% it is unmodified. Modifications (and redistribution of modified versions)
% are also permitted, but only if the resulting file is renamed to something
% besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
% This restriction helps ensure that all standard styles are identical.
% The file btxbst.doc has the documentation for this style.
ENTRY
{ address
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
volume
year
}
{}
{ label }
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 {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {fin.entry}
{ add.period$
write$
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 {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "{\em " swap$ * "}" * }
if$
}
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{ editor format.names
editor num.names$ #1 >
{ ", editors" * }
{ ", editor" * }
if$
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title "t" change.case$ }
if$
}
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 {format.date}
{ year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
month
}
if$
}
{ month empty$
'year
{ month " " * year * }
if$
}
if$
}
FUNCTION {format.btitle}
{ title emphasize
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ "volume" volume tie.or.space.connect
series empty$
'skip$
{ " of " * series emphasize * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ output.state mid.sentence =
{ "number" }
{ "Number" }
if$
number tie.or.space.connect
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ " in " * series * }
if$
}
if$
}
{ "" }
if$
}
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
{ edition "l" change.case$ " edition" * }
{ edition "t" change.case$ " edition" * }
if$
}
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 empty$
{ "" }
{ pages multi.page.check
{ "pages" pages n.dashify tie.or.space.connect }
{ "page" pages tie.or.space.connect }
if$
}
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
number empty$
'skip$
{ "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ ":" * pages n.dashify * }
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ "chapter" }
{ type "l" change.case$ }
if$
chapter tie.or.space.connect
pages empty$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
{ "In " booktitle emphasize * }
{ "In " format.editors * ", " * booktitle emphasize * }
if$
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
key empty$ not and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type empty$
'skip$
{ pop$
type "t" change.case$
}
if$
}
FUNCTION {format.tr.number}
{ type empty$
{ "Technical Report" }
'type
if$
number empty$
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ "In {\em " journal * "\/}" * }
if$
}
{ "In " key * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
editor num.names$ duplicate$
#2 >
{ pop$ " et~al." * }
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ " et~al." * }
{ " and " * editor #2 "{vv~}{ll}" format.name$ * }
if$
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
"In "
}
{ "Volume" volume tie.or.space.connect
" of " *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ "{\em " * series * "\/}" * }
if$
}
{ key * }
if$
}
{ format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ "In {\em " booktitle * "\/}" * }
if$
}
{ "In " key * }
if$
}
{ "In " format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
format.vol.num.pages output
format.date "year" output.check
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.block
format.number.series output
new.sentence
publisher "publisher" output.check
address output
}
{ new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
address output
format.date output
new.block
note output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.block
format.number.series output
new.sentence
publisher "publisher" output.check
address output
}
{ format.chapter.pages "chapter and pages" output.check
new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.chapter.pages output
new.sentence
publisher "publisher" output.check
address output
format.edition output
format.date "year" output.check
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.pages output
address empty$
{ organization publisher new.sentence.checkb
organization output
publisher output
format.date "year" output.check
}
{ address output.nonnull
format.date "year" output.check
new.sentence
organization output
publisher output
}
if$
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization empty$
'skip$
{ organization output.nonnull
address output
}
if$
}
{ format.authors output.nonnull }
if$
new.block
format.btitle "title" output.check
author empty$
{ organization empty$
{ address new.block.checka
address output
}
'skip$
if$
}
{ organization address new.block.checkb
organization output
address output
}
if$
format.edition output
format.date output
new.block
note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
title howpublished new.block.checkb
format.title output
howpublished new.block.checka
howpublished output
format.date output
new.block
note output
fin.entry
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
new.block
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ organization output }
{ format.editors output.nonnull }
if$
new.block
format.btitle "title" output.check
format.bvolume output
format.number.series output
address empty$
{ editor empty$
{ publisher new.sentence.checka }
{ organization publisher new.sentence.checkb
organization output
}
if$
publisher output
format.date "year" output.check
}
{ address output.nonnull
format.date "year" output.check
new.sentence
editor empty$
'skip$
{ organization output }
if$
publisher output
}
if$
new.block
note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
format.tr.number output.nonnull
institution "institution" output.check
address output
format.date "year" output.check
new.block
note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
note "note" output.check
format.date output
fin.entry
}
FUNCTION {default.type} { misc }
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 Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetcad}
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {tocs} {"ACM Transactions on Computer Systems"}
MACRO {tods} {"ACM Transactions on Database Systems"}
MACRO {tog} {"ACM Transactions on Graphics"}
MACRO {toms} {"ACM Transactions on Mathematical Software"}
MACRO {toois} {"ACM Transactions on Office Information Systems"}
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
MACRO {tcs} {"Theoretical Computer Science"}
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 {sort.format.names}
{ 's :=
#1 'nameptr :=
""
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ nameptr #1 >
{ " " * }
'skip$
if$
s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
nameptr numnames = t "others" = and
{ "et al" * }
{ 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 {author.organization.sort}
{ author empty$
{ organization empty$
{ key empty$
{ "to sort, need author, organization, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ "The " #4 organization chop.word sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {editor.organization.sort}
{ editor empty$
{ organization empty$
{ key empty$
{ "to sort, need editor, organization, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ "The " #4 organization chop.word sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.sort
{ type$ "proceedings" =
'editor.organization.sort
{ type$ "manual" =
'author.organization.sort
'author.sort
if$
}
if$
}
if$
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" longest.label * "}" * write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗