summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-03-13 03:02:35 +0000
committerNorbert Preining <norbert@preining.info>2020-03-13 03:02:35 +0000
commit7f2b2a9d664831db3f6dcb985d3a10212ce3b752 (patch)
tree5b5ca88ef53ca03a6e4d8232ae8964bf2001b053 /macros/latex/contrib
parentc4777604044f5d7ed37fd9e47edd58b44630a66d (diff)
CTAN sync 202003130302
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/l3backend/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3backend/README.md2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-basics.dtx12
-rw-r--r--macros/latex/contrib/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-code.pdfbin742486 -> 741266 bytes
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-draw.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-graphics.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-header.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-pdf.dtx39
-rw-r--r--macros/latex/contrib/l3build/CHANGELOG.md16
-rw-r--r--macros/latex/contrib/l3build/README.md2
-rw-r--r--macros/latex/contrib/l3build/l3build-check.lua6
-rw-r--r--macros/latex/contrib/l3build/l3build-file-functions.lua4
-rw-r--r--macros/latex/contrib/l3build/l3build-install.lua33
-rw-r--r--macros/latex/contrib/l3build/l3build-typesetting.lua29
-rw-r--r--macros/latex/contrib/l3build/l3build-variables.lua1
-rw-r--r--macros/latex/contrib/l3build/l3build.12
-rw-r--r--macros/latex/contrib/l3build/l3build.dtx5
-rwxr-xr-xmacros/latex/contrib/l3build/l3build.lua2
-rw-r--r--macros/latex/contrib/l3build/l3build.pdfbin706664 -> 706870 bytes
-rw-r--r--macros/latex/contrib/tugboat/README8
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.ltx142
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.pdfbin325091 -> 330289 bytes
-rw-r--r--macros/latex/contrib/tugboat/tugboat.bst18
-rw-r--r--macros/latex/contrib/tugboat/tugboat.dtx75
-rw-r--r--macros/latex/contrib/tugboat/tugboat.ins14
-rw-r--r--macros/latex/contrib/tugboat/tugboat.pdfbin461276 -> 462486 bytes
28 files changed, 273 insertions, 155 deletions
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md
index 93cf02a404..920e730ce8 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/contrib/l3backend/CHANGELOG.md
@@ -6,6 +6,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-03-12]
+
+### Fixed
+- Creation of PDF annotations with `dvips` backend
+
## [2020-02-23]
### Fixed
@@ -56,7 +61,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-02-23...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-03-12...HEAD
+[2020-03-12]: https://github.com/latex3/latex3/compare/2020-02-23...2020-03-12
[2020-02-23]: https://github.com/latex3/latex3/compare/2020-02-21...2020-02-23
[2020-02-21]: https://github.com/latex3/latex3/compare/2020-02-03...2020-02-21
[2020-02-03]: https://github.com/latex3/latex3/compare/2019-11-25...2020-02-03
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md
index 82169e18b7..370b2a991e 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/contrib/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2020-02-23
+Release 2020-03-12
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx
index ac6952ee3e..1ab76b974d 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-23}
+% \date{Released 2020-03-12}
%
% \maketitle
%
@@ -71,23 +71,23 @@
%<*package>
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2020-02-23}{}
+ {l3backend-dvipdfmx.def}{2020-03-12}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2020-02-23}{}
+ {l3backend-dvips.def}{2020-03-12}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2020-02-23}{}
+ {l3backend-dvisvgm.def}{2020-03-12}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*pdfmode>
- {l3backend-pdfmode.def}{2020-02-23}{}
+ {l3backend-pdfmode.def}{2020-03-12}{}
{L3 backend support: PDF mode}
%</pdfmode>
%<*xdvipdfmx>
- {l3backend-xdvipdfmx.def}{2020-02-23}{}
+ {l3backend-xdvipdfmx.def}{2020-03-12}{}
{L3 backend support: xdvipdfmx}
%</xdvipdfmx>
%</package>
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx
index 1fec3f8c31..8a855c54c8 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-23}
+% \date{Released 2020-03-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf
index 7d1ecc38fb..e15a5040e0 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ b/macros/latex/contrib/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx
index f580a1e884..6381a09b93 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-23}
+% \date{Released 2020-03-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx
index f94cb38fc0..88114fec28 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-23}
+% \date{Released 2020-03-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
index 3549147e91..e6ca664660 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-23}
+% \date{Released 2020-03-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx
index d43145935b..490d552233 100644
--- a/macros/latex/contrib/l3backend/l3backend-header.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-23}
+% \date{Released 2020-03-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
index fbc9fcd198..14496bbc89 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-23}
+% \date{Released 2020-03-12}
%
% \maketitle
%
@@ -253,41 +253,30 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_backend_annotation:nnnn, \@@_backend_annotation_aux:nnnn}
-% \begin{macro}{pdf.llx, pdf.lly, pdf.urx, pdf.ury}
+% \begin{macro}{\@@_backend_annotation:nnnn}
% Annotations are objects, but we track them separately. Notably, they are
% not in the object data lists. Here, to get the co-ordinates of the
% annotation, we need to have the data collected at the PostScript level.
% That requires a bit of box trickery (effectively a \LaTeXe{} |picture|
% of zero size). Once the data is collected, use it to set up the annotation
-% border. There is a split into two parts here to allow an easy way of
-% applying the Adobe Reader fix.
+% border.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_annotation:nnnn #1#2#3#4
{
- \@@_backend_annotation_aux:nnnn {#1} {#2} {#3} {#4}
- \int_gincr:N \g_@@_backend_object_int
- \int_gset_eq:NN \g_@@_backend_annotation_int \g_@@_backend_object_int
- \@@_backend_pdfmark:x
- {
-
- /_objdef { pdf.obj \int_use:N \g_@@_backend_object_int }
- pdf.rect ~
- #4 ~
- /ANN
- }
+ \exp_args:Nf \@@_backend_annotation_aux:nnnn
+ { \dim_eval:n {#1} } {#2} {#3} {#4}
}
\cs_new_protected:Npn \@@_backend_annotation_aux:nnnn #1#2#3#4
{
\box_move_down:nn {#3}
{ \hbox:n { \__kernel_backend_postscript:n { pdf.save.ll } } }
- \hbox:n {#4}
\box_move_up:nn {#2}
{
\hbox:n
{
- \tex_kern:D \dim_eval:n {#1} \scan_stop:
+ \tex_kern:D #1 \scan_stop:
\__kernel_backend_postscript:n { pdf.save.ur }
+ \tex_kern:D -#1 \scan_stop:
}
}
\int_gincr:N \g_@@_backend_object_int
@@ -296,12 +285,12 @@
{
/_objdef { pdf.obj \int_use:N \g_@@_backend_object_int }
pdf.rect
+ #4 ~
/ANN
}
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
% \begin{macro}[EXP]{\@@_backend_annotation_last:}
% Provide the last annotation we created: could get tricky of course if
@@ -616,7 +605,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_backend_destination:nn, \@@_backend_destination_rectangle:nn}
+% \begin{macro}{\@@_backend_destination:nn, \@@_backend_destination_box:nn}
% Here, we need to turn the zoom into a scale. We also need to know where
% the current anchor point actually is: worked out in PostScript. For the
% rectangle version, we have a bit more PostScript: we need two points.
@@ -646,7 +635,7 @@
/DEST
}
}
-\cs_new_protected:Npn \@@_backend_destination_rectangle:nn #1#2
+\cs_new_protected:Npn \@@_backend_destination_box:nn #1#2
{
\group_begin:
\hbox_set:Nn \l_@@_internal_box {#2}
@@ -814,7 +803,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_backend_destination:nn, \@@_backend_destination_rectangle:nn}
+% \begin{macro}{\@@_backend_destination:nn, \@@_backend_destination_box:nn}
% A simple task: pass the data to the primitive. The |\scan_stop:| deals
% with the danger of an unterminated keyword. The zoom given here is a
% percentage, but we need to pass it as \emph{per mille}. The rectangle
@@ -839,7 +828,7 @@
{ xyz ~ zoom \exp_not:N \fp_eval:n { #2 * 10 } }
\scan_stop:
}
-\cs_new_protected:Npx \@@_backend_destination_rectangle:nn #1#2
+\cs_new_protected:Npx \@@_backend_destination_box:nn #1#2
{
\group_begin:
\hbox_set:Nn \l_@@_internal_box {#2}
@@ -1365,7 +1354,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_backend_destination:nn, \@@_backend_destination_rectangle:nn}
+% \begin{macro}{\@@_backend_destination:nn, \@@_backend_destination_box:nn}
% Here, we need to turn the zoom into a scale. The method for \texttt{FitR}
% is from Alexander Grahn: the idea is to avoid needing to do any calculations
% in \TeX{} by using the backend data for \texttt{@xpos} and \texttt{@ypos}.
@@ -1391,7 +1380,7 @@
]
}
}
-\cs_new_protected:Npn \@@_backend_destination_rectangle:nn #1#2
+\cs_new_protected:Npn \@@_backend_destination_box:nn #1#2
{
\group_begin:
\hbox_set:Nn \l_@@_internal_box {#2}
diff --git a/macros/latex/contrib/l3build/CHANGELOG.md b/macros/latex/contrib/l3build/CHANGELOG.md
index b0cc92a424..0d10b39b56 100644
--- a/macros/latex/contrib/l3build/CHANGELOG.md
+++ b/macros/latex/contrib/l3build/CHANGELOG.md
@@ -7,6 +7,19 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-03-12]
+
+### Added
+- Option `ps2pdfopt`
+
+### Changed
+- Normalise `/ID` lines in PDF comparisons
+- Normalise `%%` lines in PDF comparisons
+
+### Fixed
+- Enable `cleandir()` recursively
+- Install files after *all* directory cleaning/creation
+
## [2020-02-21]
### Changed
@@ -434,7 +447,8 @@ this project uses date-based 'snapshot' version identifiers.
- Rationalise short option names: removed `-d`, `-E`, `-r`
- Target `cmdcheck`: specific to LaTeX3 kernel work
-[Unreleased]: https://github.com/latex3/l3build/compare/2020-02-21...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2020-03-12...HEAD
+[2020-03-12]: https://github.com/latex3/l3build/compare/2020-02-21...2020-03-12
[2020-02-21]: https://github.com/latex3/l3build/compare/2020-02-17...2020-02-21
[2020-02-17]: https://github.com/latex3/l3build/compare/2020-02-03...2020-02-17
[2020-02-03]: https://github.com/latex3/l3build/compare/2020-01-14...2020-02-03
diff --git a/macros/latex/contrib/l3build/README.md b/macros/latex/contrib/l3build/README.md
index 2228c502f9..2817fa8425 100644
--- a/macros/latex/contrib/l3build/README.md
+++ b/macros/latex/contrib/l3build/README.md
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX3
=================================================
-Release 2020-02-21
+Release 2020-03-12
Overview
--------
diff --git a/macros/latex/contrib/l3build/l3build-check.lua b/macros/latex/contrib/l3build/l3build-check.lua
index 17e6321787..c90c8fbc5a 100644
--- a/macros/latex/contrib/l3build/l3build-check.lua
+++ b/macros/latex/contrib/l3build/l3build-check.lua
@@ -537,7 +537,8 @@ local function normalize_pdf(content)
binary = false
stream = true
stream_content = "stream" .. os_newline
- elseif not match(line, "^ *$") then
+ elseif not match(line, "^ *$") and not match(line,"^%%%%") then
+ line = gsub(line,"%/ID %[<[^>]+><[^>]+>]","/ID [<ID-STRING><ID-STRING>]")
new_content = new_content .. line .. os_newline
end
end
@@ -768,6 +769,9 @@ function runtest(name, engine, hide, ext, pdfmode, breakout)
-- Break the loop if the result is stable
if breakout and i < checkruns then
if pdfmode then
+ if fileexists(testdir .. "/" .. name .. dviext) then
+ dvitopdf(name, testdir, engine, hide)
+ end
rewrite(pdffile,npffile,normalize_pdf)
if compare_pdf(name,engine,true) == 0 then
break
diff --git a/macros/latex/contrib/l3build/l3build-file-functions.lua b/macros/latex/contrib/l3build/l3build-file-functions.lua
index e3000b45ef..6c420f80a2 100644
--- a/macros/latex/contrib/l3build/l3build-file-functions.lua
+++ b/macros/latex/contrib/l3build/l3build-file-functions.lua
@@ -204,7 +204,7 @@ function cleandir(dir)
if errorlevel ~= 0 then
return errorlevel
end
- return rm(dir, "*")
+ return rm(dir, "**")
end
-- Copy files 'quietly'
@@ -376,7 +376,7 @@ end
-- Remove file(s) based on a glob
function rm(source, glob)
- for _,i in ipairs(filelist(source, glob)) do
+ for i,_ in pairs(tree(source, glob)) do
rmfile(source,i)
end
-- os.remove doesn't give a sensible errorlevel
diff --git a/macros/latex/contrib/l3build/l3build-install.lua b/macros/latex/contrib/l3build/l3build-install.lua
index 1007d2ed1b..4b95f9ef43 100644
--- a/macros/latex/contrib/l3build/l3build-install.lua
+++ b/macros/latex/contrib/l3build/l3build-install.lua
@@ -108,8 +108,11 @@ function install_files(target,full,dry_run)
-- Needed so paths are only cleaned out once
local cleanpaths = { }
+ -- Collect up all file data before copying:
+ -- ensures no files are lost during clean-up
+ local installmap = { }
- local function install_files(source,dir,files,subdir)
+ local function create_install_map(source,dir,files,subdir)
subdir = subdir or moduledir
-- For material associated with secondary tools (BibTeX, MakeIndex)
-- the structure needed is slightly different from those items going
@@ -172,13 +175,14 @@ function install_files(target,full,dry_run)
print("- " .. file)
else
local path,file = splitpath(file)
- errorlevel = cp(file,sourcepaths[file],target .. "/" .. path)
- if errorlevel ~= 0 then return errorlevel end
+ insert(installmap,
+ {file = file, source = sourcepaths[file], dest = target .. "/" .. path})
end
end
end
return 0
end
+
local errorlevel = unpack()
if errorlevel ~= 0 then return errorlevel end
@@ -233,8 +237,8 @@ function install_files(target,full,dry_run)
print("\nFor installation inside " .. target .. ":")
end
- errorlevel = install_files(sourcefiledir,"source",{sourcelist})
- + install_files(docfiledir,"doc",
+ errorlevel = create_install_map(sourcefiledir,"source",{sourcelist})
+ + create_install_map(docfiledir,"doc",
{bibfiles,demofiles,docfiles,pdffiles,textfiles,typesetlist})
if errorlevel ~= 0 then return errorlevel end
@@ -272,12 +276,21 @@ function install_files(target,full,dry_run)
if errorlevel ~= 0 then return errorlevel end
- errorlevel = install_files(unpackdir,"tex",{installlist})
- + install_files(unpackdir,"bibtex/bst",{bstfiles},module)
- + install_files(unpackdir,"makeindex",{makeindexfiles},module)
- + install_files(unpackdir,"scripts",{scriptfiles},module)
+ errorlevel = create_install_map(unpackdir,"tex",{installlist})
+ + create_install_map(unpackdir,"bibtex/bst",{bstfiles},module)
+ + create_install_map(unpackdir,"makeindex",{makeindexfiles},module)
+ + create_install_map(unpackdir,"scripts",{scriptfiles},module)
+
+ if errorlevel ~= 0 then return errorlevel end
+
+ -- Files are all copied in one shot: this ensures that cleandir()
+ -- can't be an issue even if there are complex set-ups
+ for _,v in ipairs(installmap) do
+ errorlevel = cp(v.file,v.source,v.dest)
+ if errorlevel ~= 0 then return errorlevel end
+ end
- return errorlevel
+ return 0
end
function install()
diff --git a/macros/latex/contrib/l3build/l3build-typesetting.lua b/macros/latex/contrib/l3build/l3build-typesetting.lua
index b76edd913b..540ac3f384 100644
--- a/macros/latex/contrib/l3build/l3build-typesetting.lua
+++ b/macros/latex/contrib/l3build/l3build-typesetting.lua
@@ -1,6 +1,6 @@
--[[
-File l3build-typesetting.lua Copyright (C) 2018,2019 The LaTeX3 Project
+File l3build-typesetting.lua Copyright (C) 2018-2020 The LaTeX3 Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -36,24 +36,15 @@ local match = string.match
local os_type = os.type
function dvitopdf(name, dir, engine, hide)
- if match(engine, "^u?ptex$") then
- run(
- dir,
- (forcecheckepoch and setepoch() or "") ..
- "dvipdfmx " .. name .. dviext
- .. (hide and (" > " .. os_null) or "")
- )
- else
- run(
- dir,
- (forcecheckepoch and setepoch() or "") ..
- "dvips " .. name .. dviext
- .. (hide and (" > " .. os_null) or "")
- .. os_concat ..
- "ps2pdf " .. name .. psext
- .. (hide and (" > " .. os_null) or "")
- )
- end
+ run(
+ dir,
+ (forcecheckepoch and setepoch() or "") ..
+ "dvips " .. name .. dviext
+ .. (hide and (" > " .. os_null) or "")
+ .. os_concat ..
+ "ps2pdf " .. ps2pdfopt .. name .. psext
+ .. (hide and (" > " .. os_null) or "")
+ )
end
-- An auxiliary used to set up the environmental variables
diff --git a/macros/latex/contrib/l3build/l3build-variables.lua b/macros/latex/contrib/l3build/l3build-variables.lua
index e69eb5aff1..dcb2521869 100644
--- a/macros/latex/contrib/l3build/l3build-variables.lua
+++ b/macros/latex/contrib/l3build/l3build-variables.lua
@@ -184,6 +184,7 @@ if flattentds == nil then
end
maxprintline = maxprintline or 79
packtdszip = packtdszip or false
+ps2pdfopt = ps2pdfopt or ""
typesetcmds = typesetcmds or ""
typesetruns = typesetruns or 3
recordstatus = recordstatus or false
diff --git a/macros/latex/contrib/l3build/l3build.1 b/macros/latex/contrib/l3build/l3build.1
index ca160fe5dc..01cefeeeb1 100644
--- a/macros/latex/contrib/l3build/l3build.1
+++ b/macros/latex/contrib/l3build/l3build.1
@@ -1,4 +1,4 @@
-.TH l3build 1 "2020-02-21"
+.TH l3build 1 "2020-03-12"
.SH NAME
l3build \- Checking and building packages
.SH SYNOPSIS
diff --git a/macros/latex/contrib/l3build/l3build.dtx b/macros/latex/contrib/l3build/l3build.dtx
index 56bcbb9243..6121a0255b 100644
--- a/macros/latex/contrib/l3build/l3build.dtx
+++ b/macros/latex/contrib/l3build/l3build.dtx
@@ -152,6 +152,7 @@
\luavarset{flattentds} {true} {Switch to flatten any source structure when creating a TDS structure}
\luavarset{maxprintline}{79} {Length of line to use in log files}
\luavarset{packtdszip} {false} {Switch to build a TDS-style zip file for CTAN}
+\luavarset{ps2pdfopts} {""} {Options for \texttt{ps2pdf}}
\luavarset{typesetcmds} {""} {Instructions to be passed to \TeX{} when doing typesetting}
\luavarset{typesetruns}{3} {Number of cycles of typesetting to carry out}
\luavarset{recordstatus}{false} {Switch to include error level from test runs in \texttt{.tlg} files}
@@ -233,7 +234,7 @@
% }^^A
% }
%
-% \date{Released 2020-02-21}
+% \date{Released 2020-03-12}
%
% \maketitle
% \tableofcontents
@@ -1230,7 +1231,9 @@
% normalization takes place:
% \begin{itemize}
% \item Replacement of binary streams by the marker |[BINARY STREAM]|
+% \item Replacement of \texttt{/ID} values by |ID-STRING|
% \item Removal of blank lines
+% \item Removal of comment (|%%|) lines
% \end{itemize}
%
% After this normalization takes place, the file can not usually be rendered
diff --git a/macros/latex/contrib/l3build/l3build.lua b/macros/latex/contrib/l3build/l3build.lua
index ccb05eed31..60b6ac5284 100755
--- a/macros/latex/contrib/l3build/l3build.lua
+++ b/macros/latex/contrib/l3build/l3build.lua
@@ -25,7 +25,7 @@ for those people who are interested.
--]]
-- Version information
-release_date = "2020-02-21"
+release_date = "2020-03-12"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")
diff --git a/macros/latex/contrib/l3build/l3build.pdf b/macros/latex/contrib/l3build/l3build.pdf
index 0739a67dab..069c548b6d 100644
--- a/macros/latex/contrib/l3build/l3build.pdf
+++ b/macros/latex/contrib/l3build/l3build.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/README b/macros/latex/contrib/tugboat/README
index bed52cdfdb..d4e7d544a8 100644
--- a/macros/latex/contrib/tugboat/README
+++ b/macros/latex/contrib/tugboat/README
@@ -1,11 +1,11 @@
-$Id: README 261 2019-11-09 22:00:31Z karl $
-Copyright 2006, 2009-2019 TeX Users Group.
+$Id: README 274 2020-03-12 16:47:21Z karl $
+Copyright 2006, 2009-2020 TeX Users Group.
You may freely use, modify and/or distribute this file.
LaTeX macros for use in TUGboat
===============================
-See the TUGboat web pages at http://tug.org/TUGboat for upcoming
+See the TUGboat web pages at https://tug.org/TUGboat for upcoming
deadlines, tips on writing articles, access to online issues, etc.
We greatly appreciate new article submissions!
@@ -24,7 +24,7 @@ Installation and use:
Usually you can get the tugboat packages through your distribution.
But if you want to install it by hand from CTAN, its directory there
-(see http://ctan.org/pkg/tugboat) has three files containing TeX code:
+(see https://ctan.org/pkg/tugboat) has three files containing TeX code:
tugboat.dtx -- the source for the macros
tugboat.ins -- the docstrip instructions
diff --git a/macros/latex/contrib/tugboat/ltubguid.ltx b/macros/latex/contrib/tugboat/ltubguid.ltx
index 906789bf28..db9f183dac 100644
--- a/macros/latex/contrib/tugboat/ltubguid.ltx
+++ b/macros/latex/contrib/tugboat/ltubguid.ltx
@@ -1,7 +1,7 @@
-% $Id: ltubguid.ltx 261 2019-11-09 22:00:31Z karl $
+% $Id: ltubguid.ltx 274 2020-03-12 16:47:21Z karl $
% ltubguid.ltx - documentation for ltugboat classes.
%
-% Copyright 1994-2019 TeX Users Group.
+% Copyright 1994-2020 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -207,7 +207,7 @@ authors. The macros represent a development of the earlier
use with \LaTeX~2.09; major contributors have been Robin Fairbairns,
Sebastian Rahtz, Michel Goossens, Nico Poppelier and Johannes Braams.
Many others have been involved, including Barbara Beeton, Karl Berry,
-Mimi Burbank, and the \LaTeX3 team.
+Mimi Burbank, and the \LaTeX\ team.
\section{Availability}
@@ -226,8 +226,8 @@ produced. (\path|ltugproc.cls| is also produced for compatibility, but
is no longer used for proceedings or anything else.)
The\,\verb|.dtx| file may itself be processed by \LaTeX{} to
-produce a formatted (somewhat `literate') source listing for those who
-would like more detailed descriptions of the \TUB\ macros.
+produce a formatted (somewhat `literate') source listing for those
+interested in the implementation of the \TUB\ macros.
\section{The general structure of a paper}
@@ -631,7 +631,7 @@ generate calls to \cs{acro}; two examples, \cs{CTAN} and \cs{tug} of the
list in figure~\ref{fig:acro-logo} have already been used in the present
paper.
-\subsection{Other special typesetting}
+\subsection{Assorted other markup}
A small list of special typesetting commands follows: a large set of
such commands is defined in the classes, but the list covers most of
@@ -654,6 +654,8 @@ the `everyday' ones.
% for example \verb|\sfrac{3}{4}| is set as \sfrac{3}{4}\,.
\end{cmdlist}
+For commands to typeset urls, see section~\ref{sec:urls}.
+
\section{Use of packages}
Being a \TeX\ journal, authors may use both standard and non-standard
@@ -667,7 +669,7 @@ zip or other archive.
In general, packages currently on \CTAN, and known to work with
\emph{current} \LaTeX{} are likely to be fine. In particular,
the team is happy to accept papers using packages that are supported by
-members of the \LaTeX3 team,\footnote{%
+members of the \LaTeX\ team,\footnote{%
Those in the \LaTeX{} base distribution, or one of those in the
\CTANref{packages} sub-tree on \CTAN.} subject to the warning already
mentioned (section~\ref{sec:verbatim}): that use of the standard
@@ -689,15 +691,64 @@ important feature.)
An additional canonically-recommended package is \path|url.sty|
\cite{Arseneau:url:1996}, for typesetting filenames, email addresses,
urls, etc.; it is being used throughout the present paper (not least in
-the bibliography). Speaking of urls, nowadays we generally omit a
-leading \texttt{http://} or \texttt{https://}.
+the bibliography), either on its own or via \texttt{hyperref}.
Although not necessarily recommended in all cases, many additional
packages are commonly used. To mention a few: \texttt{microtype} can
-help reduce overfull boxes; sometimes it may be preferable to use the
-Latin Modern fonts via \texttt{lmodern}; \texttt{iftex} provides tests
-for the \TeX\ engine being run; and \texttt{hyperref} supports live and
-internal hyperlinks, outlines, and many other features.
+help reduce overfull boxes (and improve appearance); sometimes it may be
+preferable to use the Latin Modern fonts via \texttt{lmodern};
+\texttt{iftex} provides tests for the \TeX\ engine being run;
+\texttt{texosquery} provides operating system information; and
+\texttt{hyperref} supports live and internal hyperlinks, outlines, and
+many other features.
+
+\section{Typesetting urls}
+\label{sec:urls}
+
+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
+\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.
+\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}.
+
+\cs{tbsurl} and \cs{tbhurl} only add the protocol and make live links if
+\texttt{hyperref} is loaded. Without \texttt{hyperref}, they are merely
+synonyms for \cs{url}. This is ok, and we still request that the
+protocol not be included; if live links are not being produced in the
+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.
+
+\subsection{Url shortcuts}
+\label{sec:urlshortcuts}
+
+Another aspect of urls: the \tug\ web server supports a shortcut url
+mechanism, \url{tug.org/l/}\meta{ident}, where \meta{ident} can be any
+tag, similar to \url{tinyurl.com} and similar sites. The idea is that
+\url{tug.org} shortcuts can be used in \TUB\ articles needing to link to
+excessively long and/or unstable web resources; then we update the
+shortcut if needed, and not worry that a commercial shortcut provider
+will disappear.
+
+The only way to create a \url{tug.org/l/} shortcut is by request, which
+we are happy to receive.
\section{Bibliography}
\label{sec:biblio}
@@ -705,8 +756,8 @@ internal hyperlinks, outlines, and many other features.
In short: our basic recommendation for handling bibliographies is to use
\BibTeX\ and the \pkgname{tugboat} bibliography style. No document
options are needed or recommended. All that is required in the article
-source (as shown in the template available from
-\url{tug.org/TUGboat}) is the following:
+source (as in the template available from \url{tug.org/TUGboat}) is the
+following:
\begin{verbatim}[\small]
\bibliographystyle{tugboat}
@@ -720,31 +771,35 @@ though, you may enjoy the following small but useful features:
\begin{itemize}
\item It is based on \pkgname{abbrvurl.bst} (see \url{ctan.org/pkg/urlbst}),
-\item thus supports \textsf{url} and \textsf{doi} fields, among others.
+\item and thus supports \textsf{url} and \textsf{doi} fields, among others.
+Please use \textsf{url} instead of putting urls in the
+\textsf{note} field, where possible. Also, please don't bother to
+include ``url access date'' information for \TUB; we find that extraneous.
-\item The \textsf{url} field is ignored if either the \textsf{doi} or
-\textsf{howpublished} field is present, since in practice we observe
-that people put the same information in all those fields, and we don't
-typeset redundant information.
+\item The \textsf{url} field is ignored if either the \textsf{howpublished} or
+\textsf{doi} field is present. In practice we observe that people put
+the same information in all those fields, and we don't want to typeset
+redundant information.
-\item Has even more abbreviations than \textsf{abbrv}, including
-printing only two author names (plus ``et~al\@.'') if there are more
-than four authors (thanks to Mico Loretan).
+\item Has even more abbreviations than \textsf{abbrv}, such as
+printing only two author names (plus ``et~al.'')\ if there are more than
+four authors (thanks to Mico Loretan).
\item Defines an \textsf{@online} entry type as an alias for \textsf{@misc}.
-\item For completeness only: \verb|tugboat.bst| provides ``secret''
+\item For completeness only: \verb|tugboat.bst| provides editor-intended
fields \textsf{newpage} to force a page break after the current item,
-and \textsf{urlnewline} to force a line break before the \textsf{url}
-value. As editors, we've found that these presentation tweaks are often
-necessary for the final typeset output. Authors need not worry about
-them.
+\textsf{urlnewline} to force a line break before the \textsf{url} value,
+and \textsf{journaltie} to output a tie instead of space after the
+\textsf{journal} value. 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}
If you use \BibTeX, feel free to take advantage of the accumulated
bibliography of \TUB{} itself (\url{info/tugboat.bib} on \CTAN), and the
-various compilations by Nelson Beebe in that same directory.
+other compilations by Nelson Beebe in that same directory.
Bibliographies provide further problems because they're notoriously
difficult to typeset at the best of times. \LaTeX{} sets \cs{sloppy}
@@ -756,7 +811,7 @@ set \cs{sloppy}, by default (just like \LaTeX{}), but the author may
\begin{verbatim}
\SetBibJustification{\raggedright}
\end{verbatim}
-as the present article does, to achieve somewhat better results.
+as the present article does, to often achieve somewhat better results.
A last note for references: for \TUB\ issues, please use the format
\textsl{volno\,:\,issno}, e.g., ``\TUB\ 32:1'' for volume~32, number~1.
@@ -764,23 +819,23 @@ A last note for references: for \TUB\ issues, please use the format
\section{Non-recommended bibliography facilities}
The preceding gives the bibliography recommendations for current \TUB\
-article. If, for whatever reason, you cannot follow the recommendation,
-this section is about some of the myriad historical and other
-possibilities.
+articles. If, for whatever reason, you do not wish to follow those
+recommendations, this section is about some of the myriad historical and
+other possibilities.
-Notwithstanding the general recommendation for the \pkgname{tugboat}
-(falling back to \pkgname{plain}) \BibTeX\ style, \TUB's Harvard
+Notwithstanding that general recommendation for the \pkgname{tugboat}
+(falling back to \pkgname{plain}) \BibTeX\ style, \TUB's Harvard-style
citation support may be selected by specifying \optname{harvardcite} as
an option of the \cs{documentclass} command.\footnote{%
The macros used derive rather directly from the `harvard' styles
- written by Glenn Paulley and now maintained by Peter Williams; the
+ written by Glenn Paulley and later maintained by Peter Williams; the
\BibTeX{} style derives from one developed by Patrick Daly.}
If your article demands Harvard-style citations, you may prefer to load
\pkgname{natbib} or similar instead of using \TUB's facilities; that's
-ok.
+fine.
-The basic citation format is `author(s), year', but the macros are
-capable of many variations: this in turn places somewhat of a load on
+This basic citation format is `author(s), year', but the macros are
+capable of many variations. This in turn places somewhat of a load on
the author to use the correct citation macro. The macros available are
shown in figure~\ref{fig:citation-macros}; the figure assumes an entry
in the bibliography with authors Tom, Dick, and~Harry, and with a 1990
@@ -818,7 +873,7 @@ controlled by the \optname{extralabel} and \optname{noextralabel} class
options. The default state (option \optname{extralabel}) attaches the
extra characters.
-As for \BibLaTeX, we don't recommend it for \TUB. If you feel you must
+As for \BibLaTeX: we don't recommend it for \TUB. If you feel you must
use it, that is ok, but we may still change it to using the default
\LaTeX\ and \BibTeX\ facilities in processing for publication if the
output from \BibLaTeX\ is problematic, as we have often seen it to be.
@@ -865,11 +920,8 @@ section~\ref{sec:verbatim}).
Of course, the syntax of commands given to the \LaTeX{} classes is
different (as discussed in section~\ref{sec:syntax}); arguments are
-(almost always) enclosed in braces, and neither of the forms of
-argument provision promulgated by the `plain' macros
-(\cs{macro}\meta{argument}\linebreak[0]\cs{endmacro} and
-\cs{macro * }\meta{argument}\verb| *|) are provided by the \LaTeX{}
-classes.
+(almost always) enclosed in braces instead of the various
+forms provided by the `plain' macros.
\SetBibJustification{\raggedright}
\bibliographystyle{tugboat}
diff --git a/macros/latex/contrib/tugboat/ltubguid.pdf b/macros/latex/contrib/tugboat/ltubguid.pdf
index 96524d71f7..a1f67a5e13 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 3be31fa97e..57831f4832 100644
--- a/macros/latex/contrib/tugboat/tugboat.bst
+++ b/macros/latex/contrib/tugboat/tugboat.bst
@@ -1,4 +1,4 @@
-%%% $Id: tugboat.bst 261 2019-11-09 22:00:31Z karl $
+%%% $Id: tugboat.bst 271 2020-01-13 19:13:12Z karl $
%%% TUGboat changes are public domain.
%%%
%%% Modified for TUGboat from abbrvurl.bst:
@@ -10,7 +10,8 @@
%%% Reduce long author lists in format.names per Mico Loretan.
%%% New fields for editors:
%%% "newpage" - force page break after entry;
-%%% "urlnewline" - force line break before url value.
+%%% "urlnewline" - force line break before url value;
+%%% "journaltie" - ~ instead of space after journal name.
%%% --karl, originally created 24jul18.
%%%
%%% Modification of BibTeX style file /usr/local/texlive/2009/texmf-dist/bibtex/bst/base/abbrv.bst
@@ -61,8 +62,9 @@ ENTRY
pubmed % urlbst
url % urlbst
lastchecked % urlbst
- newpage % tub
+ newpage % tub
urlnewline % tub
+ journaltie % tub
}
{}
{ label }
@@ -150,15 +152,23 @@ STRINGS { s t last.output.check }
% urlbst
% arg on stack is what needs to be written.
+%
% If a journal, we want to omit the following comma, as in
% "TUGboat 39(1)" instead of the default "TUGboat, 39(1)".
%
+% Furthermore, if field journaltie is non-empty, output a tie after the
+% journal name instad of a space.
+%
FUNCTION {output.nonnull.original}
{ 's :=
output.state mid.sentence =
{ last.output.check "journal" = not
{ ", " * }
- { " " *}
+ { journaltie empty$ not
+ { "~" * }
+ { " " * }
+ if$
+ }
if$
write$
}
diff --git a/macros/latex/contrib/tugboat/tugboat.dtx b/macros/latex/contrib/tugboat/tugboat.dtx
index 973d05a646..6ed75cece1 100644
--- a/macros/latex/contrib/tugboat/tugboat.dtx
+++ b/macros/latex/contrib/tugboat/tugboat.dtx
@@ -1,8 +1,8 @@
% \iffalse (this is a meta-comment (so they say))
-% $Id: tugboat.dtx 261 2019-11-09 22:00:31Z karl $
+% $Id: tugboat.dtx 274 2020-03-12 16:47:21Z karl $
% tugboat.dtx - main source for LaTeX TUGboat classes.
%
-% Copyright 1994-2019 TeX Users Group.
+% Copyright 1994-2020 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -28,7 +28,7 @@
%<ltugboatsty>\ProvidesPackage{ltugboat}
%<ltugprocsty>\ProvidesPackage{ltugproc}
%<ltugcomn> \ProvidesPackage{ltugcomn}
- [2019-11-09 v2.22
+ [2020-03-12 v2.23
%<ltugboatcls> TUGboat journal class%
%<ltugproccls> TUG conference proceedings class%
%<ltugboatsty|ltugprocsty> TUG compatibility package%
@@ -277,7 +277,7 @@
% |\revtitle|& with one argument, title of \ldots \\
% |\revpubinfo|& with one argument, other info pertaining to \ldots \\
% |\endreviewitem|& end data for item being reviewed\\
-% |\booktitle|& with one argument, format book title in text\\
+% |\booktitle|& with one argument, format book title as straight text\\
% |\Input|& |\input| with some other bookkeeping for
% case where multiple articles are put together\\
% |\TBremark|& reminder to \TUB{} editorial staff\\
@@ -348,7 +348,7 @@
\let\tuborigthepage = \thepage
\def\thepage{%
\ifnum\value{page}>900
- \textsl{?\,\@arabic{\numexpr\the\c@page-900\relax}}%
+ \textsl{?\texorpdfstring{\,}{}\@arabic{\numexpr\the\c@page-900\relax}}%
\else
\arabic{page}%
\fi}%
@@ -376,8 +376,18 @@
}
% \end{macrocode}
%
-% The rules dictate that the output should be set using a 10pt base
-% font.
+% 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.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \ifx\undefined\texorpdfstring
+ \DeclareRobustCommand{\texorpdfstring}[2]{#1}%
+ \fi
+}
+% \end{macrocode}
+%
+% \TUB\ uses only 10pt for the main text.
%
% \begin{macrocode}
\DeclareOption{11pt}{%
@@ -546,7 +556,7 @@
% We store a set of commands that should be executed at the start of
% each paper, before any paper-specific customisation. These commands
% (stored in the token register \cs{ResetCommands}) include things
-% suc as resetting section and footnote numbers, re-establishing
+% such as resetting section and footnote numbers, re-establishing
% default settings of typesetting parameters, and so on. The user (or
% more typically, editor) may execute the commands by using the
% command \cs{StartNewPaper}. Things I've not yet thought of may be
@@ -567,7 +577,7 @@
% \end{macro}
% \end{macro}
%
-% \subsection{Helpful shorthand (common code with Plain styles)}
+% \subsection{Helpful shorthands (common code with Plain styles)}
%
% \cs{makeescape}, \dots, \cs{makecomment} allow users to change the
% category code of a single character a little more easily. These
@@ -1100,15 +1110,17 @@
% \end{macro}
% \end{macro}
%
-% Miscellaneous useful stuff. Note that \LaTeXe{} defines a robust
-% \cs{,}, but that 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}
+% \subsection{Assorted user-level markup}
+%
+% \LaTeXe{} defines a robust \cs{,}, but that 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}
% 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}
\let\latexnobreakspace=\nobreakspace
\DeclareRobustCommand{\nobreakspace}{\unskip\nobreak\ \ignorespaces}
@@ -1160,8 +1172,8 @@
% and upright works well enough in both italic and bold contexts.
\DeclareRobustCommand{\cs}[1]{{\tt \char`\\#1}}
%
-% This command was defined much later than the other, so let's not
-% conflict with any existing definitions that might be out there.
+% This command was defined much later than the others around here, so
+% let's not conflict with any existing definitions that might be out there.
% Don't allow hyphenations or other line breaks.
\DeclareRobustCommand{\tubbraced}[1]{\mbox{\texttt{\char`\{#1\char`\}}}}
%
@@ -1172,6 +1184,28 @@
% but fine, just keeping it.
\DeclareRobustCommand{\thinskip}{\hskip 0.16667em\relax}
%
+% Ah, urls. Nowadays, we like the visible url to not have any protocol,
+% if it is \texttt{http://} or \texttt{https://}. But we need to include
+% the protocol if we are making live links, since a string like
+% \texttt{tug.org/whatever} will be taken as a local filename by
+% browsers and PDF readers. Since we need to check for
+% \texttt{hyperref}, make the definition \cs{AtBeginDocument}. In the
+% end, \cs{tbsurl}\tubbraced{foo} produces \texttt{https://foo} and
+% \cs{tbhurl}\tubbraced{foo} produces \texttt{http://foo}.
+\AtBeginDocument{%
+\ifx\hyper@normalise\undefined
+ \def\tbsurl{\url}% no hyperref, so just \url is fine.
+ \def\tbhurl{\url}%
+\else
+ % This hyperref hook-in is due to Ulrike Fischer.
+ % \url{https://github.com/latex3/hyperref/issues/125}.
+ \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
+}
+%
% Make \! work in text mode.
\DeclareRobustCommand{\!}{\ifmmode\mskip-\thinmuskip \else\kern-0.16667em \fi}
%
@@ -1511,7 +1545,7 @@
%<*classtail>
\PrelimDrafttrue
% \end{macrocode}
-% \subsection{Page dimensions, glue, penalties etc}
+% \subsection{Page dimensions, glue, penalties, etc.}
% \begin{macrocode}
\textheight 54pc
\textwidth 39pc
@@ -2614,7 +2648,7 @@
%
% \subsection{Title references}
%
-% This is a first cut at a mecahnism for referencing by the title of a
+% This is a first cut at a mechanism for referencing by the title of a
% section; it employs the delightfully simple idea Sebastian Rahtz has
% in the \texttt{nameref} package (which is part of
% \texttt{hyperref}). As it stands, it lacks some of the bells and
@@ -2957,14 +2991,15 @@
% \end{macrocode}
%
% Finally, if |microtype| is loaded, we want it to be deactivated in
-% verbatim blocks. It often manipulates a leading |\| rather too much.
+% verbatim blocks. It often manipulates a leading |\| rather too much,
+% and messes with the visible fixed-width alignment.
% \begin{macrocode}
\AtBeginDocument{%
\@ifpackageloaded{microtype}
{\g@addto@macro\@verbatim{\microtypesetup{activate=false}}}{}
}
% \end{macrocode}
-
+%
% \subsection{Bibliography}
% \label{sec:citations}
% This is more or less copied verbatim from Glenn Paulley's
diff --git a/macros/latex/contrib/tugboat/tugboat.ins b/macros/latex/contrib/tugboat/tugboat.ins
index 4aabebdd9b..05b6476b09 100644
--- a/macros/latex/contrib/tugboat/tugboat.ins
+++ b/macros/latex/contrib/tugboat/tugboat.ins
@@ -1,10 +1,10 @@
-% $Id: tugboat.ins 261 2019-11-09 22:00:31Z karl $
+% $Id: tugboat.ins 274 2020-03-12 16:47:21Z karl $
% tugboat.ins
%% This file will generate fast loadable files and documentation
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1994-2019 TeX Users Group.
+%% Copyright 1994-2020 TeX Users Group.
%%
%% This file is part of the tugboat package.
%%
@@ -12,14 +12,14 @@
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
%% The Current Maintainer of this work is the TeX Users Group
-%% (http://tug.org/TUGboat).
+%% (https://tug.org/TUGboat).
%%
%% The list of all files belonging to the distribution is
%% given in the file `manifest.txt'.
@@ -38,20 +38,20 @@
This is a generated file.
-Copyright 1994-2019 TeX Users Group.
+Copyright 1994-2020 TeX Users Group.
It may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.
The latest version of this license is in
- http://www.latex-project.org/lppl.txt
+ https://www.latex-project.org/lppl.txt
and version 1.3 or later is part of all distributions of LaTeX
version 2003/12/01 or later.
This file has the LPPL maintenance status "maintained".
The Current Maintainer of this work is the TeX Users Group
-(http://tug.org/TUGboat).
+(https://tug.org/TUGboat).
The list of all files belonging to the distribution is given in the file
`manifest.txt'.
diff --git a/macros/latex/contrib/tugboat/tugboat.pdf b/macros/latex/contrib/tugboat/tugboat.pdf
index afdef4195d..30bd7e3eb9 100644
--- a/macros/latex/contrib/tugboat/tugboat.pdf
+++ b/macros/latex/contrib/tugboat/tugboat.pdf
Binary files differ