summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tugboat/tugboat.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tugboat/tugboat.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tugboat/tugboat.dtx73
1 files changed, 46 insertions, 27 deletions
diff --git a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx
index 8dff9585db9..176107a4d91 100644
--- a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx
+++ b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx
@@ -1,5 +1,5 @@
% \iffalse (this is a meta-comment (so they say))
-% $Id: tugboat.dtx 205 2018-09-06 17:28:53Z karl $
+% $Id: tugboat.dtx 217 2018-12-14 18:48:06Z karl $
% tugboat.dtx - main source for LaTeX TUGboat classes.
%
% Copyright 1994-2018 TeX Users Group.
@@ -28,7 +28,7 @@
%<ltugboatsty>\ProvidesPackage{ltugboat}
%<ltugprocsty>\ProvidesPackage{ltugproc}
%<ltugcomn> \ProvidesPackage{ltugcomn}
- [2018-09-06 v2.20
+ [2018-12-14 v2.21
%<ltugboatcls> TUGboat journal class%
%<ltugproccls> TUG conference proceedings class%
%<ltugboatsty|ltugprocsty> TUG compatibility package%
@@ -233,6 +233,7 @@
% |\ifPrelimDraft|& flag to indicate status as preliminary draft\\
% |\rtitlex|& \TUB{} volume and number info for running head\\
% |\midrtitle|& information for center of running head\\
+% |\rtitlenexttopage|& next to page number in running head\\
% |\HorzR@gisterRule|& pieces of registration marks (`trimmarks')\\
% |\DownShortR@gisterRule|&\\
% |\UpShortR@gisterRule|&\\
@@ -364,7 +365,12 @@
\AtEndOfClass{%
\let\thepage=\tuborigthepage
\NoBlackBoxes
- \PrelimDraftfalse
+ % Insert draft date into the header even with [final], if we are not
+ % doing a production run. (tugboat.dates sets up page numbers
+ % above 900 in such pseudo-draft mode.) We use [final] in the first
+ % place for this case because draft can change page layout, wrt
+ % registration marks, etc.
+ \ifnum\value{page}>900 \PrelimDrafttrue \else \PrelimDraftfalse \fi
\@tubrunningfull
}%
}
@@ -821,7 +827,7 @@
\expandafter\ifx\csname XeTeXrevision\endcsname\relax
\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh}% non-XeTeX
\else
-\def\Thanh{H\`an~Th\textcircumacute{e}~Th\`anh}% xunicode drops the acute else
+\def\Thanh{H\`an~Th\textcircumacute{e}~Th\`anh}% else xunicode drops the acute
\fi
\def\TikZ{Ti{\em k}Z}
\def\ttn{\textsl{TTN}\@}
@@ -1020,7 +1026,8 @@
\def\now{\number\hours:\ifnum\minutes<10 0\fi\number\minutes}
\def\Now{\today\ \now}
\newif\ifPrelimDraft
-\def\midrtitle{\ifPrelimDraft {\textsl{preliminary draft, \Now}}\fi}
+\def\midrtitle{} % center of running heads
+\def\rtitlenexttopage{\ifPrelimDraft \textsl{\small draft: \Now}\fi}
% \end{macrocode}
%
% \subsection{Ragged right and friends}
@@ -1077,13 +1084,16 @@
%
% Miscellaneous useful stuff. Note that \LaTeXe{} defines a robust
% \cs{,}, but that we provide a new definition of |~| by redefining
-% its robust underpinnings\footnote{\cs{DeclareRobustCommand} doesn't
-% mind redefinition, fortunately} (based on the version in
-% AMS-\TeX---the \LaTeXe{} version has \cs{leavevmode} and doesn't
-% care about surrounding space).
+% \cs{\nobreakspace} (\cs{DeclareRobustCommand} doesn't
+% mind redefinition, fortunately). This is based on the version in
+% AMS-\TeX---the \LaTeXe{} version (|ltspace.dtx|) has \cs{leavevmode}
+% and does not do anything with the surrounding space(s). Our version
+% messes up with the \cs{pfill} used in |doc|-generated indexes
+% (\url{github.com/latex3/latex2e/issues/75}), but later (2018++)
+% versions of |doc| should be protected against our redefinition.
% \begin{macrocode}
-\DeclareRobustCommand{\nobreakspace}{%
- \unskip\nobreak\ \ignorespaces}
+\let\latexnobreakspace=\nobreakspace
+\DeclareRobustCommand{\nobreakspace}{\unskip\nobreak\ \ignorespaces}
% \end{macrocode}
%
% Plain \TeX{} defines \cs{newbox} as \cs{outer}. We solemnly
@@ -1605,7 +1615,7 @@
% \cs{author} command for each of them. The names are then stored in
% a set of \cs{csname}s called \cs{author1}, \cs{author2}, \dots
% Similarly, there are several \cs{address<n>} and \cs{netaddress<n>}
-% and \cs{PersonalURL<n>} commands set up for each article.
+% and \cs{PersonalURL<n>} and \cs{ORCID<n>} commands set up for each article.
%
% \begin{description}
% \item[\emph{Comment:}] I would like to make provision for several
@@ -1619,6 +1629,7 @@
\def\theaddress#1{\csname theaddress#1\endcsname}
\def\thenetaddress#1{\csname thenetaddress#1\endcsname}
\def\thePersonalURL#1{\csname thePersonalURL#1\endcsname}
+\def\theORCID#1{\csname theORCID#1\endcsname}
% \end{macrocode}
%
% The standard way of listing authors is to iterate from 1 to
@@ -1709,6 +1720,7 @@
\allowhyphens
\thenetaddress{\number\authornumber}\\
\thePersonalURL{\number\authornumber}\\
+ \theORCID{\number\authornumber}\\
\else
% \end{macrocode}
% \cs{authornumber}$\ge0$, so we are in the body of an ordinary
@@ -1726,6 +1738,7 @@
\allowhyphens
\thenetaddress{\number\count@}\\
\thePersonalURL{\number\count@}\\
+ \theORCID{\number\count@}\\
}%
\repeat
\fi
@@ -1776,7 +1789,7 @@
%
% \begin{macrocode}
\def\tubmultipleaffilauthor{\unskip, \ignorespaces}%
-\def\tubmultipleaffilnet{\textrm{\unskip~,\ \ignorespaces}}
+\def\tubmultipleaffilnet{\unskip\textrm{\,,\ \ignorespaces}}
% \end{macrocode}
%
% Now all the awful machinery of author definitions.
@@ -1817,7 +1830,7 @@
% and to initialise author-related things. \cs{EDITORno*} commands
% allow the editor to record that there's good reason for an
% \emph{address} or \emph{netaddress} not to be there (the
-% \emph{personalURL} is optional anyway).
+% \emph{personalURL} and \emph{ORCID} are optional anyway).
% \begin{macrocode}
\def\TB@author#1{%
\expandafter\def\csname theauthor\number\authornumber\endcsname
@@ -1828,6 +1841,8 @@
{\TBWarningNL{Net address for #1\space missing}\@gobble}%
\expandafter\let\csname thePersonalURL\number\authornumber\endcsname
\@gobble
+ \expandafter\let\csname theORCID\number\authornumber\endcsname
+ \@gobble
}
\def\EDITORnoaddress{%
\expandafter\let\csname theaddress\number\authornumber\endcsname
@@ -1839,7 +1854,7 @@
}
% \end{macrocode}
%
-% \cs{address} simply copies its argument into the \cs{theaddress<n>}
+% \cs{address} copies its argument into the \cs{theaddress<n>}
% for this author.
%
% \begin{macrocode}
@@ -1994,6 +2009,15 @@
\def\@author{\@defaultauthorlist}
% \end{macrocode}
%
+% \cs{ORCID} inserts `ORCID' and then argument into the \cs{theORCID<n>}
+% for this author. Also, we want \cs{small} for this.
+%
+% \begin{macrocode}
+\def\ORCID#1{%
+ \expandafter\def\csname theORCID\number\authornumber\endcsname
+ {\leavevmode \ignorespaces {\SMC ORCID} #1\unskip}}
+% \end{macrocode}
+%
% For the online re-publication (as of 2009) by Mathematical Sciences
% Publishers |http://mathscipub.org|, lots and lots of metadata is
% needed, much of it redundant with things we already do. They are
@@ -2530,8 +2554,7 @@
% If the sections aren't numbered, the natural tendency of the
% author to cross-reference (which, after all, is one of the things
% \LaTeX{} is for ever being advertised as being good at) can cause
-% headaches for the editor. (Yes it can; believe me~\dots\ there's
-% always one.)
+% headaches.
%
% The following command is used by each of the sectioning commands to
% make a following \cs{ref} command bloop at the author. Even if the
@@ -3176,11 +3199,7 @@
% \subsection{Running heads}
%
% \begin{macrocode}
-\def \rtitlex{\def\texttub##1{{\normalsize\textrm{##1}}}\TUB, \volx }
-\def\PrelimDraftfooter{%
- \dlap{\kern\textheight\kern3pc
- \rlap{\hb@xt@\pagewd{\midrtitle\hfil\midrtitle}}
- }}
+\def\rtitlex{\def\texttub##1{{\normalsize\textrm{##1}}}\TUB, \volx}
% \end{macrocode}
% registration marks; these are temporarily inserted in the running head
% \begin{macrocode}
@@ -3192,12 +3211,12 @@
\topregister\vskip \headmargin \vskip 10\p@}}}}%
}
% put issue identification and page number in header.
-\def\@oddhead{\MakeRegistrationMarks\PrelimDraftfooter
+\def\@oddhead{\MakeRegistrationMarks
\normalsize\csname normalshape\endcsname\rm \tubheadhook
- \rtitlex\qquad\midrtitle \hfil \thepage}
-\def\@evenhead{\MakeRegistrationMarks\PrelimDraftfooter
+ \rtitlex\qquad \midrtitle\hfil \rtitlenexttopage\quad \thepage}
+\def\@evenhead{\MakeRegistrationMarks
\normalsize\csname normalshape\endcsname\rm \tubheadhook
- \thepage\hfil\midrtitle\qquad\rtitlex}
+ \thepage \quad\rtitlenexttopage \hfil\midrtitle \qquad\rtitlex}
% can be used to reset the font, e.g., tb98kuester.
\def\tubheadhook{}
@@ -3330,7 +3349,7 @@
% \begin{macrocode}
%<*classtail>
\def\xEdNote{{\EdNoteFont Editor's note:\enspace }}
-\def \EdNote{\@ifnextchar[%]
+\def\EdNote{\@ifnextchar[%]
{%
\ifvmode
\smallskip\noindent\let\@EdNote@\@EdNote@v