diff options
author | Karl Berry <karl@freefriends.org> | 2023-07-04 19:54:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-07-04 19:54:52 +0000 |
commit | 807611d85d9134f945c5ef60a7e59b96341620c6 (patch) | |
tree | 14e46641df6588f4d6f5cdb63a501af20ae99c31 | |
parent | 05521ca120f1bb734f3c85b7a85f9b33b093459c (diff) |
tugboat (4jul23)
git-svn-id: svn://tug.org/texlive/trunk@67549 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/bibtex/bst/tugboat/tugboat.bst | 48 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tugboat/NEWS | 15 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tugboat/ltubguid.ltx | 49 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tugboat/ltubguid.pdf | bin | 363060 -> 364822 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tugboat/tugboat-code.pdf (renamed from Master/texmf-dist/doc/latex/tugboat/tugboat.pdf) | bin | 516315 -> 519269 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/tugboat/tugboat.dtx | 191 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugboat.cls | 144 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugboat.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty | 12 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugproc.cls | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tugboat/ltugproc.sty | 2 |
11 files changed, 309 insertions, 156 deletions
diff --git a/Master/texmf-dist/bibtex/bst/tugboat/tugboat.bst b/Master/texmf-dist/bibtex/bst/tugboat/tugboat.bst index 1129bb8ab5e..403256d1a41 100644 --- a/Master/texmf-dist/bibtex/bst/tugboat/tugboat.bst +++ b/Master/texmf-dist/bibtex/bst/tugboat/tugboat.bst @@ -1,4 +1,4 @@ -%%% $Id: tugboat.bst 462 2023-03-08 17:26:54Z karl $ +%%% $Id: tugboat.bst 487 2023-06-22 22:39:59Z karl $ %%% TUGboat changes are public domain. %%% %%% Modified for TUGboat from abbrvurl.bst: @@ -28,7 +28,7 @@ %%% "nowarning" - if set, omit empty field warnings from output.check. %%% "prebibitem" - material output before \bibitem, with newline appended %%% (for example, section headings). -%%% "urlnewline" - force line break before url value; +%%% "urlnewline" - force line break before url or doi value; %%% --karl, originally created 24jul18. %%% %%% Modification of BibTeX style file /usr/local/texlive/2009/texmf-dist/bibtex/bst/base/abbrv.bst @@ -85,6 +85,7 @@ ENTRY version % ctan % journaltie % tub + monthtie % tub newpage % tub nowarning % tub prebibitem % tub @@ -189,9 +190,10 @@ FUNCTION {output.nonnull.original} { last.output.check "journal" = not { ", " * } { journaltie empty$ not - { "~" * } - { " " * } + { "~" } + { " " } if$ + * } if$ write$ @@ -350,10 +352,18 @@ FUNCTION {output.bibitem.original} % urlbst (renamed from output.bibitem, so it before.all 'output.state := } -FUNCTION {fin.entry.original} % urlbst (renamed from fin.entry, so it can be wrapped below) +% we wrap this function below to handle urls. +% The url string to print (of whatever sort) is on the stack to write$. +% If the `urlnewline' field is set, write "\newline" first. +FUNCTION {fin.entry.original} % urlbst (renamed from fin.entry) { doi empty$ url empty$ and { add.period$ } - { skip$ } + { + urlnewline empty$ not + { "\newline " write$ } + 'skip$ + if$ + } if$ write$ newline$ @@ -600,7 +610,14 @@ FUNCTION {format.date} } { month empty$ 'year - { month " " * year * } + { month + monthtie empty$ not + { "~" } + { " " } + if$ + * + year * + } if$ } if$ @@ -1033,17 +1050,11 @@ FUNCTION {format.doi} % so that `format.url format.lastchecked * output' ends up with both % the URL and the lastchecked in brackets. % -% If the `urlnewline' field is present, output \newline before the -% url value. FUNCTION {output.url} { url empty$ 'skip$ { new.block format.url output - urlnewline empty$ not - { "\newline " write$ } - 'skip$ - if$ format.lastchecked output } if$ @@ -1108,10 +1119,10 @@ FUNCTION {fin.entry} % Title and url fields required; % author, note, year, month, and lastchecked fields optional % See references -% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm -% http://www.classroom.net/classroom/CitingNetResources.html -% http://neal.ctstateu.edu/history/cite.html -% http://www.cas.usf.edu/english/walker/mla.html +% [gone] ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm +% [gone] http://www.classroom.net/classroom/CitingNetResources.html +% [gone] http://neal.ctstateu.edu/history/cite.html +% [gone] http://www.cas.usf.edu/english/walker/mla.html % for citation formats for web pages. FUNCTION {webpage} { output.bibitem @@ -1130,7 +1141,8 @@ FUNCTION {webpage} new.block title empty$ 'skip$ 'possibly.setup.inlinelink if$ format.title "title" output.check - inbrackets onlinestring output + % This causes the year to be output in brackets, which we don't want: + % inbrackets onlinestring output new.block year empty$ 'skip$ diff --git a/Master/texmf-dist/doc/latex/tugboat/NEWS b/Master/texmf-dist/doc/latex/tugboat/NEWS index aa1e53391ea..53621cccdc1 100644 --- a/Master/texmf-dist/doc/latex/tugboat/NEWS +++ b/Master/texmf-dist/doc/latex/tugboat/NEWS @@ -1,6 +1,19 @@ -$Id: NEWS 463 2023-03-08 21:59:19Z karl $ +$Id: NEWS 490 2023-07-03 22:27:49Z karl $ This file records noteworthy changes. This file is public domain. +ltugboat.cls: +- print page numbers with preceding ? in draft mode, including in references, + by redefining \thepage. +- new abbrev \XMP. + +tugboat.bst: +- for webpage entry type, do not output random material in brackets. +- new field "monthtie" to editorially force a tie after the month. + +ltubguid documentation: +- mention preferred placement of captions, namely below figures +but above tables and listings. + ----------------- 2.29 (2023-03-08): diff --git a/Master/texmf-dist/doc/latex/tugboat/ltubguid.ltx b/Master/texmf-dist/doc/latex/tugboat/ltubguid.ltx index 7d15fd9c6c7..088a8e19afd 100644 --- a/Master/texmf-dist/doc/latex/tugboat/ltubguid.ltx +++ b/Master/texmf-dist/doc/latex/tugboat/ltubguid.ltx @@ -1,4 +1,4 @@ -% $Id: ltubguid.ltx 458 2023-01-16 18:44:30Z karl $ +% $Id: ltubguid.ltx 487 2023-06-22 22:39:59Z karl $ % ltubguid.ltx - documentation for ltugboat classes. % % Copyright 1994-2023 TeX Users Group. @@ -571,25 +571,18 @@ normal text size. \section{Floating inserts} -The classes do not make any change to \LaTeX{}'s built-in provision -for floating inserts, so that authors may generate figures and tables -just as they would in any `normal' \LaTeX{} document. Figure and -table captions, and labels referring to them, are also substantially -untouched. - -However, since both classes typeset in two columns, authors must -distinguish between the \envname{figure} and \envname{table} environments -(which produce floats that are the same width as the column) and the -\envname{figure*} and \envname{table*} (which produce floats that are the same -width as the page). - -%\begin{itemize} -%\item figures and tables as normal -%\item captions and labels work whatever (i.e., no restriction on -% numbering) -%\item twocolumn setting implies distinction between \envname{figure} and -% \envname{figure*} -%\end{itemize} +The classes do not make any change to \LaTeX{}'s built-in provision for +floating inserts, so that authors may write figures and tables as usual, + +The default is for floats to be the width of the column. To make a float +which is the width of the whole page, use \envname{figure*} and +\envname{table*}. + +Regarding caption placement, \TUB's convention is to put captions for +figures beneath the figure, but captions for tables and listings above +the table\slash listing. Please follow this convention unless there is a +specific reason not to. As a reminder, \cs{label} commands should always +follow the \cs{caption}. \section{Special-purpose typesetting} @@ -830,16 +823,16 @@ aliases for \textsf{@misc}. \CTAN, following the fields output by the \pkgname{ctanbib} script (in the package of the same name, \url{ctan.org/pkg/ctanbib}). -\item For completeness only: \verb|tugboat.bst| provides editor-intended -fields \textsf{journaltie} to output a tie instead of space after the \textsf{journal} value, +\item For completeness only: \verb|tugboat.bst| provides several +fields intended to be used by the editors: \textsf{journaltie} to output +a tie instead of space after the \textsf{journal} value, +\textsf{monthtie} for the same after \textsf{month}, \textsf{newpage} to force a page break after the current item, -\textsf{nowarning} to omit empty field warnings, -\textsf{prebibitem} to output material before \cs{bibitem} (e.g., a -section heading), and +\textsf{nowarning} to omit empty field warnings, \textsf{prebibitem} to +output material before \cs{bibitem} (e.g., a section heading), and \textsf{urlnewline} to force a line break before the \textsf{url} value. -As editors, we've found that these presentation -tweaks can be desirable for the final typeset output. Authors need not -worry about them. +As editors, we've found that these presentation tweaks can be desirable +for the final typeset output. Authors need not worry about them. \end{itemize} diff --git a/Master/texmf-dist/doc/latex/tugboat/ltubguid.pdf b/Master/texmf-dist/doc/latex/tugboat/ltubguid.pdf Binary files differindex 3d39af7dade..5d4df0b38fd 100644 --- a/Master/texmf-dist/doc/latex/tugboat/ltubguid.pdf +++ b/Master/texmf-dist/doc/latex/tugboat/ltubguid.pdf diff --git a/Master/texmf-dist/doc/latex/tugboat/tugboat.pdf b/Master/texmf-dist/doc/latex/tugboat/tugboat-code.pdf Binary files differindex fc6500607f0..2c5c124fa8f 100644 --- a/Master/texmf-dist/doc/latex/tugboat/tugboat.pdf +++ b/Master/texmf-dist/doc/latex/tugboat/tugboat-code.pdf diff --git a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx index ea7f22af778..a4b558b1587 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 462 2023-03-08 17:26:54Z karl $ +% $Id: tugboat.dtx 490 2023-07-03 22:27:49Z karl $ % tugboat.dtx - main source for LaTeX TUGboat classes. % % Copyright 1994-2023 TeX Users Group. @@ -28,7 +28,7 @@ %<ltugboatsty>\ProvidesPackage{ltugboat} %<ltugprocsty>\ProvidesPackage{ltugproc} %<ltugcomn> \ProvidesPackage{ltugcomn} - [2023-03-08 v2.29 + [2023-07-03 v2.30 %<ltugboatcls> TUGboat journal class% %<ltugproccls> TUG conference proceedings class% %<ltugboatsty|ltugprocsty> TUG compatibility package% @@ -318,19 +318,13 @@ % Class options: |draft| vs.\ |preprint| vs.\ |final|. % % \begin{macrocode} -\DeclareOption{draft}{% +\DeclareOption{draft}{% [draft], the default + % If the user loads hyperref, avoid passing on the global draft option + % (which would remove all links in the pdf). + \PassOptionsToPackage{final}{hyperref} + % \AtEndOfClass{% \setcounter{page}{901}% - % - % Put a question mark into the page number in draft mode. - \let\tuborigthepage = \thepage - \def\thepage{% - \ifnum\value{page}>900 - \textsl{?\texorpdfstring{\,}{}\@arabic{\numexpr\the\c@page-900\relax}}% - \else - \arabic{page}% - \fi}% - % \BlackBoxes \def\MakeRegistrationMarks{}% \PrelimDrafttrue @@ -338,22 +332,21 @@ } \newif\ifpreprint -\def\preprint{\preprinttrue} +\def\preprint{\preprinttrue} % [preprint], hardly used \DeclareOption{preprint}{% \preprinttrue } -\newif\iftubfinaloption % [final] +\newif\iftubfinaloption % [final], manually inserted by us for processing \DeclareOption{final}{% \tubfinaloptiontrue \AtEndOfClass{% - \let\thepage=\tuborigthepage - \NoBlackBoxes % 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. + % place for this case because draft vs. final can change page + % layout, wrt registration marks, etc. (Not good, but too painful to + % change at this late date.) \ifnum\value{page}>900 \PrelimDrafttrue \else \PrelimDraftfalse \fi \@tubrunningfull }% @@ -377,7 +370,7 @@ \pdfstringdefDisableCommands{% \let\acro\relax \let\origDash=\Dash \def\Dash{\texorpdfstring{\origDash}{--}}% - % lots more could be added. + % lots more could/should be added. }% \fi } @@ -480,10 +473,15 @@ % Occasionally, we need to start an article in the second column of a % page, due to splicing with a previous article. Let's try declaring that. % Then, before |\maketitle|, we'll force the move to the second column. +% +% And sometimes we need to add space at the top of that second column +% (e.g., |tb136lettre|); there's no way to intervene in the article +% source, so define a hook |\tubsecondcolstartextra|. % % \begin{macrocode} -\newif\iftubsecondcolstart +\newif\iftubsecondcolstart \DeclareOption{secondcolstart}{\tubsecondcolstarttrue} +\let\tubsecondcolstartextra\relax % \end{macrocode} % \end{macro} % @@ -683,7 +681,8 @@ % % Font used for the METAFONT logo, etc. % \begin{macrocode} -\DeclareRobustCommand{\AllTeX}{(\La\kern-.075em)\kern-.075em\TeX} +\DeclareRobustCommand{\AllTeX}{% + \texorpdfstring{(\La\kern-.075em)\kern-.075em\TeX}{(La)TeX}} \def\AMS{American Mathematical Society} \def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox {$\mathcal{M}$}\kern-.125em$\mathcal{S}$} @@ -876,7 +875,7 @@ \def\TANGLE{\texttt{TANGLE}\@} \def\TB{\textsl{The \TeX\-book}} \def\TIFF{\acro{TIFF}} -\def\TP{\textsl{\TeX}:\ \textsl{The Program}} +\def\TP{\textsl{\TeX:\ The Program\/}} \DeclareRobustCommand{\TeX}{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\@} \def\TeXhax{\TeX hax} \def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}% @@ -927,6 +926,7 @@ \def\VorTeX{V\kern-2.7\p@\lower.5ex\hbox{O\kern-1.4\p@ R}\kern-2.6\p@\TeX} \def\XeT{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT\@} \def\XML{\acro{XML}} +\def\XMP{\acro{XMP}} \def\WEB{\texttt{WEB}\@} \def\WEAVE{\texttt{WEAVE}\@} \def\WYSIWYG{\acro{WYSIWYG}} @@ -1012,11 +1012,12 @@ % ellipsis character (U+2026) a single character's width, typically more % squashed together than three period characters. This just looks wrong. % It is too painful to try to redefine in general, but provide the -% normal definition for \cs{let} in individual papers. -\DeclareRobustCommand{\tubdots}{% +% normal definition to reset in individual papers with, e.g.: +% |\ifx\tubdots\undefined \else \let\dots\tubdots \let\ldots\tubdots \fi| +\DeclareRobustCommand{\tubdots}{\ifmmode\mathellipsis\else .\kern\fontdimen3\font .\kern\fontdimen3\font - .\kern\fontdimen3\font} + .\kern\fontdimen3\font\fi} % % \begin{macro}{\allowhyphens} % Hyphen control: first, we save (via \cs{edef}) the hyphenpenalties in @@ -1216,7 +1217,7 @@ % % \subsection{Assorted user-level markup} % -% \LaTeXe{} defines a robust \cs{,}, but that we provide a new definition +% \LaTeXe{} defines a robust \cs{,} we provide a new definition % of |~| by redefining \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} @@ -2281,8 +2282,7 @@ % more full columns, % above the top of an article to leave space to paste up a previous % article that has finished on the same page. This is a fall back to -% accommodate the fact that multiple articles cannot yet be run together -% easily with \LaTeXe. +% accommodate the fact that multiple articles cannot be run together % easily. % % In addition, if the |secondcolstart| option was specified, do % |\null\newpage| to move over. This is separate from |\PreTitleDrop|, @@ -2295,16 +2295,16 @@ {\@articletitletrue\@r@maketitle}% } \def\@r@maketitle{\par + \iftubsecondcolstart \null\newpage\tubsecondcolstartextra \fi \ifdim\PreTitleDrop > \z@ \loop \ifdim \PreTitleDrop > \textheight \vbox{}\vfil\eject \advance\PreTitleDrop by -\textheight \repeat - \vbox to \PreTitleDrop{} + \vbox to \PreTitleDrop{\vfil}% \global\PreTitleDrop=\z@ \fi - \iftubsecondcolstart \null\newpage\fi \begingroup \setcounter{footnote}{0} \global\@topnum\z@ % disallow floats above the title @@ -2738,15 +2738,46 @@ % \end{macrocode} % % \begin{macrocode} -\def\l@section#1#2{\addpenalty{\@secpenalty}% +% |#1| is both the section number and title; |#2| is the page number. +% Per Ulrike, the hook calls are for tagging, introduced with the +% June 2023 \LaTeX. +\def\l@section#1#2{% + \addpenalty{\@secpenalty}% \addvspace{\TBtocsectionspace}% \@tempdima 1.5em \begingroup - \parindent\z@ \rightskip\z@ % article style makes \rightskip > 0 + \parindent\z@ + \rightskip\z@ % article style makes \rightskip > 0 \parfillskip\z@ \TBtocsectionfont - \leavevmode\advance\leftskip\@tempdima\hskip-\leftskip#1\nobreak\hfil - \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \leavevmode + \advance\leftskip\@tempdima + \hskip-\leftskip + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/text/before}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + % don't worry if this cs is not defined, hence the \csname. + \csname contentsline@text@1@format\endcsname{#1}% number and title + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/text/after}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + \nobreak + \hfil + \nobreak + % page number + \hb@xt@\@pnumwidth{\hss + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/page/before}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + #2% + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/page/after}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + }\par \endgroup} % \end{macrocode} % @@ -2844,7 +2875,13 @@ % The name label comes from the moveable bit of the section argument; % we subvert the \cs{@sect} and \cs{@ssect} commands (the latter % deals with starred section commands) to grab the relevant argument. +% +% As of the June 2023 \LaTeX\ (or somewhat earlier, but this is good +% enough), there are hooks that allow us to avoid redefinig +% \cs{@sect} and \cs{@ssect}. +% % \begin{macrocode} +\@ifl@t@r\fmtversion{2023-06-01}{}{% \let\TB@@sect\@sect \let\TB@@ssect\@ssect \def\@sect#1#2#3#4#5#6[#7]#8{% @@ -2855,6 +2892,7 @@ \def\@currentlabelname{#5}% \TB@@ssect{#1}{#2}{#3}{#4}{#5}% } +} % LaTeX earlier than June 2023 % \end{macrocode} % % We output the name label as a second \cs{newlabel} command @@ -2863,26 +2901,28 @@ % So we redefine \cs{label} to first call the standard \LaTeX\ % \cs{label} and then write our named label as |nr<label>|. % -% \begin{macrocode} -\let\@savelatexlabel=\label % so save original LaTeX command -% -\def\label#1{% de - \@savelatexlabel{#1}% - \@bsphack - \if@filesw - \protected@write\@auxout{}% - {\string\newlabel{nr@#1}{{\@currentlabel}{\@currentlabelname}}}% - \fi - \@esphack +% Similarly, we only need this with pre-June 2023 \LaTeX. +% With more recent LaTeX, define \@currentlabelname via hooks. +% \begin{macrocode} +\@ifl@t@r\fmtversion{2023-06-01}{% + \AddToHookWithArguments{cmd/@sect/before}{\def\@currentlabelname{#7}}% + \AddToHookWithArguments{cmd/@ssect/before}{\def\@currentlabelname{#5}}% +}{% + \let\@savelatexlabel=\label % so save original LaTeX command + % + \def\label#1{% + \@savelatexlabel{#1}% + \@bsphack + \if@filesw + \protected@write\@auxout{}% + {\string\newlabel{nr@#1}{{\@currentlabel}{\@currentlabelname}}}% + \fi + \@esphack} + % in case there are no sectioning commands: + \let\@currentlabelname\@empty } % \end{macrocode} % -% Of course, in the case of a sufficiently mad author, there will be -% no sectioning commands, so we need to -% \begin{macrocode} -\let\@currentlabelname\@empty -% \end{macrocode} -% % Getting named references is then just like getting page references in % the \LaTeX\ kernel (see |ltxref.dtx|). % @@ -2899,9 +2939,18 @@ % % \begin{macrocode} \AtBeginDocument{% - \providecommand\nameref[1]{% - \expandafter\@setref - \csname r@nr@#1\endcsname\@secondoftwo{#1}% + \@ifl@t@r\fmtversion{2023-06-01}% + { % after June 2023, LaTeX stores the label name; use that. + \long\def\@thirdoffive#1#2#3#4#5{#3} + \providecommand\nameref[1]{% + \expandafter\@setref + \csname r@#1\endcsname\@thirdoffive{#1}}% + } + { % for earlier versions, still avoid overwriting \nameref per above. + % but if not otherwise defined, use the "nr" label defined by our \label. + \providecommand\nameref[1]{% + \expandafter\@setref + \csname r@nr@#1\endcsname\@secondoftwo{#1}}% }% } % \end{macrocode} @@ -3488,11 +3537,38 @@ \def\@oddhead{\MakeRegistrationMarks \frenchspacing \normalsize\csname normalshape\endcsname\rm \tubheadhook - \rtitlex\qquad \midrtitle\hfil \rtitlenexttopage\quad \thepage} + \rtitlex\qquad \midrtitle\hfil \rtitlenexttopage\quad\thepage} \def\@evenhead{\MakeRegistrationMarks \frenchspacing \normalsize\csname normalshape\endcsname\rm \tubheadhook - \thepage \quad\rtitlenexttopage \hfil\midrtitle \qquad\rtitlex} + \thepage\quad\rtitlenexttopage \hfil\midrtitle \qquad\rtitlex} + +% Put a ? into the page number in all but a final run, so people +% aren't tempted to cite it. +% +% We redefine |\thepage| so that the ? will also be used in page +% references (in the text) and the toc. This is what's recommended by +% the LaTeX developers: https://tex.stackexchange.com/questions/687258. +% (Ulrike's example does this after loading hyperref, but doesn't seem +% to matter?) +\renewcommand\thepage{% + \ifnum\value{page}>900 + % in CM, numerals are exactly .5em. + % + % The \texorpdfstring avoids the usual hyperref warning: + % Token not allowed in a PDF string ... removing `\@ifnextchar' + \texorpdfstring{\makebox[.5em][l]{\small ?}}{?}% + % + \textsl{\@arabic{\numexpr\value{page}-900\relax}}% e-tex + \else + \@arabic{\value{page}}% + \fi +} +% This custom page number format will break makeindex, etc., so we have +% to tell about the format. Per Ulrike: +% \usepackage{index} +% \newcommand\specialthepage{\inteval{\value{page}-900}} +% \newindex[specialthepage]*{default}{idx}{ind}{Index} % can be used to reset the font, e.g., tb98kuester. \def\tubheadhook{} @@ -3745,6 +3821,7 @@ \def\thefootnote{}% % no period, please, also no fnmark. \def\@makefntext##1{##1}% + \def\Hy@Warning##1{}% \footnotetext{\noindent #1#2}% \endgroup } diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls b/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls index 5014f891f30..487cb2ca7d2 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls +++ b/Master/texmf-dist/tex/latex/tugboat/ltugboat.cls @@ -32,7 +32,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesClass {ltugboat} - [2023-03-08 v2.29 + [2023-07-03 v2.30 TUGboat journal class% ] \newif\ifTBunicodeengine @@ -48,19 +48,13 @@ \def\TBError{\ClassError{\@tugclass}} \def\TBWarning{\ClassWarning{\@tugclass}} \def\TBWarningNL{\ClassWarningNoLine{\@tugclass}} -\DeclareOption{draft}{% +\DeclareOption{draft}{% [draft], the default + % If the user loads hyperref, avoid passing on the global draft option + % (which would remove all links in the pdf). + \PassOptionsToPackage{final}{hyperref} + % \AtEndOfClass{% \setcounter{page}{901}% - % - % Put a question mark into the page number in draft mode. - \let\tuborigthepage = \thepage - \def\thepage{% - \ifnum\value{page}>900 - \textsl{?\texorpdfstring{\,}{}\@arabic{\numexpr\the\c@page-900\relax}}% - \else - \arabic{page}% - \fi}% - % \BlackBoxes \def\MakeRegistrationMarks{}% \PrelimDrafttrue @@ -68,22 +62,21 @@ } \newif\ifpreprint -\def\preprint{\preprinttrue} +\def\preprint{\preprinttrue} % [preprint], hardly used \DeclareOption{preprint}{% \preprinttrue } -\newif\iftubfinaloption % [final] +\newif\iftubfinaloption % [final], manually inserted by us for processing \DeclareOption{final}{% \tubfinaloptiontrue \AtEndOfClass{% - \let\thepage=\tuborigthepage - \NoBlackBoxes % 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. + % place for this case because draft vs. final can change page + % layout, wrt registration marks, etc. (Not good, but too painful to + % change at this late date.) \ifnum\value{page}>900 \PrelimDrafttrue \else \PrelimDraftfalse \fi \@tubrunningfull }% @@ -97,7 +90,7 @@ \pdfstringdefDisableCommands{% \let\acro\relax \let\origDash=\Dash \def\Dash{\texorpdfstring{\origDash}{--}}% - % lots more could be added. + % lots more could/should be added. }% \fi } @@ -129,6 +122,7 @@ \DeclareOption{onecolumn}{\@tubtwocolumnfalse} \newif\iftubsecondcolstart \DeclareOption{secondcolstart}{\tubsecondcolstarttrue} +\let\tubsecondcolstartextra\relax \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ExecuteOptions{draft,extralabel,numbersec,rawcite,runningminimal} \ProcessOptions @@ -208,7 +202,8 @@ ^{\mbox{\fontsize\sf@size\z@ \selectfont #1}}}} \def\tubline{\hbox to \hsize} -\DeclareRobustCommand{\AllTeX}{(\La\kern-.075em)\kern-.075em\TeX} +\DeclareRobustCommand{\AllTeX}{% + \texorpdfstring{(\La\kern-.075em)\kern-.075em\TeX}{(La)TeX}} \def\AMS{American Mathematical Society} \def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox {$\mathcal{M}$}\kern-.125em$\mathcal{S}$} @@ -356,7 +351,7 @@ \def\TANGLE{\texttt{TANGLE}\@} \def\TB{\textsl{The \TeX\-book}} \def\TIFF{\acro{TIFF}} -\def\TP{\textsl{\TeX}:\ \textsl{The Program}} +\def\TP{\textsl{\TeX:\ The Program\/}} \DeclareRobustCommand{\TeX}{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\@} \def\TeXhax{\TeX hax} \def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}% @@ -405,6 +400,7 @@ \def\VorTeX{V\kern-2.7\p@\lower.5ex\hbox{O\kern-1.4\p@ R}\kern-2.6\p@\TeX} \def\XeT{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT\@} \def\XML{\acro{XML}} +\def\XMP{\acro{XMP}} \def\WEB{\texttt{WEB}\@} \def\WEAVE{\texttt{WEAVE}\@} \def\WYSIWYG{\acro{WYSIWYG}} @@ -453,10 +449,10 @@ \def\NoBlackBoxes{\overfullrule=\z@} \def\newline{\hskip\z@\@plus\pagewd\break} \def\tubsentencespace{\spacefactor=3000{}\space\ignorespaces} -\DeclareRobustCommand{\tubdots}{% +\DeclareRobustCommand{\tubdots}{\ifmmode\mathellipsis\else .\kern\fontdimen3\font .\kern\fontdimen3\font - .\kern\fontdimen3\font} + .\kern\fontdimen3\font\fi} \edef\allowhyphens{\noexpand\hyphenpenalty\the\hyphenpenalty\relax \noexpand\exhyphenpenalty\the\exhyphenpenalty\relax} \def\nohyphens{\hyphenpenalty\@M\exhyphenpenalty\@M} @@ -1061,16 +1057,16 @@ {\@articletitletrue\@r@maketitle}% } \def\@r@maketitle{\par + \iftubsecondcolstart \null\newpage\tubsecondcolstartextra \fi \ifdim\PreTitleDrop > \z@ \loop \ifdim \PreTitleDrop > \textheight \vbox{}\vfil\eject \advance\PreTitleDrop by -\textheight \repeat - \vbox to \PreTitleDrop{} + \vbox to \PreTitleDrop{\vfil}% \global\PreTitleDrop=\z@ \fi - \iftubsecondcolstart \null\newpage\fi \begingroup \setcounter{footnote}{0} \global\@topnum\z@ % disallow floats above the title @@ -1291,15 +1287,43 @@ \string#2\space used instead}#2} \def\TBtocsectionfont{\normalfont} \newskip\TBtocsectionspace \TBtocsectionspace=1.0ex\@plus\p@ -\def\l@section#1#2{\addpenalty{\@secpenalty}% +\def\l@section#1#2{% + \addpenalty{\@secpenalty}% \addvspace{\TBtocsectionspace}% \@tempdima 1.5em \begingroup - \parindent\z@ \rightskip\z@ % article style makes \rightskip > 0 + \parindent\z@ + \rightskip\z@ % article style makes \rightskip > 0 \parfillskip\z@ \TBtocsectionfont - \leavevmode\advance\leftskip\@tempdima\hskip-\leftskip#1\nobreak\hfil - \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \leavevmode + \advance\leftskip\@tempdima + \hskip-\leftskip + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/text/before}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + % don't worry if this cs is not defined, hence the \csname. + \csname contentsline@text@1@format\endcsname{#1}% number and title + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/text/after}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + \nobreak + \hfil + \nobreak + % page number + \hb@xt@\@pnumwidth{\hss + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/page/before}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + #2% + \ifx\UseHookWithArguments\undefined\else + \UseHookWithArguments{contentsline/page/after}{4} + {\toclevel@part}{#1}{#2}{\@contentsline@destination}% + \fi + }\par \endgroup} \renewcommand{\appendix}{\par \renewcommand{\thesection}{\@Alph\c@section}% @@ -1329,6 +1353,7 @@ \textbf{?!?}% }% } +\@ifl@t@r\fmtversion{2023-06-01}{}{% \let\TB@@sect\@sect \let\TB@@ssect\@ssect \def\@sect#1#2#3#4#5#6[#7]#8{% @@ -1339,21 +1364,37 @@ \def\@currentlabelname{#5}% \TB@@ssect{#1}{#2}{#3}{#4}{#5}% } -\let\@savelatexlabel=\label % so save original LaTeX command -\def\label#1{% de - \@savelatexlabel{#1}% - \@bsphack - \if@filesw - \protected@write\@auxout{}% - {\string\newlabel{nr@#1}{{\@currentlabel}{\@currentlabelname}}}% - \fi - \@esphack +} % LaTeX earlier than June 2023 +\@ifl@t@r\fmtversion{2023-06-01}{% + \AddToHookWithArguments{cmd/@sect/before}{\def\@currentlabelname{#7}}% + \AddToHookWithArguments{cmd/@ssect/before}{\def\@currentlabelname{#5}}% +}{% + \let\@savelatexlabel=\label % so save original LaTeX command + % + \def\label#1{% + \@savelatexlabel{#1}% + \@bsphack + \if@filesw + \protected@write\@auxout{}% + {\string\newlabel{nr@#1}{{\@currentlabel}{\@currentlabelname}}}% + \fi + \@esphack} + % in case there are no sectioning commands: + \let\@currentlabelname\@empty } -\let\@currentlabelname\@empty \AtBeginDocument{% - \providecommand\nameref[1]{% - \expandafter\@setref - \csname r@nr@#1\endcsname\@secondoftwo{#1}% + \@ifl@t@r\fmtversion{2023-06-01}% + { % after June 2023, LaTeX stores the label name; use that. + \long\def\@thirdoffive#1#2#3#4#5{#3} + \providecommand\nameref[1]{% + \expandafter\@setref + \csname r@#1\endcsname\@thirdoffive{#1}}% + } + { % for earlier versions, still avoid overwriting \nameref per above. + % but if not otherwise defined, use the "nr" label defined by our \label. + \providecommand\nameref[1]{% + \expandafter\@setref + \csname r@nr@#1\endcsname\@secondoftwo{#1}}% }% } \newdimen\@tubfullpageindent @@ -1635,11 +1676,25 @@ \def\@oddhead{\MakeRegistrationMarks \frenchspacing \normalsize\csname normalshape\endcsname\rm \tubheadhook - \rtitlex\qquad \midrtitle\hfil \rtitlenexttopage\quad \thepage} + \rtitlex\qquad \midrtitle\hfil \rtitlenexttopage\quad\thepage} \def\@evenhead{\MakeRegistrationMarks \frenchspacing \normalsize\csname normalshape\endcsname\rm \tubheadhook - \thepage \quad\rtitlenexttopage \hfil\midrtitle \qquad\rtitlex} + \thepage\quad\rtitlenexttopage \hfil\midrtitle \qquad\rtitlex} + +\renewcommand\thepage{% + \ifnum\value{page}>900 + % in CM, numerals are exactly .5em. + % + % The \texorpdfstring avoids the usual hyperref warning: + % Token not allowed in a PDF string ... removing `\@ifnextchar' + \texorpdfstring{\makebox[.5em][l]{\small ?}}{?}% + % + \textsl{\@arabic{\numexpr\value{page}-900\relax}}% e-tex + \else + \@arabic{\value{page}}% + \fi +} \def\tubheadhook{} @@ -1776,6 +1831,7 @@ \def\thefootnote{}% % no period, please, also no fnmark. \def\@makefntext##1{##1}% + \def\Hy@Warning##1{}% \footnotetext{\noindent #1#2}% \endgroup } diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty b/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty index ef48a7e6d9f..3d64ea5ce5d 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty +++ b/Master/texmf-dist/tex/latex/tugboat/ltugboat.sty @@ -31,7 +31,7 @@ %% extension .ins) which are part of the distribution. %% \ProvidesPackage{ltugboat} - [2023-03-08 v2.29 + [2023-07-03 v2.30 TUG compatibility package% ] \@obsoletefile{ltugboat.cls}{ltugboat.sty} diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty b/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty index edee9be67e2..63845f6b450 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty +++ b/Master/texmf-dist/tex/latex/tugboat/ltugcomn.sty @@ -32,7 +32,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesPackage{ltugcomn} - [2023-03-08 v2.29 + [2023-07-03 v2.30 TUGboat `common macros' package% ] \newif\ifTBunicodeengine @@ -105,7 +105,8 @@ ^{\mbox{\fontsize\sf@size\z@ \selectfont #1}}}} \def\tubline{\hbox to \hsize} -\DeclareRobustCommand{\AllTeX}{(\La\kern-.075em)\kern-.075em\TeX} +\DeclareRobustCommand{\AllTeX}{% + \texorpdfstring{(\La\kern-.075em)\kern-.075em\TeX}{(La)TeX}} \def\AMS{American Mathematical Society} \def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox {$\mathcal{M}$}\kern-.125em$\mathcal{S}$} @@ -253,7 +254,7 @@ \def\TANGLE{\texttt{TANGLE}\@} \def\TB{\textsl{The \TeX\-book}} \def\TIFF{\acro{TIFF}} -\def\TP{\textsl{\TeX}:\ \textsl{The Program}} +\def\TP{\textsl{\TeX:\ The Program\/}} \DeclareRobustCommand{\TeX}{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\@} \def\TeXhax{\TeX hax} \def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}% @@ -302,6 +303,7 @@ \def\VorTeX{V\kern-2.7\p@\lower.5ex\hbox{O\kern-1.4\p@ R}\kern-2.6\p@\TeX} \def\XeT{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT\@} \def\XML{\acro{XML}} +\def\XMP{\acro{XMP}} \def\WEB{\texttt{WEB}\@} \def\WEAVE{\texttt{WEAVE}\@} \def\WYSIWYG{\acro{WYSIWYG}} @@ -350,10 +352,10 @@ \def\NoBlackBoxes{\overfullrule=\z@} \def\newline{\hskip\z@\@plus\pagewd\break} \def\tubsentencespace{\spacefactor=3000{}\space\ignorespaces} -\DeclareRobustCommand{\tubdots}{% +\DeclareRobustCommand{\tubdots}{\ifmmode\mathellipsis\else .\kern\fontdimen3\font .\kern\fontdimen3\font - .\kern\fontdimen3\font} + .\kern\fontdimen3\font\fi} \edef\allowhyphens{\noexpand\hyphenpenalty\the\hyphenpenalty\relax \noexpand\exhyphenpenalty\the\exhyphenpenalty\relax} \def\nohyphens{\hyphenpenalty\@M\exhyphenpenalty\@M} diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls b/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls index cf8814e0513..96c6a5d73bc 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls +++ b/Master/texmf-dist/tex/latex/tugboat/ltugproc.cls @@ -32,7 +32,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesClass {ltugproc} - [2023-03-08 v2.29 + [2023-07-03 v2.30 TUG conference proceedings class% ] \def\@tugclass{ltugproc} diff --git a/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty b/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty index bb3b6d98676..66d7e77d4ab 100644 --- a/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty +++ b/Master/texmf-dist/tex/latex/tugboat/ltugproc.sty @@ -31,7 +31,7 @@ %% extension .ins) which are part of the distribution. %% \ProvidesPackage{ltugproc} - [2023-03-08 v2.29 + [2023-07-03 v2.30 TUG compatibility package% ] \@obsoletefile{ltugproc.cls}{ltugproc.sty} |