summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tugboat
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tugboat')
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.ltx46
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.pdfbin361610 -> 362482 bytes
-rw-r--r--macros/latex/contrib/tugboat/tugboat.bst67
-rw-r--r--macros/latex/contrib/tugboat/tugboat.dtx71
-rw-r--r--macros/latex/contrib/tugboat/tugboat.pdfbin493778 -> 493932 bytes
5 files changed, 135 insertions, 49 deletions
diff --git a/macros/latex/contrib/tugboat/ltubguid.ltx b/macros/latex/contrib/tugboat/ltubguid.ltx
index d2947c0389..da93ceac25 100644
--- a/macros/latex/contrib/tugboat/ltubguid.ltx
+++ b/macros/latex/contrib/tugboat/ltubguid.ltx
@@ -1,4 +1,4 @@
-% $Id: ltubguid.ltx 375 2021-06-25 14:40:52Z karl $
+% $Id: ltubguid.ltx 386 2021-09-28 22:25:51Z karl $
% ltubguid.ltx - documentation for ltugboat classes.
%
% Copyright 1994-2021 TeX Users Group.
@@ -528,11 +528,14 @@ Two caveats about these optional arguments:
defines the \verb|verbatim| environment, as discussed next.
\end{itemize}
-Authors may wish to use a more featureful verbatim package, such as such
-as \pkgname{verbatim}~\cite{Schoepf:verbatim:1996},
-\pkgname{listings}~\cite{pkg:listings}, or
+Authors may wish to use a more featureful verbatim package, such as
+\pkgname{listings}~\cite{pkg:listings} or
\pkgname{fancyvrb}~\cite{pkg:fancyvrb}. This is ok; it just means the
-\TUB\ optional-argument feature is not available.
+\TUB\ optional-argument feature is not available. On the other hand,
+please do not use the \pkgname{minted} package if possible; it is much
+harder to customize and correct at the \TeX\ level, and the shell escape
+requirement is troublesome. In any case, we will almost always wish to
+print code listings in simple black, not colored or even grayscaled.
If you use the \pkgname{listings} package, please specify:
\begin{verbatim}[\small]
@@ -721,21 +724,28 @@ As mentioned above, please load either \texttt{url} or (preferably)
\texttt{hyperref} so that reasonable line breaking of urls can happen.
Furthermore, for the printed (visible) \TUB\ page, nowadays we typically
-omit a leading \texttt{http://} or \texttt{https://}. But for the link
-to actually work in the output \PDF\ or \HTML, the protocol is required
-(or it appears to be a local filesystem path). Therefore the
+prefer to omit a leading \texttt{http://} or \texttt{https://}. But for
+the link to actually work in the output \PDF\ or \HTML, the protocol is
+required (or it appears to be a local filesystem path). Therefore the
\texttt{ltugboat} class provides (as of version 2.23, released
March~2020) commands \cs{tbsurl} for \texttt{https} and \cs{tbhurl} for
-\texttt{http}.\footnote{They are simple two-line wrapper around
-\cs{hyper@linkurl}, and are due to Ulrike Fischer.
+\texttt{http}.\footnote{They are wrappers around \cs{hyper@linkurl}, and
+are due to Ulrike Fischer.
\url{https://github.com/latex3/hyperref/issues/125}\raggedright}
For example, \verb|\tbsurl{tug.org}| typesets the text
`\texttt{tug.org}' (with the usual url line breaks) as a link to
\url{https://tug.org}.
-Similarly, \verb|\tbhurl{mirror.ctan.org}| typesets the text
-`\texttt{mirror.ctan.org}' as a link to \url{http://mirror.ctan.org}.
+Similarly, \verb|\tbhurl{example.org}| typesets the text
+`\texttt{example.org}' as a link to \url{http://example.org}.
+
+The correct protocol can be explicitly specified, and will also be
+stripped for display. That is, \verb|\tbsurl{https://tug.org}| also
+works. This can be particularly useful for bibliographies. However, an
+incorrect protocol (\texttt{http} with \cs{tbsurl} or the converse) will
+not be stripped, and will generate an invalid url. That's ok because
+such an inconsistent specification cannot be handled reliably.
\cs{tbsurl} and \cs{tbhurl} only add the protocol and make live links if
\texttt{hyperref} is loaded. Without \texttt{hyperref}, they are merely
@@ -745,8 +755,8 @@ output, the printed url without the protocol suffices. (When a user
copies/pastes url text into a browser, it will normally work.)
For \texttt{ftp}, \texttt{rsync}, and other protocols, it is best to
-include them explicitly and use \cs{url}:\\ \verb|\url{ftp://tug.org}|,\\
-\verb|\url{rsync://tug.org}|, etc.
+always include them explicitly and use \cs{url}:\\
+\verb|\url{ftp://tug.org}|,\\ \verb|\url{rsync://tug.org}|, etc.
\subsection{Url shortcuts}
\label{sec:urlshortcuts}
@@ -801,7 +811,11 @@ four authors (thanks to Mico Loretan and Oren Patashnik).
\textsf{@inproceedings} allows for citing a part, written by author~X,
of a publication written by author~Y, and not just edited by~Y.
-\item Defines an \textsf{@online} entry type as an alias for \textsf{@misc}.
+\item For the \textsf{@misc} entry type, \textsf{editor} is accepted as
+well as \textsf{author}.
+
+\item Defines entry types \textsf{@online} and \textsf{@software} as
+aliases for \textsf{@misc}.
\item Defines an \textsf{@ctan} entry type to reference packages on
\CTAN, following the fields output by the \pkgname{ctanbib} script (in
@@ -886,7 +900,7 @@ date.
\label{fig:citation-macros}
\end{figure}
-Note that, if Tom, Dick, and Harry are a prolific team, there can
+Furthermore, if Tom, Dick, and Harry are a prolific team, there can
easily be more than one reference to their work in one year. In such
a case, the citations will be (Tom, Dick, and Harry, 1990a), (Tom,
Dick, and Harry, 1990b), and so on. These extra `a', `b', etc., tags
diff --git a/macros/latex/contrib/tugboat/ltubguid.pdf b/macros/latex/contrib/tugboat/ltubguid.pdf
index ea48ea3b36..02091c20d9 100644
--- a/macros/latex/contrib/tugboat/ltubguid.pdf
+++ b/macros/latex/contrib/tugboat/ltubguid.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/tugboat.bst b/macros/latex/contrib/tugboat/tugboat.bst
index 7fadb59d35..806a63ad57 100644
--- a/macros/latex/contrib/tugboat/tugboat.bst
+++ b/macros/latex/contrib/tugboat/tugboat.bst
@@ -1,25 +1,29 @@
-%%% $Id: tugboat.bst 375 2021-06-25 14:40:52Z karl $
+%%% $Id: tugboat.bst 379 2021-08-29 17:31:15Z karl $
%%% TUGboat changes are public domain.
%%%
%%% Modified for TUGboat from abbrvurl.bst:
-%%% New entry types @ctan (see ctanbib) and @online (alias for @misc).
+%%% New entry types: @ctan (see ctanbib);
+%%% @online and @software (aliases for @misc).
+%%% For @misc, the editor field is accepted along with author.
%%% New field bookauthor for @incollection and @inproceedings.
%%% Abbreviate "page(s)" to "p(p).",
%%% "volume" to "vol.",
-%%% "editor(s)" to "ed(s)".
+%%% "editor(s)" to "ed(s).",
+%%% "edition" to "ed.".
%%% Output "Ph.D." rather than "PhD".
%%% Output "No." and "no." for number field.
%%% Omit spaces between author initials, like "A.B. Smith".
-%%% Set urlintro="".
-%%% Always use https://doi.org/ for the doi url, and omit doi: prefix
-%%% (todo: doi urls not linked correctly).
-%%% Truncate long author lists in format.names (max.names, trunc.num)
-%%% and omit "and" from author lists, per Oren P.
+%%% Set urlintro="" and onlinestring="".
+%%% Always use https://doi.org/ for the doi url; omit "doi:" from output.
+%%% Truncate long author lists in format.names (max.names, trunc.num);
+%%% omit "and" from author lists, per Oren P.
%%% Use \emph instead of \em so we get automatic italic corrections.
%%% New fields for editors:
%%% "journaltie" - ~ instead of space after journal name.
%%% "newpage" - force page break after entry;
-%%% "prebibitem" - material output before \bibitem, with newline appended.
+%%% "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;
%%%
%%% --karl, originally created 24jul18.
@@ -76,8 +80,10 @@ ENTRY
date % ctan
urldate % ctan
version % ctan
+ %
journaltie % tub
newpage % tub
+ nowarning % tub
prebibitem % tub
urlnewline % tub
}
@@ -107,13 +113,13 @@ FUNCTION {init.urlbst.variables}
% String constants, which you _might_ want to tweak.
"" 'urlintro := % prefix before URL; typically "Available from:" or "URL":
- "online" 'onlinestring := % indication that resource is online; typically "online"
+ "" 'onlinestring := % indication that resource is online; typically "online"
"cited " 'citedstring := % indicator of citation date; typically "cited "
"[link]" 'linktextstring := % dummy link text; typically "[link]"
"http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
"arXiv:" 'eprintprefix := % text prefix printed before eprint ref; typically "arXiv:"
"https://doi.org/" 'doiurl := % prefix to make URL from DOI
- "doi:" 'doiprefix := % text prefix printed before DOI ref; typically "doi:"
+ "" 'doiprefix := % text prefix printed before DOI ref; typically "doi:"
"http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED
"PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref; typically "PMID:"
@@ -318,7 +324,12 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ nowarning empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ 'skip$
+ if$
+ }
{ t 'last.output.check :=
output.nonnull }
if$
@@ -656,8 +667,8 @@ FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
- { edition "l" change.case$ " edition" * }
- { edition "t" change.case$ " edition" * }
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
if$
}
if$
@@ -940,7 +951,7 @@ FUNCTION {format.eprint}
FUNCTION {format.doi}
{ doi empty$
{ "" }
- { doi doiurl make.href }
+ { doiprefix doi * doiurl doi * make.href }
if$
}
@@ -1291,7 +1302,18 @@ FUNCTION {mastersthesis}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ % originally just:
+ % format.authors output
+ author empty$
+ {
+ editor empty$
+ 'skip$
+ { format.editors output.nonnull }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ %
title howpublished new.block.checkb
title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title output
@@ -1307,6 +1329,9 @@ FUNCTION {misc}
FUNCTION {online}
{ misc }
+FUNCTION {software}
+{ misc }
+
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
@@ -1615,8 +1640,14 @@ FUNCTION {presort}
{ type$ "proceedings" =
'editor.organization.sort
{ type$ "manual" =
- 'author.organization.sort
- 'author.sort
+ { author.organization.sort }
+ { type$ "online" =
+ type$ "misc" =
+ or
+ { author.editor.sort }
+ { author.sort }
+ if$
+ }
if$
}
if$
diff --git a/macros/latex/contrib/tugboat/tugboat.dtx b/macros/latex/contrib/tugboat/tugboat.dtx
index 6b627b723e..a37201087c 100644
--- a/macros/latex/contrib/tugboat/tugboat.dtx
+++ b/macros/latex/contrib/tugboat/tugboat.dtx
@@ -1,5 +1,5 @@
% \iffalse (this is a meta-comment (so they say))
-% $Id: tugboat.dtx 376 2021-06-27 16:27:44Z karl $
+% $Id: tugboat.dtx 392 2021-10-12 21:31:32Z karl $
% tugboat.dtx - main source for LaTeX TUGboat classes.
%
% Copyright 1994-2021 TeX Users Group.
@@ -28,7 +28,7 @@
%<ltugboatsty>\ProvidesPackage{ltugboat}
%<ltugprocsty>\ProvidesPackage{ltugproc}
%<ltugcomn> \ProvidesPackage{ltugcomn}
- [2021-06-27 v2.25
+ [2021-10-12 v2.26
%<ltugboatcls> TUGboat journal class%
%<ltugproccls> TUG conference proceedings class%
%<ltugboatsty|ltugprocsty> TUG compatibility package%
@@ -346,11 +346,20 @@
% We want to use \texttt{hyperref}'s \cs{texorpdfstring}, e.g., in the
% \texttt{draft} option above. If \texttt{hyperref} is not loaded,
% define our own trivial fallback to expand to the \TeX\ (first) argument.
+%
+% Similarly, disable \acro if we have hyperref, commonly used in sections.
% \begin{macrocode}
\AtBeginDocument{%
\ifx\undefined\texorpdfstring
\DeclareRobustCommand{\texorpdfstring}[2]{#1}%
\fi
+ %
+ \ifx\undefined\pdfstringdefDisableCommands\else
+ \pdfstringdefDisableCommands{%
+ \let\acro\relax
+ % lots more could be added.
+ }%
+ \fi
}
% \end{macrocode}
%
@@ -706,6 +715,7 @@
\def\Ghostscript{Ghost\-script}
\def\GNU{\acro{GNU}}
\def\GUI{\acro{GUI}}
+\DeclareRobustCommand{\HarfBuzz}{Harf\discretionary{-}{}{\kern.077em}Buzz}
\def\Hawaii{Hawai`i}
\def\HTML{\acro{HTML}}
\def\HTTP{\acro{HTTP}}
@@ -896,7 +906,7 @@
\ifdim \fontdimen1\font>0pt
% XeTeX logo needs tinkering when slanted/italic font.
\def\XekernbeforeE{-.11em}%
- \def\XekernafterE{-.11em}%
+ \def\XekernafterE{-.16em}%
\dp1=-.17ex
\fi
\lower\dp0\hbox{\raise\dp1\hbox{\kern\XekernbeforeE\tubreflect{E}}}%
@@ -1198,13 +1208,36 @@
\else
% This hyperref hook-in is due to Ulrike Fischer.
% \url{https://github.com/latex3/hyperref/issues/125}.
+ % \tb[sh]url@ are defined next.
\DeclareRobustCommand*{\tbsurl}{\hyper@normalise\tbsurl@}%
- \def\tbsurl@#1{\hyper@linkurl{\Hurl{#1}}{https://#1}}%
\DeclareRobustCommand*{\tbhurl}{\hyper@normalise\tbhurl@}
- \def\tbhurl@#1{\hyper@linkurl{\Hurl{#1}}{http://#1}}%
\fi
}
%
+% Outside \AtBeginDocument, back at the top level of the dtx,
+% turn on expl syntax for the main definitions of \tb[sh]url. We want
+% to auto-remove an explicit protocol in case it
+% was given. Only the correct protocol is removed, the incorrect
+% protocol (\tbsurl{http://}) generates an invalid link. That's ok
+% because the link wouldn't be correct anyway.
+\ExplSyntaxOn
+\def\tbsurl@#1 % https
+ {
+ \str_set:Nn\l_tmpa_str{#1}
+ \str_remove_once:Nn\l_tmpa_str{https://}
+ \expandafter\hyper@linkurl\expandafter{\expandafter\Hurl\expandafter
+ {\l_tmpa_str}}{https://\l_tmpa_str}
+ }
+
+\def\tbhurl@#1 % http
+ {
+ \str_set:Nn\l_tmpa_str{#1}
+ \str_remove_once:Nn\l_tmpa_str{http://}
+ \expandafter\hyper@linkurl\expandafter{\expandafter\Hurl\expandafter
+ {\l_tmpa_str}}{http://\l_tmpa_str}
+ }
+\ExplSyntaxOff
+%
% Make \! work in text mode.
\DeclareRobustCommand{\!}{\ifmmode\mskip-\thinmuskip \else\kern-0.16667em \fi}
%
@@ -1837,7 +1870,7 @@
\def\|{\unskip\hfil\break}%
\def\\{\endgraf}%
\def\phone{\rm Phone: }%
- \def\tubmultipleaffilauthor{\\\hspace*{1em}}%
+ \def\tubmultipleaffilauthor{\unskip,\\\hspace*{1em}}%
\rm\@signature}%
}%
\ifnum\authornumber<0 \endgroup\fi
@@ -1847,14 +1880,16 @@
%
% The idea here is that if multiple authors share affiliation
% information, we need only typeset the affiliation once. We separate by
-% commas for the \cs{maketitle}, and put on separate lines in the
-% \cs{makesignature}. Similarly, within \cs{netaddress},
-% |!tubmultipleaffilnet| separates with a space before and after the
-% comma, while . (All this per bb.) See |tb122childs-trotter.ltx| for an
-% example.
+% commas for the \cs{maketitle}, and put on separate lines, also with commas,
+% in the \cs{makesignature}.
+%
+% Similarly, within \cs{netaddress}, |!tubmultipleaffilnet| separates
+% with a space before and after the
+% comma. (All this per bb.) See |tb122childs-trotter.ltx|,
+% |tb131sojka-czech.ltx| for examples.
%
% \begin{macrocode}
-\def\tubmultipleaffilauthor{\unskip, \ignorespaces}%
+\def\tubmultipleaffilauthor{\unskip,\ \ignorespaces}%
\def\tubmultipleaffilnet{\unskip\textrm{\,,\ \ignorespaces}}
% \end{macrocode}
%
@@ -2772,11 +2807,15 @@
% \end{macrocode}
%
% Also use \cs{tubcaptionfonts} for the caption
-% labels, and put the label itself (e.g., ``Figure 1'') in bold.
+% labels, and put the label (e.g., ``Figure 1'') in bold.
+% If the \texttt{listings} package is being used, bold for its
+% label too; this \cs{def} is too early, but maybe listings will
+% play nice later.
%
% \begin{macrocode}
\def\fnum@figure{{\tubcaptionfonts \bf \figurename\nobreakspace\thefigure}}
\def\fnum@table{{\tubcaptionfonts \bf \tablename\nobreakspace\thetable}}
+\def\lstlistingnamestyle{\bfseries}
% \end{macrocode}
%
% Let's reduce the default space above captions a bit, and give it some
@@ -3009,7 +3048,7 @@
%
% Finally, if |microtype| is loaded, we want it to be deactivated in
% verbatim blocks. It often manipulates a leading |\| rather too much,
-% and messes with the visible fixed-width alignment.
+% thus messing with the visible fixed-width alignment.
% \begin{macrocode}
\AtBeginDocument{%
\@ifpackageloaded{microtype}
@@ -3356,6 +3395,7 @@
% \begin{macrocode}
%
\def\tubdoiprefix{10.47397/tb} % the number crossref assigned us
+\def\tubabovedoi{} % fudge spacing or whatever.
%
\def\tubtypesetdoi{\iftubomitdoioption\else % if not explicit omission ...
\iftubfinaloption % do this if [final], even if pageno>900
@@ -3364,6 +3404,7 @@
doi.org/\tubdoiprefix/\volno-\issno/\jobname}%
\scriptsize
\vskip\baselineskip
+ \tubabovedoi
\iftubsecondcolstart \moveright \tubcolwidthandgutter \fi
\rlap{\expandafter\tbsurl\expandafter{\thedoi}}%
\vss
@@ -3556,7 +3597,7 @@
% \subsection{Initialization}
%
% If we're going to use Harvard-style bibliographies, we set up the
-% bibliography style: the user doesn't get any choice.
+% bibliography style: the user doesn't get any choice. (Not recommended.)
%
% \begin{macrocode}
\if@Harvardcite
diff --git a/macros/latex/contrib/tugboat/tugboat.pdf b/macros/latex/contrib/tugboat/tugboat.pdf
index 0962006255..97c1f134f8 100644
--- a/macros/latex/contrib/tugboat/tugboat.pdf
+++ b/macros/latex/contrib/tugboat/tugboat.pdf
Binary files differ