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.dtx188
1 files changed, 118 insertions, 70 deletions
diff --git a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx
index 2a98a67ffc1..ea240598259 100644
--- a/Master/texmf-dist/source/latex/tugboat/tugboat.dtx
+++ b/Master/texmf-dist/source/latex/tugboat/tugboat.dtx
@@ -1,8 +1,8 @@
% \iffalse (this is a meta-comment (so they say))
-% $Id: tugboat.dtx 533 2023-10-28 22:40:31Z karl $
+% $Id: tugboat.dtx 560 2024-04-15 17:16:18Z karl $
% tugboat.dtx - main source for LaTeX TUGboat classes.
%
-% Copyright 1994-2023 TeX Users Group.
+% Copyright 1994-2024 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -28,7 +28,7 @@
%<ltugboatsty>\ProvidesPackage{ltugboat}
%<ltugprocsty>\ProvidesPackage{ltugproc}
%<ltugcomn> \ProvidesPackage{ltugcomn}
- [2023-10-28 v2.31
+ [2024-04-15 v2.32
%<ltugboatcls> TUGboat journal class%
%<ltugproccls> TUG conference proceedings class%
%<ltugboatsty|ltugprocsty> TUG compatibility package%
@@ -40,8 +40,8 @@
% \end{macrocode}
%
% \iffalse
-%
-% Note that the version control Id above relates to the number of times
+%
+% The version control Id above relates to the number of times
% the file has been checked-in, which relates to a development process
% taking place on several machines, rather than the incidence of
% significant change; the definitive version number is that in the
@@ -718,6 +718,7 @@
\def\CMkIV{\ConTeXt\ \MkIV}
\def\Cplusplus{C\plusplus}
\def\plusplus{\raisebox{.7ex}{$_{++}$}}
+% consider rm vs. bold + tb139may-automata.ltx
\def\CPU{\acro{CPU}}
\def\CSczabbr{\ensuremath{\cal C}\kern-.1667em\lower.5ex\hbox{$\cal S$}}
\def\CSS{\acro{CSS}}
@@ -931,6 +932,7 @@
\def\WEB{\texttt{WEB}\@}
\def\WEAVE{\texttt{WEAVE}\@}
\def\WYSIWYG{\acro{WYSIWYG}}
+\def\YAML{\acro{YAML}}
% \end{macrocode}
%
% Xe\TeX{} requires reflecting the first E, hence we complain if the
@@ -1286,9 +1288,15 @@
\ensuremath{\rangle}%
}
%
-% Use \tt rather than \texttt because italic typewriter is just too ugly,
+% Use \tt rather than \texttt because italic typewriter is just too strange
% and upright works well enough in both italic and bold contexts.
-% Would be nice to change catcode of _ for LaTeX3.
+% Would be nice to change catcode of _ for \LaTeX3, but we don't.
+%
+% By the way, it would be possible to substitute typewriter slanted for
+% typewriter italic in general:
+% \url{https://tex.stackexchange.com/questions/692277}.
+% But it feels like that is too intrusive a change, even though in
+% practice we always prefer tt slanted.
\DeclareRobustCommand{\cs}[1]{\texorpdfstring
{{\tt \char`\\#1}}%
{\textbackslash #1}%
@@ -1370,11 +1378,13 @@
\str_set:Nn\l_tmpa_str{#1}
\str_if_in:NnTF \l_tmpa_str {http://}
{
- \expandafter\hyper@linkurl
- \expandafter{\expandafter\Hurl\expandafter{\l_tmpa_str}}{\l_tmpa_str}
+ \tbhurl@{#1} % if http, redirect to remove protocol
+ % this version prints the http, as we originally thought was better.
+ % \expandafter\hyper@linkurl
+ % \expandafter{\expandafter\Hurl\expandafter{\l_tmpa_str}}{\l_tmpa_str}
}
{
- \str_remove_once:Nn\l_tmpa_str{https://}
+ \str_remove_once:Nn \l_tmpa_str {https://}
\expandafter\hyper@linkurl
\expandafter{\expandafter\Hurl\expandafter{\l_tmpa_str}}
{https://\l_tmpa_str}
@@ -1383,7 +1393,7 @@
\def\tbhurl@#1 % http
{
\str_set:Nn\l_tmpa_str{#1}
- \str_remove_once:Nn\l_tmpa_str{http://}
+ \str_remove_once:Nn \l_tmpa_str {http://}
\expandafter\hyper@linkurl\expandafter{\expandafter\Hurl\expandafter
{\l_tmpa_str}}{http://\l_tmpa_str}
}
@@ -1395,10 +1405,10 @@
\def\tbsurlfootnote#1{\footnote{\raggedright\tbsurl{#1}}}
\def\tbhurlfootnote#1{\footnote{\raggedright\tbhurl{#1}}}
%
-% Close up space between footnote mark and punctuation ("pre-punctuation").
+% Close up space between footnote mark and punctuation (``pre-punctuation'').
\DeclareRobustCommand{\tbppkernfoot}{\tubthinnerspace}
-% Make \! work in text mode.
+% Make \! work in text mode, for older LaTeX.
\DeclareRobustCommand{\!}{\ifmmode\mskip-\thinmuskip \else\kern-0.16667em \fi}
%
% Half a thinspace, positive and negative. Should have named these
@@ -2457,14 +2467,21 @@
% the essentially useless functionality of being able to change them
% using assignment, which I'm not about to struggle with just now...
%
-% \cs{AboveTitleSkip} and \cs{BelowTitleSkip} are what you'd expect;
+% \cs{AboveTitleSkip} is glue above the article title;
+% \cs{BelowTitleSkip} is glue below the authors in the title block.
% \cs{strulethickness} is the value to use for \cs{fboxrule} when
% setting the title, and for the rule above titles when there is no box.
%
+% For \cs{BelowTitleSkip}, add some stretch and shrink since the first
+% column of an article often needs it; otherwise, a first column of all
+% text will come out underfull. Use |plus2pt| since that is the same
+% as the glue above sections, but |minus1pt| since we'd usually prefer
+% to shrink somewhere else if possible.
+%
% \begin{macrocode}
-\newskip\AboveTitleSkip \AboveTitleSkip=12\p@
-\newskip\BelowTitleSkip \BelowTitleSkip=8\p@
-\newdimen\strulethickness \strulethickness=.6\p@
+\newskip\AboveTitleSkip \AboveTitleSkip=12pt
+\newskip\BelowTitleSkip \BelowTitleSkip=8pt plus2pt minus1pt
+\newdimen\strulethickness \strulethickness=.6pt
% \end{macrocode}
%
% \cs{@sectitle} actually generates the section title (in a rather
@@ -2571,7 +2588,9 @@
\else
% \end{macrocode}
% Since we have \(\mathtt{\cs{BelowTitleSkip}} + \mathtt{4pt} =
-% \mathtt{\cs{baselineskip}}\), we say:
+% \mathtt{\cs{baselineskip}}\), we skip by |4pt| here. However, an
+% all-text first column still comes out underfull, maybe because of the
+% top rule? Thus \cs{BelowTitleSkip} is given a little stretch and shrink.
% \begin{macrocode}
\nobreak \vskip 4\p@
{%
@@ -2653,66 +2672,80 @@
%
% The \cs{tubsecfmt} macro defines our standard formatting for section
% titles: ragged right, french spacing, no hyphenation.
+% The \cs{tubruninsecfmt} macro is the simpler form for run-in section
+% headings (when the afterskip is negative), with the afterskip glue
+% given by \cs{tubruninglue}.
% The \cs{tubsechook} macro allows overriding the defaults.
%
% \begin{macrocode}
\def\tubsechook{}
\def\tubsecfmt{\normalsize\bf\raggedright\frenchspacing\nohyphens\tubsechook}
+\def\tubruninglue{-1em plus-2\fontdimen3\font minus-\fontdimen4\font}
+\def\tubruninsecfmt{\normalsize\bf\tubsechook}
%
\if@numbersec
- \def\section{\TB@startsection{{section}%
- 1%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\subsection{\TB@startsection{{subsection}%
- 2%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\subsubsection{\TB@startsection{{subsubsection}%
- 3%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\paragraph{\TB@startsection{{paragraph}%
- 4%
- \z@
- {4\p@ \@plus1\p@ \@minus1\p@}%
- {-1em}%
- {\normalsize\bf\tubsechook}}}
-% \end{macrocode}
-%
-% Now the version if class option \textsc{nonumber} is in effect,
+ \def\section{\TB@startsection{%
+ {section} % name of counter
+ {1} % level
+ {0pt} % indent
+ {-8pt plus-2pt minus-2pt} % beforeskip; negative -> \noindent after
+ {4pt} % afterskip; negative -> hspace for run-in
+ {\tubsecfmt}}} % style
+ %
+ \def\subsection{\TB@startsection{%
+ {subsection}%
+ 2%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {4\p@}%
+ {\tubsecfmt}}}
+ %
+ \def\subsubsection{\TB@startsection{%
+ {subsubsection}%
+ 3%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {4\p@}%
+ {\tubsecfmt}}}
+ %
+ \def\paragraph{\TB@startsection{%
+ {paragraph}%
+ 4%
+ \z@
+ {4\p@ \@plus1\p@ \@minus1\p@}%
+ {\tubruninglue}
+ {\tubruninsecfmt}}}
+% \end{macrocode}
+%
+% Now the version if class option \texttt{nonumber} is in effect,
% i.e., if \cs{if@numbersec} is false.
%
% \begin{macrocode}
\else
\setcounter{secnumdepth}{0}
- \def\section{\TB@nolimelabel
- \TB@startsection{{section}%
- 1%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\subsection{\TB@nolimelabel
- \TB@startsection{{subsection}%
- 2%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {-0.5em\@plus-\fontdimen3\font}%
- {\tubsecfmt}}}
- \def\subsubsection{\TB@nolimelabel
- \TB@startsection{{subsubsection}%
- 3%
- \parindent
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {-0.5em\@plus-\fontdimen3\font}%
- {\tubsecfmt}}}
+ \def\section{\TB@nolimelabel\TB@startsection{%
+ {section}% same as numbeed
+ 1%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {4\p@}%
+ {\tubsecfmt}}}
+ %
+ \def\subsection{\TB@nolimelabel\TB@startsection{%
+ {subsection}%
+ 2%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {\tubruninglue}
+ {\tubruninsecfmt}}}
+ %
+ \def\subsubsection{\TB@nolimelabel\TB@startsection{
+ {subsubsection}%
+ 3%
+ \parindent
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {\tubruninglue}
+ {\tubruninsecfmt}}}
\fi
% \end{macrocode}
%
@@ -3075,7 +3108,23 @@
% Let's reduce the default space above captions a bit, and give it some
% flexibility. The default is |10pt|, which seems too much.
% \begin{macrocode}
-\setlength\abovecaptionskip{3pt plus2pt minus1pt}
+\setlength\abovecaptionskip{3pt plus1pt minus1pt}
+% \end{macrocode}
+%
+% Let's also reduce the space between floats, and between floats and text.
+% The |\dbl...| versions of these parameters are not used, even though
+% we're typesetting in double columns.
+% \begin{macrocode}
+\setlength\floatsep { 9pt plus3pt minus2pt} % default 12pt plus2pt minus2pt
+\setlength\textfloatsep{12pt plus4pt minus3pt} % default 20pt plus2pt minus4pt
+% \end{macrocode}
+%
+% We want to allow more floats at the top/bottom/everywhere on
+% a page; all depends on their content.
+% \begin{macrocode}
+\setcounter{bottomnumber}{2} % default 1
+\setcounter{topnumber}{4} % default 2
+\setcounter{totalnumber}{6} % default 3
% \end{macrocode}
%
% \subsection{Size changing commands}
@@ -3883,12 +3932,11 @@
% \begin{macrocode}
\gdef\nomarkfootnote#1#2{\begingroup
\def\thefootnote{}%
- % no period, please, also no fnmark.
+ % no period, please, also no fnmark. Also no hyperref warning.
\def\@makefntext##1{##1}%
\def\Hy@Warning##1{}%
\footnotetext{\noindent #1#2}%
- \endgroup
-}
+\endgroup}
% \end{macrocode}
% \end{macro}
% \end{macro}