Hello community,
here is the log from the commit of package texlive-specs-r for openSUSE:Factory checked in at 2020-05-29 21:18:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive-specs-r (Old)
and /work/SRC/openSUSE:Factory/.texlive-specs-r.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-specs-r"
Fri May 29 21:18:47 2020 rev:38 rq:806927 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive-specs-r/texlive-specs-r.changes 2019-11-07 23:11:47.724223857 +0100
+++ /work/SRC/openSUSE:Factory/.texlive-specs-r.new.3606/texlive-specs-r.changes 2020-05-29 21:31:25.473586750 +0200
@@ -1,0 +2,60 @@
+Mon May 18 08:47:10 UTC 2020 - Dr. Werner Fink
+
+- Enhance spec file generator to find missing .so man page
+ links for better dependency resolution (bsc#1171682)
+
+-------------------------------------------------------------------
+Wed May 13 13:59:14 UTC 2020 - Dr. Werner Fink
+
+- Modify patch texdoc_cnf.dif to ignore tlpkg/texlive.tlpdb as
+ kpathsea uses the ls-R files as well
+
+-------------------------------------------------------------------
+Tue May 12 09:03:38 UTC 2020 - Dr. Werner Fink
+
+- Correct obsoletes for new packages
+
+-------------------------------------------------------------------
+Wed May 6 11:27:35 UTC 2020 - Dr. Werner Fink
+
+- Scan *.def files as well for RequirePackage
+
+-------------------------------------------------------------------
+Tue May 5 13:55:07 UTC 2020 - Dr. Werner Fink
+
+- Add Requires to tex(epstopdf-base.sty) to fix package split
+ of texlive-epstopdf
+
+-------------------------------------------------------------------
+Mon May 4 09:00:25 UTC 2020 - Dr. Werner Fink
+
+- Skip *-dev packages from file dependendcy scanner as otherwise
+ we see doubling name space for some style files like amsmath.sty
+
+-------------------------------------------------------------------
+Mon Apr 27 06:52:15 UTC 2020 - Dr. Werner Fink
+
+- Add patch pythontex_p2top3.dif and a removes file to fully
+ switch pythontex packages of TeXLive to python3
+
+-------------------------------------------------------------------
+Mon Apr 20 10:29:02 UTC 2020 - Dr. Werner Fink
+
+- Update to TeXLive 2020
+ * Port patches
+ kpathsea_cnf.dif
+ latexpand_perl.dif
+ luaotfload_varfonts.dif
+ luatex_cnf.dif
+ musixtex_various.dif
+ * Delete patches not needed anymore as files have moved
+ tetex_scripts.dif
+ * Delete patche updmap-map_roboto.dif as fixed upstream
+ * Add new patches to catch moved files
+ texlive-scripts-extra_scripts.dif
+ texlive-scripts_scripts.dif
+ * Add new patch xetex_conf.dif to fit FHS location
+ * Remove TeXLive installer files breaking rpm database
+ texlive-scripts.removes
+
+-------------------------------------------------------------------
Old:
----
pdftools.doc.tar.xz
pdftools.tar.xz
New:
----
parsa.doc.tar.xz
parsa.tar.xz
pdfarticle.doc.tar.xz
pdfarticle.tar.xz
pdfcolmk.doc.tar.xz
pdfcolmk.tar.xz
pdfescape.doc.tar.xz
pdfescape.tar.xz
pdflscape.doc.tar.xz
pdflscape.tar.xz
pdfpc.doc.tar.xz
pdfpc.tar.xz
pdftexcmds.doc.tar.xz
pdftexcmds.tar.xz
pdftosrc.doc.tar.xz
pgfmorepages.doc.tar.xz
pgfmorepages.tar.xz
physconst.doc.tar.xz
physconst.tar.xz
physunits.doc.tar.xz
physunits.tar.xz
picture.doc.tar.xz
picture.tar.xz
pinoutikz.doc.tar.xz
pinoutikz.tar.xz
plainyr.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-specs-r.spec ++++++
++++ 12027 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/texlive-specs-r/texlive-specs-r.spec
++++ and /work/SRC/openSUSE:Factory/.texlive-specs-r.new.3606/texlive-specs-r.spec
++++++ overlock.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/overlock/README new/doc/fonts/overlock/README
--- old/doc/fonts/overlock/README 2014-06-25 17:20:57.000000000 +0200
+++ new/doc/fonts/overlock/README 2019-10-16 22:54:29.000000000 +0200
@@ -1,4 +1,4 @@
-This is the README for the Overlock package, version 2014-05-24.
+This is the README for the Overlock package, version 2019-10-15.
This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX support
for the Overlock and OverlookSC families of fonts, designed by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/overlock.doc.tlpobj new/tlpkg/tlpobj/overlock.doc.tlpobj
--- old/tlpkg/tlpobj/overlock.doc.tlpobj 2019-02-28 03:58:13.000000000 +0100
+++ new/tlpkg/tlpobj/overlock.doc.tlpobj 2019-10-17 01:54:27.000000000 +0200
@@ -1,6 +1,6 @@
name overlock.doc
category Package
-revision 34409
+revision 52408
shortdesc doc files of overlock
relocated 1
docfiles size=14
++++++ overlock.tar.xz ++++++
++++ 1668 lines of diff (skipped)
++++++ overpic.doc.tar.xz ++++++
Binary files old/doc/latex/overpic/overpic.pdf and new/doc/latex/overpic/overpic.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/overpic.doc.tlpobj new/tlpkg/tlpobj/overpic.doc.tlpobj
--- old/tlpkg/tlpobj/overpic.doc.tlpobj 2019-02-28 03:58:14.000000000 +0100
+++ new/tlpkg/tlpobj/overpic.doc.tlpobj 2020-02-25 01:54:54.000000000 +0100
@@ -1,9 +1,9 @@
name overpic.doc
category Package
-revision 48550
+revision 53889
shortdesc doc files of overpic
relocated 1
-docfiles size=87
+docfiles size=93
RELOC/doc/latex/overpic/README.de.md
RELOC/doc/latex/overpic/README.md
RELOC/doc/latex/overpic/overpic.pdf
++++++ overpic.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/overpic/overpic.sty new/tex/latex/overpic/overpic.sty
--- old/tex/latex/overpic/overpic.sty 2018-09-02 23:15:59.000000000 +0200
+++ new/tex/latex/overpic/overpic.sty 2020-02-24 15:30:04.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1997-2016 by Rolf Niepraschk
+%% Copyright (C) 1997-... by Rolf Niepraschk
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -19,7 +19,7 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{overpic}[2018/09/02 1.2 picture overlays (RN)]
+\ProvidesPackage{overpic}[2020/02/22 1.3 picture overlays (RN)]
\RequirePackage{graphicx,epic}
\newcommand*\OVP@scale{\z@}
\define@key{Gin}{rel}{%
@@ -87,6 +87,8 @@
}{\endpicture}
\newenvironment{Overpic}[2][]{%
\sbox\OVP@box{#2}%
+ \count@=\z@ \Gin@gridfalse
+ \setkeys{Gin}{#1}%
\OVP@picture{#1}%
}{\endpicture}
\newcommand*\OVP@picture[1]{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/overpic.tlpobj new/tlpkg/tlpobj/overpic.tlpobj
--- old/tlpkg/tlpobj/overpic.tlpobj 2019-02-28 03:58:14.000000000 +0100
+++ new/tlpkg/tlpobj/overpic.tlpobj 2020-02-25 01:54:54.000000000 +0100
@@ -1,6 +1,6 @@
name overpic
category Package
-revision 48550
+revision 53889
shortdesc Combine LaTeX commands over included graphics
relocated 1
longdesc The overpic environment is a cross between the LaTeX picture
@@ -14,7 +14,6 @@
catalogue-contact-home https://github.com/rolfn/overpic
catalogue-contact-repository https://github.com/rolfn/overpic
catalogue-ctan /macros/latex/contrib/overpic
-catalogue-date 2018-09-02 16:18:17 +0200
catalogue-license lppl1.3
catalogue-topics graphics-text
-catalogue-version 1.2
+catalogue-version 1.3
++++++ parnotes.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/parnotes/README.md new/doc/latex/parnotes/README.md
--- old/doc/latex/parnotes/README.md 2016-08-16 23:45:47.000000000 +0200
+++ new/doc/latex/parnotes/README.md 2019-07-24 23:30:54.000000000 +0200
@@ -1,6 +1,6 @@
parnotes
========
-rev.3
+rev.3b (see notes below)
The parnotes package adds a new note type, `\parnote`. Parnotes are set as normal, running paragraphs and may be placed two ways: (1) automatically, at the end of the paragraph, or (2) manually, using the `\parnotes` command.
@@ -18,7 +18,7 @@
Contributing
------------
-The development repository and the bug tracker for this package are hosted [on GitHub](https://github.com/chelh/LaTeX-parnotes).
+The development repository and the bug tracker for this package are hosted [on GitHub](https://github.com/chelh/LaTeX-parnotes) but see notes below.
License
-------
@@ -31,3 +31,20 @@
This package was started due to a question at the TeX Stack Exchange: http://tex.stackexchange.com/questions/34746/
Thanks to Stack Exchange users Ahmed Musa, Bruno Le Floch, and David Carlisle.
+
+Current Status
+--------------
+
+The package appears to to be unmainted, i.e. the above address exists
+but is not monitored and the original author is not reachable.
+
+
+Small extensions in 2019 by Frank Mittelbach:
+
+ - option `reset` (alias for restart to match other packages)
+ - option `alph` (for alph style notes instead of arabic)
+ - option `symbol` (for fnsymbol style notes)
+
+The documentation has been changed use freely available fonts so that it
+can be typeset by everybody (the previsous release used commercial fonts).
+
Binary files old/doc/latex/parnotes/parnotes.pdf and new/doc/latex/parnotes/parnotes.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/parnotes/parnotes.tex new/doc/latex/parnotes/parnotes.tex
--- old/doc/latex/parnotes/parnotes.tex 2016-08-16 23:45:47.000000000 +0200
+++ new/doc/latex/parnotes/parnotes.tex 2019-07-24 23:30:54.000000000 +0200
@@ -1,19 +1,28 @@
+
+%!TEX program = lualatex
+
\documentclass[10pt]{article}
-\usepackage[USenglish,english]{babel}
-\selectlanguage{USenglish}
-\usepackage[no-math]{fontspec}
-\defaultfontfeatures{Ligatures=TeX}
-\def\MinionDefaults{%
- SizeFeatures = {
- {Size = -8.41, OpticalSize = 8, Numbers = Lining},
- {Size = 8.41-13.1, OpticalSize = 11},
- {Size = 13.1-20.0, OpticalSize = 19},
- {Size = 20.0-, OpticalSize = 72}},
- Numbers = {OldStyle,Monospaced}}
-\setmainfont[\MinionDefaults,
- BoldFont = {Minion Pro Semibold}]{Minion Pro}
-\setsansfont[Scale=MatchLowercase, BoldFont = {Myriad Pro Semibold}]{Myriad Pro}
-\setmonofont[Scale=MatchLowercase]{Consolas}
+%\usepackage[USenglish,english]{babel}
+\usepackage[USenglish]{babel}
+%\selectlanguage{USenglish}
+%\usepackage[no-math]{fontspec}
+\usepackage[oldstyle]{Alegreya}
+\usepackage[]{AlegreyaSans}
+\setmonofont[Scale=MatchLowercase]{IBM Plex Mono}
+
+%\defaultfontfeatures{Ligatures=TeX}
+%\def\MinionDefaults{%
+% SizeFeatures = {
+% {Size = -8.41, OpticalSize = 8, Numbers = Lining},
+% {Size = 8.41-13.1, OpticalSize = 11},
+% {Size = 13.1-20.0, OpticalSize = 19},
+% {Size = 20.0-, OpticalSize = 72}},
+% Numbers = {OldStyle,Monospaced}}
+%\setmainfont[\MinionDefaults,
+% BoldFont = {Minion Pro Semibold}]{Minion Pro}
+%\setsansfont[Scale=MatchLowercase, BoldFont = {Myriad Pro Semibold}]{Myriad Pro}
+%\setmonofont[Scale=MatchLowercase]{Consolas}
+
\usepackage{amsmath}
\usepackage{parnotes}
\usepackage{xcolor}
@@ -21,28 +30,32 @@
\hypersetup{allcolors=blue}
\usepackage{varwidth}
\usepackage{accsupp}
-\DeclareRobustCommand\squelch[1]{%
- \BeginAccSupp{method=plain,ActualText={}}#1\EndAccSupp{}}
-\def\squelchstyle{%
- \BeginAccSupp{method=plain,ActualText={}}%
- \aftergroup\aftersquelchstyle}
-\def\aftersquelchstyle{\EndAccSupp{}}
+
+%\DeclareRobustCommand\squelch[1]{%
+% \BeginAccSupp{method=plain,ActualText={}}#1\EndAccSupp{}}
+%\def\squelchstyle{%
+% \BeginAccSupp{method=plain,ActualText={}}%
+% \aftergroup\aftersquelchstyle}
+%\def\aftersquelchstyle{\EndAccSupp{}}
+
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
\fancyhf{}%
- \fancyfoot[C]{\squelch{\thepage}}%
+% \fancyfoot[C]{\squelch{\thepage}}%
+ \fancyfoot[C]{\thepage}%
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}
\pagestyle{plain}
\usepackage{listings}
-\lstset{numbers=left,basicstyle={\small\ttfamily},numberstyle={\squelchstyle\color{gray}}}
+%\lstset{numbers=left,basicstyle={\small\ttfamily},numberstyle={\squelchstyle\color{gray}}}
+\lstset{numbers=left,basicstyle={\scriptsize\ttfamily},numberstyle={\color{gray}}}
\usepackage{booktabs}
\usepackage{microtype}
-\title{The \textsf{parnotes} package\parnote{This is rev.~3, last modified 8/15/2016.}}
-\author{Chelsea Hughes\parnote{See \texttt{parnotes.sty} for copyright and contact details.}}
-\date{August 15, 2016}
+\title{The \textsf{parnotes} package\parnote{This is rev.~3b, last modified 2019/07/23.}}
+\author{Chelsea Hughes\parnote{See \texttt{parnotes.sty} for copyright details. The package has currently no maintainer.}}
+\date{July 23, 2019}
\renewcommand{\parnotefmt}[1]{\centerline{\colorbox{black!10}{\parbox{0.82\textwidth}{\footnotesize\sffamily\noindent #1}}}}
@@ -104,8 +117,11 @@
\noindent\begin{tabbing}
\texttt{restart}\hspace{0.75in}\=Reset the parnote number each time parnotes are placed.\\
+\texttt{reset}\>Alias name for \texttt{restart} to match what other packages use.\\
\texttt{roman}\>Use lowercase Roman numerals instead of Arabic numerals for\\
\>parnote marks. Specify this if you mix parnotes with footnotes.\\
+\texttt{alph}\>Use lowercase alphabet characters instead.\\
+\texttt{symbol}\>Use footnote symbols instead instead.\\
\texttt{breakwithin}\>Place a line break after every parnote.\\
\texttt{indentafter}\>Allow indentation in the paragraph following a parnote.\\
\texttt{narrower}\>Give parnotes an increased margin, like block quotes.\\
@@ -189,6 +205,11 @@
\section{Changelog}
{\raggedright
+\noindent\textbf{Revision 3b, released on July 23, 2019 (Frank Mittelbach)}
+\begin{itemize}
+\item Added options \texttt{reset}, \texttt{alph} and \texttt{symbol}.
+\item Changed documentation to use feely available fonts only.
+\end{itemize}
\noindent\textbf{Revision 3, released on Aug 15, 2016}
\begin{itemize}
\item Bug fix: Use \verb+\protected@edef+ to expand the parnote counter (fixes incompatibility with \textsf{BiocStyle})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/parnotes.doc.tlpobj new/tlpkg/tlpobj/parnotes.doc.tlpobj
--- old/tlpkg/tlpobj/parnotes.doc.tlpobj 2019-02-28 03:58:30.000000000 +0100
+++ new/tlpkg/tlpobj/parnotes.doc.tlpobj 2019-07-25 01:53:14.000000000 +0200
@@ -1,9 +1,9 @@
name parnotes.doc
category Package
-revision 41868
+revision 51720
shortdesc doc files of parnotes
relocated 1
-docfiles size=37
+docfiles size=20
RELOC/doc/latex/parnotes/README.md
RELOC/doc/latex/parnotes/parnotes.pdf
RELOC/doc/latex/parnotes/parnotes.tex
++++++ parnotes.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/parnotes/parnotes.sty new/tex/latex/parnotes/parnotes.sty
--- old/tex/latex/parnotes/parnotes.sty 2016-08-16 23:45:47.000000000 +0200
+++ new/tex/latex/parnotes/parnotes.sty 2019-07-24 23:30:54.000000000 +0200
@@ -13,9 +13,19 @@
% http://tex.stackexchange.com/questions/34746/
%
% Thanks to Stack Exchange users Ahmed Musa, Bruno Le Floch, and David Carlisle.
+%
+% -----------------------------
+%
+% The package is currently unmainted, i.e. the above address exists but is not monitored
+%
+% Small extensions in 2019 by Frank Mittelbach:
+%
+% option reset (alias for restart to match other packages)
+% option alph (for alph style notes instead of arabic)
+% option symbol (for fnsymbol style notes)
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{parnotes}[2016/08/15 rev. 3 Notes after every paragraph, or elsewhere]
+\ProvidesPackage{parnotes}[2019/07/23 rev. 3b Notes after every paragraph, or elsewhere]
%
% These are the user-modifiable format commands
@@ -54,10 +64,15 @@
%
\let\PN@reset@optional\relax
\DeclareOption{restart}{\def\PN@reset@optional{\parnotereset}}
+\DeclareOption{reset}{\def\PN@reset@optional{\parnotereset}} %FMi alternative name
%
% Parnote marks are arabic by default, but an option changes them to roman
%
\DeclareOption{roman}{\renewcommand\theparnotemark{\roman{parnotemark}}}
+%%FMi
+\DeclareOption{alph}{\renewcommand\theparnotemark{\alph{parnotemark}}}
+\DeclareOption{symbol}{\renewcommand\theparnotemark{\fnsymbol{parnotemark}}}
+%%FMi -- end
% breakwithin just changes \parnoteintercmd
\DeclareOption{breakwithin}{\renewcommand{\parnoteintercmd}{\\}}
% And indentafter just clears \PN@disable@indent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/parnotes.tlpobj new/tlpkg/tlpobj/parnotes.tlpobj
--- old/tlpkg/tlpobj/parnotes.tlpobj 2019-02-28 03:58:30.000000000 +0100
+++ new/tlpkg/tlpobj/parnotes.tlpobj 2019-07-25 01:53:14.000000000 +0200
@@ -1,6 +1,6 @@
name parnotes
category Package
-revision 41868
+revision 51720
shortdesc Notes after every paragraph (or elsewhere)
relocated 1
longdesc The package provides the \parnote command. The notes are set as
@@ -9,7 +9,7 @@
runfiles size=3
RELOC/tex/latex/parnotes/parnotes.sty
catalogue-ctan /macros/latex/contrib/parnotes
-catalogue-date 2016-08-16 08:35:16 +0200
+catalogue-date 2019-07-23 22:24:03 +0200
catalogue-license lppl1.3
catalogue-topics notes
-catalogue-version 3
+catalogue-version 3b
++++++ parskip.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/parskip/changes.txt new/doc/latex/parskip/changes.txt
--- old/doc/latex/parskip/changes.txt 2019-01-16 23:27:54.000000000 +0100
+++ new/doc/latex/parskip/changes.txt 2020-01-23 18:54:03.000000000 +0100
@@ -1,3 +1,9 @@
+#### placed on CTAN as 2.0d ####
+
+ 2020-01-22 Frank Mittelbach
+
+ * distribution cleanup no code change
+
2019-01-16 Frank Mittelbach
* parskip.dtx (subsubsection{Option handling}):
Binary files old/doc/latex/parskip/parskip-code.pdf and new/doc/latex/parskip/parskip-code.pdf differ
Binary files old/doc/latex/parskip/parskip.pdf and new/doc/latex/parskip/parskip.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/parskip.doc.tlpobj new/tlpkg/tlpobj/parskip.doc.tlpobj
--- old/tlpkg/tlpobj/parskip.doc.tlpobj 2019-02-28 03:58:30.000000000 +0100
+++ new/tlpkg/tlpobj/parskip.doc.tlpobj 2020-01-24 01:57:17.000000000 +0100
@@ -1,6 +1,6 @@
name parskip.doc
category Package
-revision 49730
+revision 53503
shortdesc doc files of parskip
relocated 1
docfiles size=102
++++++ parskip.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/parskip/parskip.sty new/tex/latex/parskip/parskip.sty
--- old/tex/latex/parskip/parskip.sty 2019-01-16 23:27:54.000000000 +0100
+++ new/tex/latex/parskip/parskip.sty 2020-01-23 18:54:03.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright 2018 Frank Mittelbach
+%% Copyright 2018-2020 Frank Mittelbach
%%
%% This file was generated from file(s) of the LaTeX `parskip Bundle'.
%% -------------------------------------------------------------------
@@ -19,7 +19,7 @@
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% version 2008 or later.
%%
%% This file may only be distributed together with a copy of the LaTeX
%% `parskip Bundle'. You may however distribute the `parskip Bundle'
@@ -35,12 +35,12 @@
%% File: parskip.dtx
%% (C) Copyright 1989 H.Partl, TU Wien
%% (C) Copyright 2001 Robin Fairbairns
-%% (C) Copyright 2018-2019 Frank Mittelbach
+%% (C) Copyright 2018-2020 Frank Mittelbach
\NeedsTeXFormat{LaTeX2e}[2018-04-01]
\DeclareRelease {v1}{2001-04-09}{parskip-2001-04-09.sty}
\DeclareCurrentRelease{v2}{2018-08-24}
-\ProvidesPackage{parskip}[2019-01-16 v2.0c non-zero parskip adjustments]
+\ProvidesPackage{parskip}[2020-01-22 v2.0d non-zero parskip adjustments]
\RequirePackage{kvoptions}
\SetupKeyvalOptions{family=parskip,prefix=parskip@}
\DeclareStringOption[0pt]{indent}[\parindent]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/parskip.tlpobj new/tlpkg/tlpobj/parskip.tlpobj
--- old/tlpkg/tlpobj/parskip.tlpobj 2019-02-28 03:58:30.000000000 +0100
+++ new/tlpkg/tlpobj/parskip.tlpobj 2020-01-24 01:57:17.000000000 +0100
@@ -1,6 +1,6 @@
name parskip
category Package
-revision 49730
+revision 53503
shortdesc Layout with zero \parindent, non-zero \parskip
relocated 1
longdesc Simply changing \parskip and \parindent leaves a layout that is
@@ -9,10 +9,8 @@
runfiles size=3
RELOC/tex/latex/parskip/parskip-2001-04-09.sty
RELOC/tex/latex/parskip/parskip.sty
-catalogue-contact-bugs https://github.com/FrankMittelbach/fmitex/issues
catalogue-contact-repository https://github.com/FrankMittelbach/fmitex
catalogue-ctan /macros/latex/contrib/parskip
-catalogue-date 2019-01-16 16:42:25 +0100
catalogue-license lppl1.3c
catalogue-topics layout parshape
-catalogue-version 2.0c
+catalogue-version 2.0d
++++++ patgen.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/patgen.1 new/texmf-dist/doc/man/man1/patgen.1
--- old/texmf-dist/doc/man/man1/patgen.1 2019-02-28 20:09:21.000000000 +0100
+++ new/texmf-dist/doc/man/man1/patgen.1 2020-03-04 17:04:42.000000000 +0100
@@ -1,4 +1,4 @@
-.TH PATGEN 1 "16 June 2015" "Web2C 2019"
+.TH PATGEN 1 "16 June 2015" "Web2C 2020"
.\"=====================================================================
.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
.if n .ds TX TeX
Binary files old/texmf-dist/doc/man/man1/patgen.man1.pdf and new/texmf-dist/doc/man/man1/patgen.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/patgen.doc.tlpobj new/tlpkg/tlpobj/patgen.doc.tlpobj
--- old/tlpkg/tlpobj/patgen.doc.tlpobj 2019-03-27 02:25:51.000000000 +0100
+++ new/tlpkg/tlpobj/patgen.doc.tlpobj 2020-03-04 23:53:06.000000000 +0100
@@ -1,6 +1,6 @@
name patgen.doc
category TLCore
-revision 50602
+revision 54070
shortdesc doc files of patgen
docfiles size=10
texmf-dist/doc/man/man1/patgen.1
++++++ pax.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pax.doc.tlpobj new/tlpkg/tlpobj/pax.doc.tlpobj
--- old/tlpkg/tlpobj/pax.doc.tlpobj 2019-02-28 03:58:33.000000000 +0100
+++ new/tlpkg/tlpobj/pax.doc.tlpobj 2020-03-24 02:03:04.000000000 +0100
@@ -1,6 +1,6 @@
name pax.doc
category Package
-revision 26112
+revision 54512
shortdesc doc files of pax
docfiles size=2
texmf-dist/doc/latex/pax/README
++++++ pax.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pax.tlpobj new/tlpkg/tlpobj/pax.tlpobj
--- old/tlpkg/tlpobj/pax.tlpobj 2019-02-28 03:58:33.000000000 +0100
+++ new/tlpkg/tlpobj/pax.tlpobj 2020-03-24 02:03:04.000000000 +0100
@@ -1,6 +1,6 @@
name pax
category Package
-revision 26112
+revision 54512
shortdesc Extract and reinsert PDF annotations with pdfTeX
longdesc If PDF files are included using pdfTeX, PDF annotations are
longdesc stripped. The pax project offers a solution without altering
@@ -18,7 +18,6 @@
texmf-dist/tex/latex/pax/pax.sty
catalogue-also pdftex
catalogue-ctan /macros/latex/contrib/pax
-catalogue-date 2016-12-28 10:23:26 +0100
-catalogue-license lpplgpl
+catalogue-license lppl gpl
catalogue-topics pdf-feat
catalogue-version 0.1l
++++++ pdfbook2.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/pdfbook2.1 new/texmf-dist/doc/man/man1/pdfbook2.1
--- old/texmf-dist/doc/man/man1/pdfbook2.1 2015-06-15 00:17:46.000000000 +0200
+++ new/texmf-dist/doc/man/man1/pdfbook2.1 2020-01-23 22:58:36.000000000 +0100
@@ -1,4 +1,4 @@
-.TH pdfbook2 1 "June 3, 2015" "" "pdfbook2 - transform pdf files to booklets"
+.TH pdfbook2 1 "January 22, 2020" "" "pdfbook2 - transform pdf files to booklets"
.SH NAME
pdfbook2 \- transform pdf files into booklets for double-sided printing
@@ -107,9 +107,9 @@
.BR pdfcrop (1)
.SH ABOUT
-pdfbook2 v1.2
+pdfbook2 v1.4 (https://github.com/jenom/pdfbook2)
.br
-(c) 2015 Johannes Neumann (http://www.neumannjo.de)
+(c) 2015 - 2020 Johannes Neumann (http://www.neumannjo.de)
.br
licensed under GPLv3 (http://www.gnu.org/licenses/gpl-3.0)
.br
Binary files old/texmf-dist/doc/man/man1/pdfbook2.man1.pdf and new/texmf-dist/doc/man/man1/pdfbook2.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/pdfbook2/README new/texmf-dist/doc/support/pdfbook2/README
--- old/texmf-dist/doc/support/pdfbook2/README 2015-06-15 00:17:46.000000000 +0200
+++ new/texmf-dist/doc/support/pdfbook2/README 2020-01-23 22:58:36.000000000 +0100
@@ -1,8 +1,8 @@
pdfbook2 - transform pdf files to booklets
==========================================
- pdfbook2 v1.2
- (c) 2015 Johannes Neumann (http://www.neumannjo.de)
+ pdfbook2 v1.4 (https://github.com/jenom/pdfbook2)
+ (c) 2015 - 2020 Johannes Neumann (http://www.neumannjo.de)
licensed under GPLv3 (http://www.gnu.org/licenses/gpl-3.0)
based on pdfbook by David Firth with help from Marco Pessotto
@@ -45,7 +45,7 @@
REQUIREMENTS
- python 2.7, pdfjam, pdfcrop and their dependencies.
+ python 3.6, pdfjam, pdfcrop and their dependencies.
EXAMPLES
@@ -115,6 +115,16 @@
CHANGELOG
+ 1.4 2020/01/20
+
+ - migration to Python 3
+ - fixed bug if the input document had only one page
+ - fix for signature option not working
+
+ 1.3 2019/08/12
+
+ - removed wait after popen to prevent deadlock with very large documents
+
1.2 2015/06/03
- added man page
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfbook2.doc.tlpobj new/tlpkg/tlpobj/pdfbook2.doc.tlpobj
--- old/tlpkg/tlpobj/pdfbook2.doc.tlpobj 2019-02-28 03:58:35.000000000 +0100
+++ new/tlpkg/tlpobj/pdfbook2.doc.tlpobj 2020-01-24 01:57:17.000000000 +0100
@@ -1,8 +1,8 @@
name pdfbook2.doc
category Package
-revision 37537
+revision 53521
shortdesc doc files of pdfbook2
-docfiles size=5
+docfiles size=9
texmf-dist/doc/man/man1/pdfbook2.1
texmf-dist/doc/man/man1/pdfbook2.man1.pdf
texmf-dist/doc/support/pdfbook2/README
++++++ pdfbook2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfbook2/pdfbook2 new/texmf-dist/scripts/pdfbook2/pdfbook2
--- old/texmf-dist/scripts/pdfbook2/pdfbook2 2015-06-15 00:17:46.000000000 +0200
+++ new/texmf-dist/scripts/pdfbook2/pdfbook2 2020-01-23 22:58:36.000000000 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
""" pdfbook2 - transform pdf files to booklets
This program is free software: you can redistribute it and/or modify
@@ -16,222 +16,303 @@
"""
-import sys
-import subprocess
import os
-from optparse import OptionParser, OptionGroup, HelpFormatter
import shutil
+import subprocess
+import sys
+from optparse import HelpFormatter, OptionGroup, OptionParser
-
-#===============================================================================
+# ===============================================================================
# Create booklet for file $name
-#===============================================================================
+# ===============================================================================
-def booklify( name, opts ):
- #------------------------------------------------------ Check if file exists
- print "\nProcessing", name
- if not os.path.isfile( name ):
- print "SKIP: file not found."
+
+def booklify(name, opts):
+ # ------------------------------------------------------ Check if file exists
+ print("\nProcessing", name)
+ if not os.path.isfile(name):
+ print("SKIP: file not found.")
return
- print "Getting bounds...",
+ print("Getting bounds...", end=" ")
sys.stdout.flush()
- #---------------------------------------------------------- useful constants
- bboxName = "%%HiResBoundingBox:"
+ # ---------------------------------------------------------- useful constants
+ bboxName = b"%%HiResBoundingBox:"
tmpFile = ".crop-tmp.pdf"
- #------------------------------------------------- find min/max bounding box
+ # ------------------------------------------------- find min/max bounding box
if opts.crop:
- p = subprocess.Popen( ["pdfcrop", "--verbose",
- "--resolution", repr( opts.resolution ),
- name, tmpFile],
- stdout = subprocess.PIPE,
- stderr = subprocess.PIPE )
- p.wait()
+ p = subprocess.Popen(
+ ["pdfcrop", "--verbose", "--resolution", repr(opts.resolution), name, tmpFile],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ )
out, err = p.communicate()
- if len( err ) != 0:
- print err
- print "\n\nABORT: Problem getting bounds"
- sys.exit( 1 )
+ if len(err) != 0:
+ print(err)
+ print("\n\nABORT: Problem getting bounds")
+ sys.exit(1)
lines = out.splitlines()
- bboxes = [s[len( bboxName ) + 1:] for s in lines if s.startswith( bboxName )]
- bounds = [[float( x ) for x in bbox.split()] for bbox in bboxes ]
- minLOdd = min( [bound[0] for bound in bounds[::2] ] )
- maxROdd = max( [bound[2] for bound in bounds[::2] ] )
- minLEven = min( [bound[0] for bound in bounds[1::2] ] )
- maxREven = max( [bound[2] for bound in bounds[1::2] ] )
- minT = min( [bound[1] for bound in bounds ] )
- maxB = max( [bound[3] for bound in bounds ] )
+ bboxes = [s[len(bboxName) + 1 :] for s in lines if s.startswith(bboxName)]
+ bounds = [[float(x) for x in bbox.split()] for bbox in bboxes]
+ minLOdd = min([bound[0] for bound in bounds[::2]])
+ maxROdd = max([bound[2] for bound in bounds[::2]])
+ if len(bboxes) > 1:
+ minLEven = min([bound[0] for bound in bounds[1::2]])
+ maxREven = max([bound[2] for bound in bounds[1::2]])
+ else:
+ minLEven = minLOdd
+ maxREven = maxROdd
+ minT = min([bound[1] for bound in bounds])
+ maxB = max([bound[3] for bound in bounds])
widthOdd = maxROdd - minLOdd
widthEven = maxREven - minLEven
- maxWidth = max( widthOdd, widthEven )
+ maxWidth = max(widthOdd, widthEven)
minLOdd -= maxWidth - widthOdd
maxREven += maxWidth - widthEven
- print "done"
+ print("done")
sys.stdout.flush()
- #--------------------------------------------- crop file to area of interest
- print "cropping...",
+ # --------------------------------------------- crop file to area of interest
+ print("cropping...", end=" ")
sys.stdout.flush()
- p = subprocess.Popen( ["pdfcrop",
- "--bbox-odd", "{L} {T} {R} {B}".format( L = minLOdd - opts.innerMargin / 2,
- T = minT - opts.topMargin,
- R = maxROdd + opts.outerMargin,
- B = maxB + opts.outerMargin ),
- "--bbox-even", "{L} {T} {R} {B}".format( L = minLEven - opts.outerMargin,
- T = minT - opts.topMargin,
- R = maxREven + opts.innerMargin / 2,
- B = maxB + opts.outerMargin ),
- "--resolution", repr( opts.resolution ),
- name,
- tmpFile],
- stdout = subprocess.PIPE,
- stderr = subprocess.PIPE )
- p.wait()
+ p = subprocess.Popen(
+ [
+ "pdfcrop",
+ "--bbox-odd",
+ "{L} {T} {R} {B}".format(
+ L=minLOdd - opts.innerMargin / 2,
+ T=minT - opts.topMargin,
+ R=maxROdd + opts.outerMargin,
+ B=maxB + opts.outerMargin,
+ ),
+ "--bbox-even",
+ "{L} {T} {R} {B}".format(
+ L=minLEven - opts.outerMargin,
+ T=minT - opts.topMargin,
+ R=maxREven + opts.innerMargin / 2,
+ B=maxB + opts.outerMargin,
+ ),
+ "--resolution",
+ repr(opts.resolution),
+ name,
+ tmpFile,
+ ],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ )
out, err = p.communicate()
- if len( err ) != 0:
- print err
- print "\n\nABORT: Problem with cropping"
- sys.exit( 1 )
- print "done"
+ if len(err) != 0:
+ print(err)
+ print("\n\nABORT: Problem with cropping")
+ sys.exit(1)
+ print("done")
sys.stdout.flush()
else:
- shutil.copy( name, tmpFile )
+ shutil.copy(name, tmpFile)
- #-------------------------------------------------------- create the booklet
- print "create booklet...",
+ # -------------------------------------------------------- create the booklet
+ print("create booklet...", end=" ")
sys.stdout.flush()
- pdfJamCallList = [ "pdfjam",
- "--booklet", "true",
- "--landscape",
- "--suffix", "book",
- "--signature", repr( opts.signature ),
- tmpFile ]
+ pdfJamCallList = [
+ "pdfjam",
+ "--landscape",
+ "--suffix",
+ "book",
+ tmpFile,
+ ]
+
+ # add option signature if it is defined else booklet
+ if opts.signature != 0:
+ pdfJamCallList.append("--signature")
+ pdfJamCallList.append(repr(opts.signature))
+ else:
+ pdfJamCallList.append("--booklet")
+ pdfJamCallList.append("true")
# add option --paper to call
if opts.paper is not None:
- pdfJamCallList.append( "--paper" )
- pdfJamCallList.append( opts.paper )
+ pdfJamCallList.append("--paper")
+ pdfJamCallList.append(opts.paper)
# add option --short-edge to call
if opts.shortedge:
# check if everyshi.sty exists as texlive recommends
- p = subprocess.Popen( ["kpsewhich", "everyshi.sty"],
- stdout = subprocess.PIPE,
- stderr = subprocess.PIPE )
- p.wait()
+ p = subprocess.Popen(
+ ["kpsewhich", "everyshi.sty"], stdout=subprocess.PIPE, stderr=subprocess.PIPE
+ )
out, err = p.communicate()
- if len( out ) == 0:
- print "\n\nABORT: The everyshi.sty latex package is needed for short-edge."
- sys.exit( 1 )
+ if len(out) == 0:
+ print("\n\nABORT: The everyshi.sty latex package is needed for short-edge.")
+ sys.exit(1)
else:
- pdfJamCallList.append( "--preamble" )
- pdfJamCallList.append( r"\usepackage{everyshi}\makeatletter\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}\makeatother" )
+ pdfJamCallList.append("--preamble")
+ pdfJamCallList.append(
+ r"\usepackage{everyshi}\makeatletter\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}\makeatother"
+ )
# run call to pdfJam to make booklet
- p = subprocess.Popen( pdfJamCallList,
- stdout = subprocess.PIPE,
- stderr = subprocess.PIPE )
- p.wait()
-
- #-------------------------------------------- move file and remove temp file
- os.rename( tmpFile[:-4] + "-book.pdf", name[:-4] + "-book.pdf" )
- os.remove( tmpFile )
- print "done"
+ p = subprocess.Popen(pdfJamCallList, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ out, err = p.communicate()
+
+ # -------------------------------------------- move file and remove temp file
+ os.rename(tmpFile[:-4] + "-book.pdf", name[:-4] + "-book.pdf")
+ os.remove(tmpFile)
+ print("done")
sys.stdout.flush()
-#===============================================================================
+# ===============================================================================
# Help formatter
-#===============================================================================
+# ===============================================================================
+
-class MyHelpFormatter ( HelpFormatter ):
+class MyHelpFormatter(HelpFormatter):
"""Format help with indented section bodies.
"""
- def __init__( self,
- indent_increment = 4,
- max_help_position = 16,
- width = None,
- short_first = 0 ):
- HelpFormatter.__init__(
- self, indent_increment, max_help_position, width, short_first )
+ def __init__(self, indent_increment=4, max_help_position=16, width=None, short_first=0):
+ HelpFormatter.__init__(self, indent_increment, max_help_position, width, short_first)
- def format_usage( self, usage ):
- return ( "USAGE\n\n%*s%s\n" ) % ( self.indent_increment, "", usage )
+ def format_usage(self, usage):
+ return ("USAGE\n\n%*s%s\n") % (self.indent_increment, "", usage)
- def format_heading( self, heading ):
- return "%*s%s\n\n" % ( self.current_indent, "", heading.upper() )
+ def format_heading(self, heading):
+ return "%*s%s\n\n" % (self.current_indent, "", heading.upper())
-#===============================================================================
+# ===============================================================================
# main programm
-#===============================================================================
+# ===============================================================================
if __name__ == "__main__":
- #------------------------------------------------------------ useful strings
+ # ------------------------------------------------------------ useful strings
usageString = "Usage: %prog [options] file1 [file2 ...]"
versionString = """
- %prog v1.2
- (c) 2015 Johannes Neumann (http://www.neumannjo.de)
+ %prog v1.4 (https://github.com/jenom/pdfbook2)
+ (c) 2015 - 2020 Johannes Neumann (http://www.neumannjo.de)
licensed under GPLv3 (http://www.gnu.org/licenses/gpl-3.0)
based on pdfbook by David Firth with help from Marco Pessotto\n"""
defaultString = " (default: %default)"
- #------------------------------------------------- create commandline parser
- parser = OptionParser( usage = usageString, version = versionString,
- formatter = MyHelpFormatter( indent_increment = 4 ) )
-
- generalGroup = OptionGroup( parser, "General" )
- generalGroup.add_option( "-p", "--paper", dest = "paper", type = "str", action = "store",
- metavar = "STR",
- help = "Format of the output paper dimensions as latex keyword (e.g. a4paper, letterpaper, legalpaper, ...)" )
- generalGroup.add_option( "-s", "--short-edge", dest = "shortedge", action = "store_true",
- help = "Format the booklet for short-edge double-sided printing",
- default = False )
- generalGroup.add_option( "-n", "--no-crop", dest = "crop", action = "store_false",
- help = "Prevent the cropping to the content area",
- default = True )
- parser.add_option_group( generalGroup )
-
- marginGroup = OptionGroup( parser, "Margins" )
- marginGroup.add_option( "-o", "--outer-margin", type = "int", default = 40,
- dest = "outerMargin", action = "store", metavar = "INT",
- help = "Defines the outer margin in the booklet" + defaultString )
- marginGroup.add_option( "-i", "--inner-margin", type = "int", default = 150,
- dest = "innerMargin", action = "store", metavar = "INT",
- help = "Defines the inner margin between the pages in the booklet" + defaultString )
- marginGroup.add_option( "-t", "--top-margin", type = "int", default = 30,
- dest = "topMargin", action = "store", metavar = "INT",
- help = "Defines the top margin in the booklet" + defaultString )
- marginGroup.add_option( "-b", "--bottom-margin", type = "int", default = 30, metavar = "INT",
- dest = "bottomMargin", action = "store",
- help = "Defines the bottom margin in the booklet" + defaultString )
- parser.add_option_group( marginGroup )
-
- advancedGroup = OptionGroup( parser, "Advanced" )
- advancedGroup.add_option( "--signature", dest = "signature", action = "store", type = "int",
- help = "Define the signature for the booklet handed to pdfjam, needs to be multiple of 4" + defaultString,
- default = 4, metavar = "INT" )
- advancedGroup.add_option( "--signature*", dest = "signature", action = "store", type = "int",
- help = "Same as --signature", metavar = "INT" )
- advancedGroup.add_option( "--resolution", dest = "resolution", action = "store", type = "int",
- help = "Resolution used by ghostscript in bp" + defaultString,
- metavar = "INT", default = 72 )
- parser.add_option_group( advancedGroup )
+ # ------------------------------------------------- create commandline parser
+ parser = OptionParser(
+ usage=usageString, version=versionString, formatter=MyHelpFormatter(indent_increment=4)
+ )
+
+ generalGroup = OptionGroup(parser, "General")
+ generalGroup.add_option(
+ "-p",
+ "--paper",
+ dest="paper",
+ type="str",
+ action="store",
+ metavar="STR",
+ help="Format of the output paper dimensions as latex keyword (e.g. a4paper, letterpaper, legalpaper, ...)",
+ )
+ generalGroup.add_option(
+ "-s",
+ "--short-edge",
+ dest="shortedge",
+ action="store_true",
+ help="Format the booklet for short-edge double-sided printing",
+ default=False,
+ )
+ generalGroup.add_option(
+ "-n",
+ "--no-crop",
+ dest="crop",
+ action="store_false",
+ help="Prevent the cropping to the content area",
+ default=True,
+ )
+ parser.add_option_group(generalGroup)
+
+ marginGroup = OptionGroup(parser, "Margins")
+ marginGroup.add_option(
+ "-o",
+ "--outer-margin",
+ type="int",
+ default=40,
+ dest="outerMargin",
+ action="store",
+ metavar="INT",
+ help="Defines the outer margin in the booklet" + defaultString,
+ )
+ marginGroup.add_option(
+ "-i",
+ "--inner-margin",
+ type="int",
+ default=150,
+ dest="innerMargin",
+ action="store",
+ metavar="INT",
+ help="Defines the inner margin between the pages in the booklet" + defaultString,
+ )
+ marginGroup.add_option(
+ "-t",
+ "--top-margin",
+ type="int",
+ default=30,
+ dest="topMargin",
+ action="store",
+ metavar="INT",
+ help="Defines the top margin in the booklet" + defaultString,
+ )
+ marginGroup.add_option(
+ "-b",
+ "--bottom-margin",
+ type="int",
+ default=30,
+ metavar="INT",
+ dest="bottomMargin",
+ action="store",
+ help="Defines the bottom margin in the booklet" + defaultString,
+ )
+ parser.add_option_group(marginGroup)
+
+ advancedGroup = OptionGroup(parser, "Advanced")
+ advancedGroup.add_option(
+ "--signature",
+ dest="signature",
+ action="store",
+ type="int",
+ help="Define the signature for the booklet handed to pdfjam, needs to be multiple of 4"
+ + defaultString,
+ default=0,
+ metavar="INT",
+ )
+ advancedGroup.add_option(
+ "--signature*",
+ dest="signature",
+ action="store",
+ type="int",
+ help="Same as --signature",
+ metavar="INT",
+ )
+ advancedGroup.add_option(
+ "--resolution",
+ dest="resolution",
+ action="store",
+ type="int",
+ help="Resolution used by ghostscript in bp" + defaultString,
+ metavar="INT",
+ default=72,
+ )
+ parser.add_option_group(advancedGroup)
opts, args = parser.parse_args()
- #------------------------------------ show help if started without arguments
- if len( args ) == 0:
+ # ------------------------------------ show help if started without arguments
+ if len(args) == 0:
parser.print_version()
parser.print_help()
- print ""
- sys.exit( 2 )
+ print("")
+ sys.exit(2)
- #------------------------------------------- run for each provided file name
+ # ------------------------------------------- run for each provided file name
parser.print_version()
for arg in args:
- booklify( arg, opts )
+ booklify(arg, opts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfbook2.tlpobj new/tlpkg/tlpobj/pdfbook2.tlpobj
--- old/tlpkg/tlpobj/pdfbook2.tlpobj 2019-02-28 03:58:35.000000000 +0100
+++ new/tlpkg/tlpobj/pdfbook2.tlpobj 2020-01-24 01:57:17.000000000 +0100
@@ -1,6 +1,6 @@
name pdfbook2
category Package
-revision 37537
+revision 53521
shortdesc Create booklets from PDF files
longdesc This python program creates print-ready PDF files from some
longdesc input PDF files for booklet printing. The resulting files need
@@ -19,7 +19,6 @@
texmf-dist/scripts/pdfbook2/pdfbook2
catalogue-also pdfbook
catalogue-ctan /support/pdfbook2
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl3
catalogue-topics pdfprocess
-catalogue-version 1.2
+catalogue-version 1.4
++++++ pdfjam.doc.tar.xz ++++++
++++ 2106 lines of diff (skipped)
++++++ pdfjam.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdf180 new/texmf-dist/scripts/pdfjam/pdf180
--- old/texmf-dist/scripts/pdfjam/pdf180 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdf180 1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-#!/bin/sh
-##
-## pdf180: A shell program to rotate pages of PDF files
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-exec pdfjam --suffix rotated180 --angle 180 --fitpaper true "$@"
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdf270 new/texmf-dist/scripts/pdfjam/pdf270
--- old/texmf-dist/scripts/pdfjam/pdf270 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdf270 1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-#!/bin/sh
-##
-## pdf270: A shell program to rotate pages of PDF files
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##.
-exec pdfjam --suffix rotated270 --angle 270 --fitpaper true --rotateoversize true "$@"
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdf90 new/texmf-dist/scripts/pdfjam/pdf90
--- old/texmf-dist/scripts/pdfjam/pdf90 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdf90 1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-#!/bin/sh
-##
-## pdf90: A shell program to rotate pages of PDF files
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-exec pdfjam --suffix rotated90 --angle 90 --fitpaper true --rotateoversize true "$@"
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfbook new/texmf-dist/scripts/pdfjam/pdfbook
--- old/texmf-dist/scripts/pdfjam/pdfbook 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfbook 1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-#!/bin/sh
-##
-## pdfbook: Rearrange pages of one or more PDF files into 2-up signatures
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth), with help
-## from Marco Pessotto
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-case $1 in
- --short-edge)
- shortedge=true ;
- shift ;
- ;;
- *)
- ;;
-esac
-for arg
-do
- case $arg in
- --signature*)
- ## catches both --signature and --signature*
- signature=true ; break
- ;;
- *) ;;
- esac
-done
-##
-## If $signature is empty, we need to use a default:
-##
-if test -z "$signature" ; then
- signature="--signature 4"
-else
- signature=""
-fi
-##
-## Make the call to pdfjam:
-##
-if test -z "$shortedge"
-then
- exec pdfjam --booklet true --landscape --suffix book $signature "$@"
-else
- (kpsewhich everyshi.sty >/dev/null) || {
- echo "the 'everyshi' package is not installed."; exit 1
- }
- exec pdfjam --booklet true --landscape --suffix book $signature \
- --preamble '\usepackage{everyshi}
-\makeatletter
-\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
-\makeatother
-' "$@"
-fi
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfflip new/texmf-dist/scripts/pdfjam/pdfflip
--- old/texmf-dist/scripts/pdfjam/pdfflip 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfflip 1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-#!/bin/sh
-##
-## pdfflip: A shell program to "flip over" the pages of PDF files
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-exec pdfjam --suffix flipped --reflect true --fitpaper true "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfjam new/texmf-dist/scripts/pdfjam/pdfjam
--- old/texmf-dist/scripts/pdfjam/pdfjam 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfjam 2019-11-19 01:11:53.000000000 +0100
@@ -1,16 +1,17 @@
#!/bin/sh
-version=2.08
+version=3.03
#########################################################################
## ##
## pdfjam: A shell-script interface to the "pdfpages" LaTeX package ##
## ------ ##
## ##
-## Author: David Firth (http://go.warwick.ac.uk/dfirth) ##
+## Author: David Firth (http://warwick.ac.uk/dfirth) ##
## ##
-## Usage: see http://go.warwick.ac.uk/pdfjam or "pdfjam --help" ##
+## Usage: see https://github.com/DavidFirth/pdfjam ##
+## or "pdfjam --help" ##
## ##
## Relies on: ##
-## -- pdflatex ##
+## -- pdflatex (or xelatex or lualatex) ##
## -- the 'pdfpages' package for LaTeX (ideally version >= 0.4f) ##
## ##
## License: GPL version 2 or later. This software comes with ##
@@ -26,6 +27,197 @@
## ##
#########################################################################
##
+## HELP TEXT
+##
+## Defines the output of 'pdfjam --help'
+##
+helptext="
+pdfjam is a shell-script front end to the LaTeX 'pdfpages' package (for
+which, see http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages).
+
+Usage: pdfjam [OPTIONS] [--] [FILE1 [SEL1]] [FILE2 [SEL2]]...
+where
+* 'FILE1' etc. are PDF files (JPG and PNG files are also allowed). For
+ input from /dev/stdin, use the special name '/dev/stdin' in place of any
+ of FILE1, FILE2, etc: this can be mixed with 'real' files as needed, to
+ allow input through a pipe (note that if /dev/stdin is connected to tty,
+ an error results). If 'FILE1' is absent, pdfjam will use '/dev/stdin'
+ (and will use '-' for the page selection -- see next item).
+* 'SEL1' is a page selection for FILE1, etc.
+ To select all pages (the default) use '-'. See the pdfpages manual for
+ more details. An example:
+ ... file1 '{},2,4-6,9-' ...
+ makes an empty page, followed by pages 2,4,5,6 of file1, followed by pages
+ 9 onwards (up to the end of file1).
+ A page selection can be applied to more than one file, e.g.,
+ ... file1 file2 file3 1-7 ...
+ applies page selection '1-7' to all three files; but for example
+ ... file1 file2 2- file3 1-7 ...
+ would apply the page selection '2-' to file1 and file2, and '1-7'
+ to file3. A page selection applies to all the files *immediately*
+ preceding it in the argument list. A missing page selection defaults to
+ '-'; this includes the case where 'FILE1' is absent and so /dev/stdin gets
+ used by default.
+* 'options' are pdfpages specifications in the form '--KEY VALUE' (see
+ below), or
+ --help (or -h, or -u)
+ Output this text only; no processing of PDF files.
+ --configpath
+ Output the 'configpath' variable and exit immediately; no
+ processing of PDF files.
+ --version (or -V)
+ Output the version number of pdfjam and exit immediately; no
+ processing of PDF files.
+ --quiet (or -q)
+ Suppress verbose commentary on progress.
+ --batch
+ Run pdfjam sequentially on each input file in turn, and
+ produce a separate output file for each input, rather
+ than the default behaviour (which is a single run of
+ pdfjam on all of the input files, producing a single
+ output document). For the location of output
+ files, see '--outfile'. The --batch option cannot be
+ used in the case of input from stdin.
+ --outfile PATH (or -o PATH)
+ Specifies where the output file(s) will go. If PATH is an
+ existing directory, pdfjam will attempt to write its
+ output PDF file(s) there, with name(s) derived from the
+ input file name(s) and the --suffix option (see below).
+ Otherwise the output file will be PATH. If '/dev/stdin'
+ is the only or last input file, PATH cannot be a directory.
+ Your current default PATH for output is:
+ $outFile
+ --suffix STRING
+ Specifies a suffix for output file names, to be used when
+ --outfile is either (a) a directory, or
+ (b) not specified in a --batch call.
+ A good STRING should be descriptive: for example,
+ --suffix 'rotated'
+ would append the text '-rotated' to the name of the input
+ file in order to make the output file name, as in
+ 'myfile-rotated.pdf'. The STRING must not have zero
+ length.
+ [Default for you at this site: suffix=$suffix]
+ --checkfiles
+ --no-checkfiles
+ If the Unix 'file' utility is available, with options
+ -L and -b, the output of 'file -Lb FILE1' should be
+ 'PDF document...' where '...' gives version information.
+ If this is the case on your system you should use
+ '--checkfiles'; otherwise use '--no-checkfiles',
+ in which case all input PDF files must have .pdf or .PDF
+ as their name extension.
+ [Default for you at this site: checkfiles=$checkfiles]
+ --preamble STRING
+ Append the supplied STRING to the preamble of the LaTeX
+ source file(s), immediately before the '\begin{document}'
+ line. An example:
+ pdfjam --nup 2x2 myfile.pdf -o myfile-4up.pdf \\
+ --preamble '\usepackage{fancyhdr} \pagestyle{fancy}'
+ The '--preamble' option can be used, for example, to load
+ LaTeX packages and/or to set global options. If '--preamble'
+ is used more than once in the call, the supplied preamble
+ strings are simply concatenated. For a note on avoiding
+ clashes, see the PDFjam-README file (also available at
+ http://www.pdfjam.net).
+ --keepinfo
+ --no-keepinfo
+ Preserve (or not) Title, Author, Subject and Keywords
+ (from the last input PDF file, if more than one) in the
+ output PDF file. This requires the pdfinfo utility, from
+ the xpdf package, and the LaTeX 'hyperref' package; if
+ either of those is not available, '--keepinfo' is ignored.
+ [Default for you at this site: keepinfo=$keepinfo]
+ --pdftitle STRING
+ --pdfauthor STRING
+ --pdfsubject STRING
+ --pdfkeywords STRING
+ Provide text for the Title, Author, Subject and Keywords
+ in the output PDF file. Requires the LaTeX 'hyperref'
+ package. These options, individually, over-ride --keepinfo.
+ --landscape
+ --no-landscape
+ Specify landscape page orientation (or not) in the
+ output PDF file.
+ [Default for you at this site: landscape=$landscape]
+ --twoside
+ --no-twoside
+ Specify (or not) the 'twoside' document class option.
+ [Default for you at this site: twoside=$twoside]
+ --paper PAPERSPEC (or simply --PAPERSPEC)
+ Specify a LaTeX paper size, for example
+ '--paper a4paper' or simply '--a4paper' for ISO A4 paper.
+ If the LaTeX 'geometry' package is installed, a wider range
+ of paper sizes is available. For details see documentation
+ for LaTeX and/or the 'geometry' package.
+ [Default for you at this site: paper=$paper]
+ --papersize '{WIDTH,HEIGHT}'
+ Specify a custom paper size, e.g.,
+ --papersize '{10in,18cm}'
+ (Note the braces, and the comma!)
+ If the 'geometry' package is not found, this has no effect.
+ --pagecolor RGBSPEC
+ Specify a background colour for the output pages. The
+ RGBSPEC must be a comma-separated trio of integers
+ between 0 and 255. An example:
+ --pagecolor 150,200,150
+ [Default is no background colour]
+ --tidy
+ --no-tidy
+ Specify whether the temporary directory created by
+ pdfjam should be deleted. Use '--no-tidy' to help debug
+ most errors.
+ [Default for you at this site: tidy=$tidy]
+ --latex PATHTOLATEX
+ Specify the LaTeX engine to be used (one of pdflatex,
+ xelatex, lualatex). The PATHTOLATEX string must be
+ the full path to a suitable LaTeX executable (for example
+ /usr/bin/xelatex on many unix systems).
+ [Default for you at this site: latex=$latex]
+ --runs N
+ Run latex N times, for each output document made.
+ [Default for you at this site: runs=$runs]
+ --vanilla
+ Suppress the reading of any site-wide or user-specific
+ configuration files.
+ --KEY VALUE
+ Specify options to '\includepdfmerge', in the LaTeX
+ 'pdfpages' package. Here KEY is the name of any of the
+ many options for '\includepdfmerge', and VALUE is a
+ corresponding value. Examples are
+ --nup 2x1 (for 2-up side-by-side imposition)
+ --scale 0.7 (to scale all input pages to 70% size)
+ --offset '1cm 0.5cm'
+ (to offset all pages -- note the quotes!)
+ --frame true (to put a frame round each input page)
+ --trim '1cm 2cm 1cm 2cm' --clip true
+ (to trim those amounts from left, bottom,
+ right and top, respectively, of input
+ pages)
+ etc., etc. For more information see the manual for
+ the 'pdfpages' package, at
+ http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages
+* '--' can be used to signal that there are no more options to come.
+
+Defaults for the options '--suffix', '--keepinfo', '--paper', '--outfile',
+'--landscape', '--twoside', '--tidy', '--latex', '--runs', '--checkfiles'
+and '--preamble' can be set in site-wide or user-specific configuration files.
+The path that is searched for site-wide configuration files (named pdfjam.conf)
+at this installation is
+ $configpath
+This configuration path can be changed by editing the pdfjam script if
+necessary. Any user-specific configuration should be put in a file named
+.pdfjam.conf in your home directory. (All of these files are ignored
+if the '--vanilla' argument is used.)
+
+For more information, including a sample configuration file, see
+https://github.com/DavidFirth/pdfjam.
+"
+##
+## END OF HELP TEXT
+##
+#########################################################################
+##
## PRELIMINARIES
##
## First determine:
@@ -50,7 +242,8 @@
batch=true ;
;;
--help | -u | -h)
- help=true ;
+ printf "%s\n" "$helptext" ;
+ exit 0 ;
;;
--vanilla)
vanilla=true ;
@@ -73,11 +266,11 @@
##
## Record the full filename of the current working diractory
##
-pwd=`pwd`
+pwd=$(pwd)
##
## Trap interrupts so that they kill everything:
##
-trap 'IFS=$OIFS; exit 1' 1 2 9 15
+trap 'IFS=$OIFS; exit 1' 1 2 15
##
## The following will be useful for readability of the script:
##
@@ -95,7 +288,7 @@
prattle () { ## second argument here is non-null for continuation lines
if test $verbose = true; then
prefix1=" pdfjam:" ;
- prefix2=`printf "%s" "$prefix1" | sed 's/pdfjam:/ /'` ;
+ prefix2=$(printf "%s" "$prefix1" | sed 's/pdfjam:/ /') ;
indent="" ;
if test "$PDFJAM_CALL_NUMBER" -gt 0 &&
test "$batch" != true
@@ -106,7 +299,7 @@
lineCounter=0 ;
for line in ${1}
do
- lineCounter=`expr $lineCounter + 1` ;
+ lineCounter=$((lineCounter + 1)) ;
if test $lineCounter -eq 1 && test ! -n "${2}" ;
then
if test -w "$PDFJAM_MESSAGES_FILE"
@@ -149,22 +342,21 @@
## once, the last instance prevails.)
##
## An example configuration file can be found at
-## http://go.warwick.ac.uk/pdfjam
+## https://github.com/DavidFirth/pdfjam
##
## The path searched for site-wide configuration files can be changed
## by editing the variable 'configpath' at the top of this file.
##
##
-## First check whether 'pdflatex' is in the user's path:
-##
-pdflatex=pdflatex
-(hash pdflatex >/dev/null 2>&1) || pdflatex="not found"
+## First get the full path (if it exists) to pdflatex:
##
+latex=$(command -v pdflatex)
+if [ -z "$latex" ] ; then latex="not found" ; fi
##
-## Likewise for the pdfinfo utility (only needed for `--keepinfo'):
+## Likewise for the pdfinfo (only needed for `--keepinfo'):
##
-pdfinfo='pdfinfo'
-(hash pdfinfo >/dev/null 2>&1) || pdfinfo="not found"
+pdfinfo=$(command -v pdfinfo)
+if [ -z "$pdfinfo" ] ; then pdfinfo="not found"; fi
##
##
## Next a permitted location for temporary files on your system:
@@ -179,6 +371,8 @@
##
## A few more default settings for pdfjam:
##
+runs=1 ## Run latex just once
+##
tidy='true' ## Delete all temporary files at the end
##
keepinfo='false' ## Don't try to preserve "pdfinfo" data
@@ -193,7 +387,23 @@
##
preamble='' ## Default LaTeX preamble string.
##
-paper='a4paper' ## Default paper size is ISO A4.
+## Guess default paper size from locale if possible, otherwise A4
+##
+if command -v locale >/dev/null ; then
+ paperheight=$(locale -k LC_PAPER | sed -e '1!d' -e 's/.*=//') ;
+ case $paperheight in
+ 297)
+ paper='a4paper' ;
+ ;;
+ 279)
+ paper='letterpaper' ;
+ ;;
+ *)
+ paper='a4paper' ;
+ ;;
+ esac
+else paper='a4paper' ; ## fallback paper size is ISO A4
+fi
##
## END OF SETTINGS MADE DIRECTLY WITHIN THE SCRIPT
##
@@ -204,8 +414,8 @@
then
if test "$PDFJAM_CALL_NUMBER" = 0 ## not a secondary call to pdfjam
then
- configFiles=`printf "%s" "$configpath" | \
- sed 's/:/\/pdfjam.conf:/g; s/$/\/pdfjam.conf/'`
+ configFiles=$(printf "%s" "$configpath" | \
+ sed 's/:/\/pdfjam.conf:/g; s/$/\/pdfjam.conf/')
configFiles="${configFiles}:$HOME/.pdfjam.conf"
PDFJAM_CONFIG=""
prattle "Reading any site-wide or user-specific defaults..."
@@ -213,13 +423,13 @@
for d in $configFiles
do
if test -f "$d"; then
- change=`sed '/^ *#.*/d ; s/ *#.*//; s/^ *//' "$d"`
+ change=$(sed '/^ *#.*/d ; s/ *#.*//; s/^ *//' "$d")
comment="## ${newline}## From ${d}: ${newline}##"
PDFJAM_CONFIG="$PDFJAM_CONFIG$comment$newline$change$newline"
fi
done
IFS="$OIFS"
- PDFJAM_CONFIG=`printf "%s" "$PDFJAM_CONFIG" | sed 's/^/ /'`
+ PDFJAM_CONFIG=$(printf "%s" "$PDFJAM_CONFIG" | sed 's/^/ /')
if test "$batch" = true ; then export PDFJAM_CONFIG ; fi
if test -z "$PDFJAM_CONFIG"
then
@@ -236,207 +446,29 @@
prattle "files will be read." 1
fi
fi
+## For backwards compatibility, check here for a $pdflatex setting in the config file
+if [ -n "${pdflatex:-}" ] ; then latex="$pdflatex" ; fi
##
## END OF CONFIGURATION BLOCK
##
#########################################################################
##
-## HELP TEXT
-##
-## Defines the output of 'pdfjam --help'
-##
-helptext="
-pdfjam is a shell-script front end to the LaTeX 'pdfpages' package (for
-which, see http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages).
-
-Usage: pdfjam [OPTIONS] [--] [FILE1 [SEL1]] [FILE2 [SEL2]]...
-where
-* 'FILE1' etc. are PDF files (JPG and PNG files are also allowed). For
- input from /dev/stdin, use the special name '/dev/stdin' in place of any
- of FILE1, FILE2, etc: this can be mixed with 'real' files as needed, to
- allow input through a pipe (note that if /dev/stdin is connected to tty,
- an error results). If 'FILE1' is absent, pdfjam will use '/dev/stdin'
- (and will use '-' for the page selection -- see next item).
-* 'SEL1' is a page selection for FILE1, etc.
- To select all pages (the default) use '-'. See the pdfpages manual for
- more details. An example:
- ... file1 '{},2,4-5,9-' ...
- makes an empty page, followed by pages 2,4,5,6 of file1, followed by pages
- 9 onwards (up to the end of file1).
- A page selection can be applied to more than one file, e.g.,
- ... file1 file2 file3 1-7 ...
- applies page selection '1-7' to all three files; but for example
- ... file1 file2 2- file3 1-7 ...
- would apply the page selection '2-' to file1 and file2, and '1-7'
- to file3. A page selection applies to all the files *immediately*
- preceding it in the argument list. A missing page selection defaults to
- '-'; this includes the case where 'FILE1' is absent and so /dev/stdin gets
- used by default.
-* 'options' are pdfpages specifications in the form '--KEY VALUE' (see
- below), or
- --help (or -h, or -u)
- Output this text only; no processing of PDF files.
- --configpath
- Output the 'configpath' variable and exit immediately; no
- processing of PDF files.
- --version (or -V)
- Output the version number of pdfjam and exit immediately; no
- processing of PDF files.
- --quiet (or -q)
- Suppress verbose commentary on progress.
- --batch
- Run pdfjam sequentially on each input file in turn, and
- produce a separate output file for each input, rather
- than the default behaviour (which is a single run of
- pdfjam on all of the input files, producing a single
- output document). For the location of output
- files, see '--outfile'. The --batch option cannot be
- used in the case of input fron stdin.
- --outfile PATH (or -o PATH)
- Specifies where the output file(s) will go. If PATH is an
- existing directory, pdfjam will attempt to write its
- output PDF file(s) there, with name(s) derived from the
- input file name(s) and the --suffix option (see below).
- Otherwise the output file will be PATH. If '/dev/stdin'
- is the only or last input file, PATH cannot be a directory.
- Your current default PATH for output is:
- $outFile
- --suffix STRING
- Specifies a suffix for output file names, to be used when
- --outfile is either (a) a directory, or
- (b) not specified in a --batch call.
- A good STRING should be descriptive: for example,
- --suffix 'rotated'
- would append the text '-rotated' to the name of the input
- file in order to make the output file name, as in
- 'myfile-rotated.pdf'. The STRING must not have zero
- length.
- [Default for you at this site: suffix=$suffix]
- --checkfiles
- --no-checkfiles
- If the Unix 'file' utility is available, with options
- -L and -b, the output of 'file -Lb FILE1' should be
- 'PDF document...' where '...' gives version information.
- If this is the case on your system you should use
- '--checkfiles'; otherwise use '--no-checkfiles',
- in which case all input PDF files must have .pdf or .PDF
- as their name extension.
- [Default for you at this site: checkfiles=$checkfiles]
- --preamble STRING
- Append the supplied STRING to the preamble of the LaTeX
- source file(s), immediately before the '\begin{document}'
- line. An example:
- pdfjam --nup 2x2 myfile.pdf -o myfile-4up.pdf \\
- --preamble '\usepackage{fancyhdr} \pagestyle{fancy}'
- The '--preamble' option can be used, for example, to load
- LaTeX packages and/or to set global options. If '--preamble'
- is used more than once in the call, the supplied preamble
- strings are simply concatenated.
- --keepinfo
- --no-keepinfo
- Preserve (or not) Title, Author, Subject and Keywords
- (from the last input PDF file, if more than one) in the
- output PDF file. This requires the pdfinfo utility, from
- the xpdf package, and the LaTeX 'hyperref' package; if
- either of those is not available, '--keepinfo' is ignored.
- [Default for you at this site: keepinfo=$keepinfo]
- --pdftitle STRING
- --pdfauthor STRING
- --pdfsubject STRING
- --pdfkeywords STRING
- Provide text for the Title, Author, Subject and Keywords
- in the output PDF file. Requires the LaTeX 'hyperref'
- package. These options, individually, over-ride --keepinfo.
- --landscape
- --no-landscape
- Specify landscape page orientation (or not) in the
- output PDF file.
- [Default for you at this site: landscape=$landscape]
- --twoside
- --no-twoside
- Specify (or not) the 'twoside' document class option.
- [Default for you at this site: twoside=$twoside]
- --paper PAPERSPEC (or simply --PAPERSPEC)
- Specify a LaTeX paper size, for example
- '--paper a4paper' or simply '--a4paper' for ISO A4 paper.
- If the LaTeX 'geometry' package is installed, a wider range
- of paper sizes is available. For details see documentation
- for LaTeX and/or the 'geometry' package.
- [Default for you at this site: paper=$paper]
- --papersize '{WIDTH,HEIGHT}'
- Specify a custom paper size, e.g.,
- --papersize '{10in,18cm}'
- (Note the braces, and the comma!)
- If the 'geometry' package is not found, this has no effect.
- --pagecolor RGBSPEC
- Specify a background colour for the output pages. The
- RGBSPEC must be a comma-separated trio of integers
- between 0 and 255. An example:
- --pagecolor 150,200,150
- [Default is no background colour]
- --tidy
- --no-tidy
- Specify whether the temporary directory created by
- pdfjam should be deleted. Use '--no-tidy' to help debug
- most errors.
- [Default for you at this site: tidy=$tidy]
- --vanilla
- Suppress the reading of any site-wide or user-specific
- configuration files.
- --KEY VALUE
- Specify options to '\includepdfmerge', in the LaTeX
- 'pdfpages' package. Here KEY is the name of any of the
- many options for '\includepdfmerge', and VALUE is a
- corresponding value. Examples are
- --nup 2x1 (for 2-up side-by-side imposition)
- --scale 0.7 (to scale all input pages to 70% size)
- --offset '1cm 0.5cm'
- (to offset all pages -- note the quotes!)
- --frame true (to put a frame round each input page)
- --trim '1cm 2cm 1cm 2cm' --clip true
- (to trim those amounts from left, bottom,
- right and top, respectively, of input
- pages)
- etc., etc. For more information see the manual for
- the 'pdfpages' package, at
- http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages
-* '--' can be used to signal that there are no more options to come.
-
-Defaults for the options '--suffix', '--keepinfo', '--paper', '--outfile',
-'--landscape', '--twoside', '--tidy', '--checkfiles' and '--preamble' can be
-set in site-wide or user-specific configuration files. The path that is
-searched for site-wide configuration files (named pdfjam.conf) at this
-installation is
- $configpath
-This configuration path can be changed by editing the pdfjam script if
-necessary. Any user-specific configuration should be put in a file named
-.pdfjam.conf in your home directory. (All of these files are ignored
-if the '--vanilla' argument is used.)
-
-For more information, including an example configuration file, see
-http://go.warwick.ac.uk/pdfjam.
-"
-##
-## END OF HELP TEXT
-##
-#########################################################################
-##
## ERROR CODES
##
E_USAGE=64 # command line usage error
-E_DATAERR=65 # data format error
E_NOINPUT=66 # cannot open input
E_UNAVAILABLE=69 # service unavailable
E_SOFTWARE=70 # internal software error
+E_OSFILE=72 # file does not exist or cannot be opened
E_CANTCREATE=73 # can't create (user) output file
E_CONFIG=78 # configuration error
##
## Define a function to print an error message and exit:
##
error_exit () {
- if (test -r "$PDFJAM_MESSAGES_FILE")
+ if [ -r "$PDFJAM_MESSAGES_FILE" ]
then cat "$PDFJAM_MESSAGES_FILE" >&2
- else printf "$messages" 1>&2
+ else printf "%s" "$messages" 1>&2
fi
printf " pdfjam ERROR: %s\n" "$1" 1>&2 ;
exit "$2" ;
@@ -486,19 +518,20 @@
shift ;
continue ;
;;
- --help | -u | -h)
- printf "%s\n" "$helptext" ;
- exit 0;;
--configpath)
printf "%s\n" "$configpath" ;
exit 0;;
--* | -q | -o)
if test "$pageSpecAwaited" = true ; then
## fill in any missing page specs before continuing
- fileSpec=`printf "%s" "$fileSpec" | sed 's/|awaited/|-/g'`
+ fileSpec=$(printf "%s" "$fileSpec" | sed 's/|awaited/|-/g')
pageSpecAwaited=false
fi
case ${1} in
+ --latex)
+ latex="${2}" ;
+ callOptions="$callOptions --latex ${2}" ;
+ shift ;;
--batch)
batch=true ;
;;
@@ -513,7 +546,7 @@
outFile="${2}" ;
if test "$batch" = true
then
- outFile=`escape_chars "$outFile"`
+ outFile=$(escape_chars "$outFile")
fi
callOptions="$callOptions --outfile $outFile" ;
shift ;;
@@ -523,7 +556,7 @@
suffix="${2}" ;
if test "$batch" = true
then
- suffix=`escape_chars "$suffix"`
+ suffix=$(escape_chars "$suffix")
fi
callOptions="$callOptions --suffix $suffix"
shift
@@ -533,6 +566,16 @@
$E_USAGE ;
fi
;;
+ --runs)
+ runs="${2}" ;
+ ## check if the argument is a number > 0
+ if [ "$runs" -lt 1 ] 2> /dev/null; then
+ error_exit \
+ "'--runs' number must be at least 1" \
+ $E_USAGE ;
+ fi
+ callOptions="$callOptions --runs ${2}" ;
+ shift ;;
--tidy)
tidy=true ;
callOptions="$callOptions --tidy" ;
@@ -557,7 +600,7 @@
pdfTitle="${2}" ;
if test "$batch" = true
then
- pdfTitle=`escape_chars "$pdfTitle"`
+ pdfTitle=$(escape_chars "$pdfTitle")
fi
callOptions="$callOptions --pdftitle $pdfTitle" ;
shift ;;
@@ -565,7 +608,7 @@
pdfAuthor="${2}" ;
if test "$batch" = true
then
- pdfAuthor=`escape_chars "$pdfAuthor"`
+ pdfAuthor=$(escape_chars "$pdfAuthor")
fi
callOptions="$callOptions --pdfauthor $pdfAuthor" ;
shift ;;
@@ -573,7 +616,7 @@
pdfSubject="${2}" ;
if test "$batch" = true
then
- pdfSubject=`escape_chars "$pdfSubject"`
+ pdfSubject=$(escape_chars "$pdfSubject")
fi
callOptions="$callOptions --pdfsubject $pdfSubject" ;
shift ;;
@@ -581,7 +624,7 @@
pdfKeywords="${2}" ;
if test "$batch" = true
then
- pdfKeywords=`escape_chars "$pdfKeywords"`
+ pdfKeywords=$(escape_chars "$pdfKeywords")
fi
callOptions="$callOptions --pdfkeywords $pdfKeywords" ;
shift ;;
@@ -596,7 +639,7 @@
--a4paper | --a5paper | --b5paper | --letterpaper | \
--executivepaper | --legalpaper)
## standard LaTeX paper sizes
- paper=`printf "%s" "${1}" | sed 's/^--//'` ;
+ paper=$(printf "%s" "${1}" | sed 's/^--//') ;
callOptions="$callOptions ${1}" ;
;;
--a0paper | --a1paper | --a2paper | --a3paper | \
@@ -605,7 +648,7 @@
## the 'geometry' package is needed
if test "$geometry" != false ;
then
- paper=`printf "%s" "${1}" | sed 's/^--//'` ;
+ paper=$(printf "%s" "${1}" | sed 's/^--//') ;
callOptions="$callOptions ${1}" ;
geometry=true ;
fi ;
@@ -640,7 +683,7 @@
shift ;;
--*)
## options for \includepdfmerge
- argName=`printf "%s" "${1}" | sed 's/^--//'`;
+ argName=$(printf "%s" "${1}" | sed 's/^--//');
value="${2}"
miscOptions=$miscOptions,"$argName=$value" ;
## saved for possible use in LaTeX file
@@ -663,8 +706,8 @@
inputFromStdin=true ;;
-)
if test "$pageSpecAwaited" = true ; then
- fileSpec=`printf "%s" "$fileSpec" | \
- sed 's/|awaited/|-/g'`
+ fileSpec=$(printf "%s" "$fileSpec" | \
+ sed 's/|awaited/|-/g')
pageSpecAwaited=false
else
error_exit "no PDF/JPG/PNG file found at ${1}" \
@@ -674,10 +717,10 @@
## source files and page selections; if not, we'll quit
if test "$checkfiles" = true ; ## not always available
then
- case `file -Lb "${1}"` in
+ case $(file -Lb "${1}") in
"PDF document"*|"JPEG image data"*|"PNG image"*)
## it's a PDF file (or JPG/PNG) as expected
- fileSpec="$fileSpec${newline}"${1}"|awaited"
+ fileSpec="$fileSpec${newline}${1}|awaited"
pageSpecAwaited=true
;;
*)
@@ -691,8 +734,8 @@
*) ## if page spec needed, assume this is it;
## otherwise something is wrong
if test "$pageSpecAwaited" = true ; then
- fileSpec=`printf "%s" "$fileSpec" | \
- sed "s/|awaited/|$1/g"`
+ fileSpec=$(printf "%s" "$fileSpec" | \
+ sed "s/|awaited/|$1/g")
pageSpecAwaited=false
else
error_exit "no PDF/JPG/PNG file found at ${1}" \
@@ -715,8 +758,8 @@
*) ## if page spec needed, assume this is it;
## otherwise something is wrong
if test "$pageSpecAwaited" = true ; then
- fileSpec=`printf "%s" "$fileSpec" | \
- sed "s/|awaited/|$1/g"`
+ fileSpec=$(printf "%s" "$fileSpec" | \
+ sed "s/|awaited/|$1/g")
pageSpecAwaited=false
else
error_exit "no PDF/JPG/PNG file found at ${1}" \
@@ -733,7 +776,7 @@
##
## Use the default page spec for any that remain unspecified:
##
-fileSpec=`printf "%s" "$fileSpec" | sed '/^$/d; s/^ //; s/|awaited$/|-/'`
+fileSpec=$(printf "%s" "$fileSpec" | sed '/^$/d; s/^ //; s/|awaited$/|-/')
##
## Check whether input from stdin should be used by default:
if test $PDFJAM_CALL_NUMBER -eq 0 && test "$inputFromStdin" != true
@@ -749,14 +792,14 @@
##
## Delete leading comma from $miscOptions:
##
-miscOptions=`printf "%s" "$miscOptions" | sed 's/^,//'`
+miscOptions=$(printf "%s" "$miscOptions" | sed 's/^,//')
##
if test -n "$preamble"
then callOptions="$callOptions --preamble '$preamble'"
fi
## Delete leading space from $callOptions:
##
-callOptions=`printf "%s" "$callOptions" | sed 's/^ //'`
+callOptions=$(printf "%s" "$callOptions" | sed 's/^ //')
##
## Set up a document options variable:
##
@@ -787,7 +830,7 @@
esac
fi
documentOptions="$paper","$orientation","$twoside"
-documentOptions=`printf "%s" "$documentOptions" | sed 's/^,//' | sed 's/,$//'`
+documentOptions=$(printf "%s" "$documentOptions" | sed 's/^,//' | sed 's/,$//')
##
## END OF ARGUMENT PROCESSING
##
@@ -799,18 +842,16 @@
##
if test $PDFJAM_CALL_NUMBER -eq 0 ## not a secondary call
then
- ## Check whether there's a pdflatex, if "$pdflatex" is still unset:
- case $pdflatex in
+ ## Check whether there's a suitable latex to use:
+ case $latex in
"not found")
error_exit "can't find pdflatex!" $E_UNAVAILABLE
;;
- pdflatex)
- ;;
- *) ## $pdflatex was set in a configuration file
- if test ! -x "$pdflatex"
+ *) ##
+ if test ! -x "$latex"
then
error_exit \
- "configuration error, $pdflatex is not an executable file" \
+ "configuration error, $latex is not an executable file" \
$E_CONFIG
fi
;;
@@ -818,7 +859,7 @@
##
## Check that necessary LaTeX packages are installed:
##
- modifyPath=`printf "%s" "$pdflatex" | sed 's/\/[^\/]*$//'`
+ modifyPath=$(printf "%s" "$latex" | sed 's/\/[^\/]*$//')
if [ -n "$modifyPath" ] ; then
PATH="$modifyPath:$PATH"
export PATH
@@ -853,7 +894,7 @@
hyperref=false
fi
if test "$geometry" = true
- ## if, if the 'geometry' package is needed for paper size
+ ## ie, if the 'geometry' package is needed for paper size
then
(kpsewhich geometry.sty >/dev/null) || {
prattle "LaTeX package geometry.sty is not installed, so only the"
@@ -911,25 +952,22 @@
## Use mktemp if possible; otherwise fall back on mkdir,
## with random name to make file collisions less likely.
##
-original_umask=`umask`
+original_umask=$(umask)
umask 177
if test $PDFJAM_CALL_NUMBER = 0 ## don't repeat this work for secondary calls
then
PDFJAM_TEMP_DIR=''
trap 'IFS="$OIFS"; \
if test $tidy != false ; then cd "$pwd"; rm -rf "$PDFJAM_TEMP_DIR"; fi; exit 1' \
- 1 2 9 15
+ 1 2 15
trap 'IFS="$OIFS"; \
if test $tidy != false ; then cd "$pwd"; rm -rf "$PDFJAM_TEMP_DIR"; fi' 0
{
- PDFJAM_TEMP_DIR=`
- (umask 077 && mktemp -d "$tempfileDir/pdfjam-XXXXXX") 2>/dev/null
- ` &&
+ PDFJAM_TEMP_DIR=$( (umask 077 && mktemp -d "$tempfileDir/pdfjam-XXXXXX") 2>/dev/null) &&
test -n "$PDFJAM_TEMP_DIR" && test -d "$PDFJAM_TEMP_DIR"
} || {
## We'll use awk to make random number, for portability
- random=`
- awk 'END { srand(); printf ("%d\n", rand()*1000000); }' /dev/null`
+ random=$(awk 'END { srand(); printf ("%d\n", rand()*1000000); }' /dev/null)
PDFJAM_TEMP_DIR="$tempfileDir"/pdfjam"$$"-"$random"
(umask 077 && mkdir "$PDFJAM_TEMP_DIR")
} || exit $?
@@ -942,13 +980,17 @@
PDFJAM_MESSAGES_FILE="$PDFJAM_TEMP_DIR"/messages.txt
export PDFJAM_MESSAGES_FILE
## so that secondary calls can write messages there as well
- printf "$messages" > "$PDFJAM_MESSAGES_FILE" ## initial file contents
+ printf "%s" "$messages" > "$PDFJAM_MESSAGES_FILE" ## initial file contents
messages="" ## we won't be using this variable again!
else
- PDFJAM_TEMP_DIR="$PDFJAM_TEMP_DIR"/"file$PDFJAM_CALL_NUMBER"
+ PDFJAM_TEMP_DIR="$PDFJAM_TEMP_DIR/file$PDFJAM_CALL_NUMBER"
(umask 077 && mkdir "$PDFJAM_TEMP_DIR")
fi
-umask $original_umask
+umask "$original_umask"
+## Next is from the Cygwin patch contributed by Lucas
+case $(uname) in
+ *CYGWIN*) PDFJAM_TEMP_DIR=$(cygpath -w "$PDFJAM_TEMP_DIR");;
+esac
##
## TEMPORARY DIRECTORY ALL DONE
##
@@ -970,13 +1012,13 @@
fi
IFS="$newline"
for k in $fileSpec ; do
- sourcePath=`printf "%s" "$k" | sed 's/|[^|]*$//'`
- pageSpec=`printf "%s" $k | sed 's/.*|//'`
- callNumber=`expr $PDFJAM_CALL_NUMBER + 1`
+ sourcePath=$(printf "%s" "$k" | sed 's/|[^|]*$//')
+ pageSpec=$(printf "%s" $k | sed 's/.*|//')
+ callNumber=$((PDFJAM_CALL_NUMBER + 1))
prattle "--"
prattle "Processing file ${callNumber}, '$sourcePath'..."
prattle "Page spec is '$pageSpec'."
- sourcePath=`escape_chars "$sourcePath"`
+ sourcePath=$(escape_chars "$sourcePath")
PDFJAM_EFFECTIVE_CALL="$0 $callOptions -- $sourcePath $pageSpec"
export PDFJAM_EFFECTIVE_CALL
PDFJAM_CALL_NUMBER=$callNumber
@@ -984,7 +1026,7 @@
eval "$PDFJAM_EFFECTIVE_CALL"
## i.e., call pdfjam again with one input file
done
- if (test $verbose = true) then cat "$PDFJAM_MESSAGES_FILE" >&2 ; fi
+ if [ "$verbose" = "true" ]; then cat "$PDFJAM_MESSAGES_FILE" >&2 ; fi
IFS=$OIFS
exit 0
fi
@@ -1010,9 +1052,9 @@
for k in $fileSpec ; do
## Last substitution on next line is needed for silly characters in
## file names...
- sourcePath=`printf "%s" $k | sed 's/|[^|]*$//'`
- sourcePath=`escape_chars "$sourcePath"`
- pageSpec=`printf "%s" $k | sed 's/.*|//'`
+ sourcePath=$(printf "%s" $k | sed 's/|[^|]*$//')
+ sourcePath=$(escape_chars "$sourcePath")
+ pageSpec=$(printf "%s" $k | sed 's/.*|//')
filePageSpec="$filePageSpec$sourcePath $pageSpec "
done
IFS="$OIFS"
@@ -1024,7 +1066,7 @@
##
#########################################################################
##
-## NOW MAKE THE INPUT FILE ETC., READY FOR PDFLATEX
+## NOW MAKE THE INPUT FILE ETC., READY FOR LATEX
##
filePageList="" ## initialize a string to supply to \includepdfmerge
counter=0
@@ -1036,9 +1078,9 @@
IFS="$newline"
for k in ${fileSpec}
do
- counter=`expr $counter + 1`
- sourcePath=`printf "%s" "$k" | sed 's/|[^|]*$//'`
- pageSpec=`printf "%s" $k | sed 's/.*|//'`
+ counter=$((counter + 1))
+ sourcePath=$(printf "%s" "$k" | sed 's/|[^|]*$//')
+ pageSpec=$(printf "%s" $k | sed 's/.*|//')
## Check, though not exhaustively, for problems with the
## page spec: leading or trailing comma, double comma or
## double dash, alphabetic characters other than the word "last",
@@ -1065,22 +1107,26 @@
fi
;;
*)
- pdfName=`basename "$sourcePath"`
- sourceDir=`dirname "$sourcePath"` ## zsh on Mac OS 10.5 chokes here
+ pdfName=$(basename "$sourcePath")
+ sourceDir=$(dirname "$sourcePath") ## zsh on Mac OS 10.5 chokes here
cd "$sourceDir" || exit 1 ## just to get the full path
- sourceDir=`pwd`
+ sourceDir=$(pwd)
cd "$pwd" || exit 1
sourceFullPath="$sourceDir"/"$pdfName"
uniqueName="source-$counter.pdf"
uniqueName="$PDFJAM_TEMP_DIR"/"$uniqueName"
- ln -s "$sourceFullPath" "$uniqueName"
+ ## Next is from the Cygwin patch contributed by Lucas
+ case $(uname) in
+ *CYGWIN*) cp "$sourceFullPath" "$uniqueName";;
+ *) ln -s "$sourceFullPath" "$uniqueName";;
+ esac
;;
esac
filePageList="$filePageList","$uniqueName","$pageSpec"
done
IFS="$OIFS"
-filePageList=`printf "%s" "$filePageList" | \
- sed 's/^,//'` ## remove leading comma
+filePageList=$(printf "%s" "$filePageList" | \
+ sed 's/^,//') ## remove leading comma
##
## Do the pdfinfo stuff (if relevant)...
##
@@ -1089,19 +1135,19 @@
if test "$keepinfo" = true
then
prattle "Calling ${pdfinfo}..." ;
- PDFinfo=`pdfinfo "$uniqueName"`;
- pdftitl=`printf "%s" "$PDFinfo" | \
- grep -e '^Title:'| sed s/^Title:\\\s\*// | \
- sed -e 's/[#$%^&_{}~]/\\\&/g'`;
- pdfauth=`printf "%s" "$PDFinfo" | \
- grep -e '^Author:'| sed s/^Author:\\\s\*// | \
- sed -e 's/[#$%^&_{}~]/\\\&/g'`;
- pdfsubj=`printf "%s" "$PDFinfo" | \
- grep -e '^Subject:'| sed s/^Subject:\\\s\*// | \
- sed -e 's/[#$%^&_{}~]/\\\&/g'`;
- pdfkeyw=`printf "%s" "$PDFinfo" | \
- grep -e '^Keywords:'| sed s/^Keywords:\\\s\*// | \
- sed -e 's/[#$%^&_{}~]/\\\&/g'`;
+ PDFinfo=$(pdfinfo "$uniqueName");
+ pdftitl=$(printf "%s" "$PDFinfo" | \
+ grep -e '^Title:'| 'sed s/^Title:\\\s\*//' | \
+ sed -e 's/[#$%^&_{}~]/\\\&/g');
+ pdfauth=$(printf "%s" "$PDFinfo" | \
+ grep -e '^Author:'| sed 's/^Author:\\\s\*//' | \
+ sed -e 's/[#$%^&_{}~]/\\\&/g');
+ pdfsubj=$(printf "%s" "$PDFinfo" | \
+ grep -e '^Subject:'| sed 's/^Subject:\\\s\*//' | \
+ sed -e 's/[#$%^&_{}~]/\\\&/g');
+ pdfkeyw=$(printf "%s" "$PDFinfo" | \
+ grep -e '^Keywords:'| sed 's/^Keywords:\\\s\*//' | \
+ sed -e 's/[#$%^&_{}~]/\\\&/g');
fi
if test -n "$pdfTitle" ; then
pdftitl="$pdfTitle"
@@ -1117,12 +1163,16 @@
fi
fi
##
-## Now set up the files for pdflatex...
+## Now set up the files for latex...
##
fileName="$PDFJAM_TEMP_DIR"/a
texFile="$fileName".tex
msgFile="$fileName".msgs
tempFile="$PDFJAM_TEMP_DIR"/temp.tex
+## Next is adapted from the Cygwin patch sent by Lucas
+case $(uname) in
+ *CYGWIN*) filePageList=$(echo "$filePageList" | sed 's~\\~/~g') ;;
+esac
(cat < $texFile
+ ) > "$texFile"
if test "$hyperref" = false; then ## we don't need hyperref
- cp $texFile $tempFile
- sed '/\\\usepackage{hyperref}/d' $tempFile | \
+ cp "$texFile" "$tempFile"
+ sed '/\\\usepackage{hyperref}/d' "$tempFile" | \
sed '/\\\hypersetup.*/d' > "${texFile}"
- rm $tempFile
+ rm "$tempFile"
fi
if test -z "$geometry" ; then geometry=false ; fi
if test "$geometry" = false; then ## geometry package is not to be used
- cp $texFile $tempFile
- cat $tempFile | sed '/\\\usepackage.*{geometry}/d' > $texFile
- rm $tempFile
+ cp "$texFile" "$tempFile"
+ sed '/\\\usepackage.*{geometry}/d' "$tempFile" > "$texFile"
+ rm "$tempFile"
fi
if test -z "$pagecolor"; then ## color package is not needed
- cp $texFile $tempFile
- cat $tempFile | sed '/\\\usepackage.*{color}/d' > $texFile
- rm $tempFile
+ cp "$texFile" "$tempFile"
+ sed '/\\\usepackage.*{color}/d' "$tempFile" > "$texFile"
+ rm "$tempFile"
fi
+(cat <> "$texFile"
##
## INPUT FILES ARE ALL READY
##
#########################################################################
##
-## RUN PDFLATEX AND COPY THE RESULTING PDF FILE
+## RUN LATEX AND COPY THE RESULTING PDF FILE
##
-prattle "Calling ${pdflatex}..." ;
+if [ "$runs" -eq 1 ] ;
+then prattle "Calling ${latex}..."
+else prattle "Calling ${latex} $runs times..."
+fi
cd "$PDFJAM_TEMP_DIR" || exit 1
failureText=\
"FAILED.
-The call to 'pdflatex' resulted in an error.
+The call to $latex resulted in an error.
If '--no-tidy' was used, you can examine the
log file at
$fileName.log
to try to diagnose the problem."
-$pdflatex $texFile > $msgFile || {
- prattle "$failureText"
- error_exit "Output file not written" $E_SOFTWARE
-}
+i=1
+while [ "$i" -le "$runs" ] ; do
+ $latex "$texFile" > "$msgFile" || {
+ prattle "$failureText"
+ error_exit "Run $i: Output file not written" $E_SOFTWARE
+ }
+ i=$((i + 1))
+done
cd "$pwd" || exit 1
if test -f "$fileName".pdf ## if LaTeX didn't choke
then
@@ -1192,19 +1252,20 @@
fi
if test ! -w "$outFile"
then
- prattle "FAILED: no write permission in ${outFile}."
- continue
+ error_exit \
+ "FAILED: no write permission on ${outFile}." \
+ $E_OSFILE
fi
separator="-"
if test "$pageSpec" != "-"
then
separator=-"$pageSpec"-
fi
- outFile=`printf "%s" "$outFile" | sed 's/\/$//'`
+ outFile=$(printf "%s" "$outFile" | sed 's/\/$//')
## (delete any trailing slash)
- pdfName=`basename "$sourcePath"`
- pdfName=`printf "%s" "$pdfName" | \
- sed 's/\.[pP][dD][fF]$//'` ## strip extension
+ pdfName=$(basename "$sourcePath")
+ pdfName=$(printf "%s" "$pdfName" | \
+ sed 's/\.[pP][dD][fF]$//') ## strip extension
pdfName="$pdfName$separator$suffix".pdf
outFile="$outFile"/"$pdfName"
fi
@@ -1214,12 +1275,14 @@
then
error_exit "no write permission at ${outFile}" $E_CANTCREATE
fi
-#fileSize=`wc -c < "$fileName.pdf" | sed 's/^\ *//'`
-(cat "$fileName".pdf > "$outFile" 2>/dev/null) &&
- prattle "Finished. Output was to '${outFile}'." ||
- error_exit "cannot write output at ${outFile}" $E_CANTCREATE
-if (test "$PDFJAM_CALL_NUMBER" = "0") && ## not a secondary call
- (test $verbose = true)
+#fileSize=$(wc -c < "$fileName.pdf" | sed 's/^\ *//')
+if cat "$fileName".pdf > "$outFile" 2>/dev/null
+then
+ prattle "Finished. Output was written to '${outFile}'."
+else
+ error_exit "cannot write output at ${outFile}" $E_CANTCREATE
+fi
+if [ "$PDFJAM_CALL_NUMBER" = "0" ] && [ "$verbose" = "true" ]
then cat "$PDFJAM_MESSAGES_FILE" >&2
fi
exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfjam-pocketmod new/texmf-dist/scripts/pdfjam/pdfjam-pocketmod
--- old/texmf-dist/scripts/pdfjam/pdfjam-pocketmod 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfjam-pocketmod 1970-01-01 01:00:00.000000000 +0100
@@ -1,57 +0,0 @@
-#!/bin/sh
-##
-## pdfjam-pocketmod: A shell program to make an 8-page PDF document
-## into an 8-up file with pages ordered and oriented for folding as
-## a pocket-sized booklet, as described at http://repocketmod.com/
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for (three runs of) pdfjam, version 2.08
-##
-##
-## It's hard (?) to set up this particular script to read from /dev/stdin,
-## so we'll just insist that the first argument is a file:
-##
-E_USAGE=64 ## for a command line usage error
-for arg
-do
- case $arg in
- --batch)
- printf "pdfjam-pocketmod ERROR: the --batch option is not allowed\n" 1>&2 ;
- exit "$E_USAGE" ;;
- --no-tidy)
- n='--no-tidy' ;;
- --quiet | -q)
- q='-q' ;;
- --vanilla)
- v='--vanilla' ;;
- --checkfiles)
- c='--checkfiles' ;;
- *)
- ;;
- esac
-done
-##
-sourceFile="$1" ;
-shift ;
-##
-## Some (very) minimal checking of the first argument:
-##
-if test ! -f "$sourceFile" ;
-then
- printf "pdfjam-pocketmod ERROR: first argument must be a PDF file\n" ;
- exit $E_USAGE ;
-fi
-##
-## That's all the argument checking!
-##
-pageSpec="1-8" ## the default page spec
-case ${1} in
- --* | "") ## no page spec was given
- ;;
- *) ## a page spec was given, so use it
- pageSpec="$1" ;
- shift ;;
-esac
-pdfjam $n $q $c $v -o /dev/stdout "$sourceFile" "$pageSpec" | pdfjam --angle 180 $n $q $v -o /dev/stdout /dev/stdin '1,8,7,6' | pdfjam --nup 4x2 --landscape --frame true "$sourceFile" '2-5' /dev/stdin "$@"
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfjam-slides3up new/texmf-dist/scripts/pdfjam/pdfjam-slides3up
--- old/texmf-dist/scripts/pdfjam/pdfjam-slides3up 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfjam-slides3up 1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-#!/bin/sh
-##
-## pdfjam-slides3up: A shell program to make a 3-up "handout"
-## of presentation slides, with space for side-notes
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-footskip=3.1cm ## default setting
-pagecommand='{\thispagestyle{empty}}' ## default setting
-case ${1} in
- --pagenumbering)
- case ${2} in
- false)
- continue ;;
- true)
- pagecommand='{\thispagestyle{plain}}' ;;
- *) ## a footskip dimension was supplied
- pagecommand='{\thispagestyle{plain}}' ;
- footskip="$2" ;;
- esac ;
- shift; shift ;;
- *)
- continue ;;
-esac
-exec pdfjam --suffix 3up --nup 1x3 --frame true --noautoscale false \
- --delta "0cm 0.2cm" --scale 0.87 --offset "-3.8cm 0cm" \
- --preamble "\footskip $footskip" --pagecommand "$pagecommand" "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfjam-slides6up new/texmf-dist/scripts/pdfjam/pdfjam-slides6up
--- old/texmf-dist/scripts/pdfjam/pdfjam-slides6up 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfjam-slides6up 1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-#!/bin/sh
-##
-## pdfjam-slides6up: A shell program to make a 6-up "handout"
-## of presentation slides
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-footskip=2.7cm ## default setting
-pagecommand='{\thispagestyle{empty}}' ## default setting
-case ${1} in
- --pagenumbering)
- case ${2} in
- false)
- continue ;;
- true)
- pagecommand='{\thispagestyle{plain}}' ;;
- *) ## a footskip dimension was supplied
- pagecommand='{\thispagestyle{plain}}' ;
- footskip="$2" ;;
- esac ;
- shift; shift ;;
- *)
- continue ;;
-esac
-exec pdfjam --suffix 6up --nup 2x3 --frame true --noautoscale false \
- --delta "0.2cm 0.3cm" --scale 0.95 --preamble "\footskip $footskip" \
- --pagecommand "$pagecommand" "$@"
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfjoin new/texmf-dist/scripts/pdfjam/pdfjoin
--- old/texmf-dist/scripts/pdfjam/pdfjoin 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfjoin 1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-#!/bin/sh
-##
-## pdfjoin: A shell program to concatenate PDF files
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-E_USAGE=64 ## for a command line usage error
-for arg
-do
- case $arg in
- --batch)
- printf "pdfjoin ERROR: the --batch option is not allowed\n" 1>&2;
- exit "$E_USAGE" ;;
- --orient) ## this was allowed in previous versions of pdfjoin
- printf "pdfjoin ERROR: the --orient option is not allowed,\n" 1>&2;
- printf " use --landscape or --no-landscape to specify\n" 1>&2;
- printf " the output page orientation" 1>&2;
- exit "$E_USAGE" ;;
- *) continue ;;
- esac
-done
-exec pdfjam --fitpaper true --rotateoversize true --suffix joined "$@"
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfnup new/texmf-dist/scripts/pdfjam/pdfnup
--- old/texmf-dist/scripts/pdfjam/pdfnup 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfnup 1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-#!/bin/sh
-##
-## pdfnup: A shell program to n-up pages of PDF files
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for pdfjam, version 2.08
-##
-E_USAGE=64 ## for a command line usage error
-for arg
-do
- case $arg in
- --orient) ## this was allowed in previous versions of pdfnup
- printf "pdfnup ERROR: the --orient option is not allowed,\n" 1>&2;
- printf " use --landscape or --no-landscape to specify\n" 1>&2;
- printf " the output page orientation" 1>&2;
- exit "$E_USAGE" ;;
- --pages) ## this was allowed in previous versions of pdfnup
- printf "pdfnup ERROR: the --pages option is not allowed,\n" 1>&2;
- printf " see 'pdfjam --help' or http://go.warwick.ac.uk/pdfjam\n" \
- 1>&2;
- printf " for page selection examples\n" 1>&2;
- exit "$E_USAGE" ;;
- *) continue ;;
- esac
-done
-exec pdfjam --suffix nup --nup 2x1 --landscape "$@"
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfjam/pdfpun new/texmf-dist/scripts/pdfjam/pdfpun
--- old/texmf-dist/scripts/pdfjam/pdfpun 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/pdfjam/pdfpun 1970-01-01 01:00:00.000000000 +0100
@@ -1,73 +0,0 @@
-#!/bin/sh
-##
-## pdfpun: A shell program to n-up pages of a PDF file with
-## the n-upped pages ordered from right to left
-##
-## Author David Firth (http://go.warwick.ac.uk/dfirth)
-##
-## This is a simple wrapper for (three runs of) pdfjam, version 2.08
-##
-##
-E_USAGE=64 ## for a command line usage error
-##
-for arg
-do
- case $arg in
- --batch)
- printf "pdfpun ERROR: the --batch option is not allowed\n" 1>&2;
- exit "$E_USAGE" ;;
- --no-tidy)
- n='--no-tidy' ;;
- --quiet | -q)
- q='-q' ;;
- --checkfiles)
- c='--checkfiles' ;;
- *) continue ;;
- esac
-done
-sourceFile="$1" ;
-shift ;
-##
-## Some (very) minimal checking of the first argument:
-##
-if test ! -f "$sourceFile" ;
-then
- printf "pdfpun ERROR: first argument must be a PDF file\n" ;
- exit $E_USAGE ;
-fi
-if test "$sourceFile" = /dev/stdin ;
-then
- if tty -s ; then
- printf "pdfpun ERROR: tty is connected to connected to stdin, no PDF file found\n"
- exit $E_USAGE ;
- fi
-fi
-##
-## That's all the argument checking!
-##
-pageSpec="-" ## the default
-case ${1} in
- --* | "")
- ;;
- *) ## a page spec was given
- pageSpec="$1" ;
- shift ;;
-esac
-case ${1} in
- --outfile)
- outFile="$2" ;
- shift; shift ;;
- *)
- ;;
-esac
-if test -z "$outFile" ;
-then
- printf "pdfpun ERROR: no output file specified\n" 1>&2 ;
- exit "$E_USAGE" ;
-fi
-pdfjam --reflect true $n $q $c "$sourceFile" "$pageSpec" -o /dev/stdout | \
- pdfjam --landscape --nup 2x1 "$@" -o /dev/stdout | \
- pdfjam --suffix nup --reflect true --fitpaper true $n $q -o "$outFile"
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfjam.tlpobj new/tlpkg/tlpobj/pdfjam.tlpobj
--- old/tlpkg/tlpobj/pdfjam.tlpobj 2019-02-28 03:58:37.000000000 +0100
+++ new/tlpkg/tlpobj/pdfjam.tlpobj 2019-11-19 01:55:51.000000000 +0100
@@ -1,28 +1,23 @@
name pdfjam
category Package
-revision 29752
+revision 52857
shortdesc Shell scripts interfacing to pdfpages
-longdesc This is a collection of shell scripts which provide an
-longdesc interface to the pdfpages LaTeX package. They do such jobs as
-longdesc selecting pages, concatenating files, doing n-up formatting,
-longdesc and so on.
+longdesc The package makes available the pdfjam shell script that
+longdesc provides a simple interface to much of the functionality of the
+longdesc excellent pdfpages package (by Andreas Matthias) for LaTeX. The
+longdesc pdfjam script takes one or more PDF files (and/or JPG/PNG
+longdesc graphics files) as input, and produces one or more PDF files as
+longdesc output. It is useful for joining files together, selecting
+longdesc pages, reducing several source pages onto one output page,
+longdesc etc., etc.
depend pdfjam.ARCH
-runfiles size=21
- texmf-dist/scripts/pdfjam/pdf180
- texmf-dist/scripts/pdfjam/pdf270
- texmf-dist/scripts/pdfjam/pdf90
- texmf-dist/scripts/pdfjam/pdfbook
- texmf-dist/scripts/pdfjam/pdfflip
+runfiles size=11
texmf-dist/scripts/pdfjam/pdfjam
- texmf-dist/scripts/pdfjam/pdfjam-pocketmod
- texmf-dist/scripts/pdfjam/pdfjam-slides3up
- texmf-dist/scripts/pdfjam/pdfjam-slides6up
- texmf-dist/scripts/pdfjam/pdfjoin
- texmf-dist/scripts/pdfjam/pdfnup
- texmf-dist/scripts/pdfjam/pdfpun
-catalogue-contact-home http://go.warwick.ac.uk/pdfjam
+catalogue-contact-bugs https://github.com/DavidFirth/pdfjam/issues
+catalogue-contact-home https://github.com/DavidFirth/pdfjam
+catalogue-contact-repository https://github.com/DavidFirth/pdfjam
catalogue-ctan /support/pdfjam
-catalogue-date 2017-04-18 05:31:40 +0200
-catalogue-license gpl2
+catalogue-date 2019-11-18 16:07:51 +0100
+catalogue-license gpl2+
catalogue-topics pdfprocess
-catalogue-version 2.02
+catalogue-version 3.03
++++++ pdfoverlay.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pdfoverlay/README.md new/doc/latex/pdfoverlay/README.md
--- old/doc/latex/pdfoverlay/README.md 2018-05-10 00:20:11.000000000 +0200
+++ new/doc/latex/pdfoverlay/README.md 2019-11-03 23:42:14.000000000 +0100
@@ -47,31 +47,17 @@
```
Change to the `pdfoverlay` directory, and then the style file
-(`pdfoverlay.sty`) can be installed by running:
+(`pdfoverlay.sty`) and documentation (`pdfoverlay.pdf`) can be installed by
+running:
```
-l3build install
-```
-
-Documentation (`pdfoverlay.pdf`) can be compiled by running:
-
-```
-l3build doc
-```
-
-To install the documentation, copy `pdfoverlay.pdf` to
-`$TEXMFHOME/doc/latex/pdfoverlay/`.
-
-You can find `$TEXMFHOME` by running:
-
-```
-kpsewhich -var-value=TEXMFHOME
+l3build install --full
```
## Licence
```
-Copyright (c) 2018 David Purton
+Copyright (c) 2018-2019 David Purton
This work may be distributed and/or modified under the conditions of
the LaTeX Project2 Public License, either version 1.3c of this license
Binary files old/doc/latex/pdfoverlay/pdfoverlay.pdf and new/doc/latex/pdfoverlay/pdfoverlay.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfoverlay.doc.tlpobj new/tlpkg/tlpobj/pdfoverlay.doc.tlpobj
--- old/tlpkg/tlpobj/pdfoverlay.doc.tlpobj 2019-02-28 03:58:38.000000000 +0100
+++ new/tlpkg/tlpobj/pdfoverlay.doc.tlpobj 2019-11-04 01:54:08.000000000 +0100
@@ -1,6 +1,6 @@
name pdfoverlay.doc
category Package
-revision 47657
+revision 52627
shortdesc doc files of pdfoverlay
relocated 1
docfiles size=134
++++++ pdfoverlay.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfoverlay/pdfoverlay.sty new/tex/latex/pdfoverlay/pdfoverlay.sty
--- old/tex/latex/pdfoverlay/pdfoverlay.sty 2018-05-10 00:20:11.000000000 +0200
+++ new/tex/latex/pdfoverlay/pdfoverlay.sty 2019-11-03 23:42:14.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project2 Public License, either version 1.3c of this license
@@ -25,7 +25,7 @@
%% and the derived files pdfoverlay.sty and pdfoverlay.pdf
%%
\RequirePackage{xparse}
-\ProvidesExplPackage{pdfoverlay}{2018/05/08}{1.0}
+\ProvidesExplPackage{pdfoverlay}{2019/11/03}{1.1}
{Overlay text on an existing PDF document (DCP)}
\RequirePackage{everypage,pdfpages}
\AddEverypageHook { \__pdfoverlay_output_pdf_page: }
@@ -73,7 +73,7 @@
{ \bool_not_p:n
{ \str_if_empty_p:N \g__pdfoverlay_pdf_file_name_str } }
{ \int_compare_p:n
- { \c_zero <= \g__pdfoverlay_page_int
+ { \c_zero_int <= \g__pdfoverlay_page_int
< \g__pdfoverlay_page_count_int } }
}
{
@@ -110,7 +110,7 @@
{
\int_compare:nTF
{
- \c_one <= #1 <= \g__pdfoverlay_page_count_int
+ \c_one_int <= #1 <= \g__pdfoverlay_page_count_int
}
{
\prg_return_true:
@@ -132,7 +132,7 @@
\edef \AM@currentdocname { #1 }
\AM@getpagecount
\int_gset_eq:NN \g__pdfoverlay_page_count_int \AM@pagecount
- \int_gset_eq:NN \g__pdfoverlay_page_int \c_zero
+ \int_gset_eq:NN \g__pdfoverlay_page_int \c_zero_int
\bool_gset_true:N \g__pdfoverlay_output_active_bool
\bool_gset_false:N \g__pdfoverlay_action_pending_bool
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfoverlay.tlpobj new/tlpkg/tlpobj/pdfoverlay.tlpobj
--- old/tlpkg/tlpobj/pdfoverlay.tlpobj 2019-02-28 03:58:38.000000000 +0100
+++ new/tlpkg/tlpobj/pdfoverlay.tlpobj 2019-11-04 01:54:08.000000000 +0100
@@ -1,6 +1,6 @@
name pdfoverlay
category Package
-revision 47657
+revision 52627
shortdesc A LaTeX style for overlaying text on a PDF
relocated 1
longdesc It is often desirable to take an exisiting PDF and easily add
@@ -19,9 +19,10 @@
longdesc xparse, everypage, and pdfpages.
runfiles size=2
RELOC/tex/latex/pdfoverlay/pdfoverlay.sty
+catalogue-contact-bugs https://github.com/dcpurton/pdfoverlay/issues
catalogue-contact-repository https://github.com/dcpurton/pdfoverlay
catalogue-ctan /macros/latex/contrib/pdfoverlay
-catalogue-date 2018-05-12 04:59:36 +0200
+catalogue-date 2019-11-03 14:46:06 +0100
catalogue-license lppl1.3c
catalogue-topics graphics-incl
-catalogue-version 1.0
+catalogue-version 1.1
++++++ pdfpages.doc.tar.xz ++++++
Binary files old/doc/latex/pdfpages/pdfpages.pdf and new/doc/latex/pdfpages/pdfpages.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfpages.doc.tlpobj new/tlpkg/tlpobj/pdfpages.doc.tlpobj
--- old/tlpkg/tlpobj/pdfpages.doc.tlpobj 2019-02-28 03:58:38.000000000 +0100
+++ new/tlpkg/tlpobj/pdfpages.doc.tlpobj 2020-01-29 01:56:27.000000000 +0100
@@ -1,6 +1,6 @@
name pdfpages.doc
category Package
-revision 45659
+revision 53583
shortdesc doc files of pdfpages
relocated 1
docfiles size=88
++++++ pdfpages.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/pdfpages.sty new/tex/latex/pdfpages/pdfpages.sty
--- old/tex/latex/pdfpages/pdfpages.sty 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/pdfpages.sty 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pdfpages}
[\AM@Git@Date\space\AM@fileversion\space
@@ -97,6 +97,7 @@
\def\AM@ClearShipoutPicture{\ClearShipoutPicture}}
\let\Orig@AM@AddToShipoutPicture\AM@AddToShipoutPicture
\newif\ifAM@openright\AM@openrightfalse
+\newif\ifAM@openrighteach\AM@openrighteachfalse
\newif\ifAM@frame\AM@framefalse
\newif\ifAM@landscape\AM@landscapefalse
\newif\ifAM@turn\AM@turntrue
@@ -146,16 +147,22 @@
\newcommand*{\AM@picturecommandstar}{}
\newsavebox{\AM@pagebox}
\newif\ifAM@integer
-\begingroup
-\@makeother_
-\gdef\AM@checkinteger#1{%
- \ifcat _\ifnum9<1#1_\else A\fi
- \AM@integertrue
+\def\AM@checkinteger#1{%
+ \expandafter\AM@checkinteger@\expandafter{#1}}
+\def\AM@checkinteger@#1{%
+ \begingroup
+ \def\do##1{\uccode`##1=`\%}%
+ \do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9%
+ \makeatletter
+ \catcode`\%=9
+ \endlinechar\m@ne
+ \uppercase{\scantokens{\def\AM@temp{#1}}}%
+ \ifx\AM@temp\@empty
+ \global\AM@integertrue
\else
- \AM@integerfalse
+ \global\AM@integerfalse
\fi
-}
-\endgroup
+ \endgroup}
\newcommand*{\AM@findfile@i}[2]{%
\ifAM@pkg@demo
\else
@@ -196,11 +203,12 @@
}
\newcommand*{\includepdf}[2][]{%
\begingroup
+ \AM@pagecnt\@ne
\let\AM@threadname\relax
\def\AM@tmp{pdfpages}
\expandafter\AM@split@options
\expandafter\AM@tmp
- \expandafter{\the\AM@global@opts,#1}
+ \expandafter{\the\AM@global@opts,#1}%
\edef\AM@temp{{pdfpages}{\the\@temptokena}}%
\expandafter\setkeys\AM@temp
\ifthenelse{\boolean{AM@pkg@draft} \and \boolean{AM@survey}}{%
@@ -245,6 +253,7 @@
}
\newcommand*{\includepdfmerge}[2][]{%
\begingroup
+ \AM@pagecnt\@ne
\let\AM@currentdocname\relax
\def\AM@tmp{pdfpages}
\expandafter\AM@split@options
@@ -313,7 +322,7 @@
\let\AM@ynup\AM@temp}%
}{}%
\AM@setphantom
- \ifthenelse{\boolean{AM@openright}}
+ \ifthenelse{\boolean{AM@openright}\and\not\boolean{AM@openrighteach}}
{\AM@openright}{}%
\ifx\AM@signature\@empty\AM@filluppagelist
\else\AM@prepare@signature\AM@signaturetrue\AM@turnfalse\fi
@@ -731,16 +740,37 @@
\AM@resetRotate
}{}
}% AM@output
-\newif\ifAM@defaultone
+\newif\ifAM@default@range@added
\newcommand*{\AM@readlist}[1]{%
- \AM@defaultonefalse
+ \AM@default@range@addedtrue
\def\AM@pagelist{}%
\def\AM@doclist{}%
\AM@readlisti#1,\END,
- \ifAM@defaultone\AM@append{1}\fi
+ \AM@add@default@range
\edef\AM@doclist{\expandafter\@gobble\AM@doclist\@empty}%
\edef\AM@pagelist{\expandafter\@gobble\AM@pagelist\@empty}%
}
+\def\AM@add@default@range{%
+ \ifAM@default@range@added
+ \else
+ \expandafter\AM@read@defaultpages\AM@pagestemp,\END,
+ \fi
+ \AM@default@range@addedtrue
+}
+\def\AM@read@defaultpages#1,{%
+ \ifx\END#1
+ \else
+ \edef\AM@x{\AM@trim@space{#1}}%
+ \ifx\AM@x\@empty
+ \AM@append{}%
+ \AM@ReturnAfterElseFiFi\AM@read@defaultpages
+ \else
+ \expandafter\AM@checkrange\AM@x-\END
+ \AM@expand@range\AM@i\AM@ii
+ \AM@ReturnAfterFiFi\AM@read@defaultpages
+ \fi
+ \fi
+}
\newcommand{\AM@readlisti}{}
\def\AM@readlisti#1,{%
\ifx\AM@currentdocname\relax
@@ -750,80 +780,101 @@
\def\AM@temp{#1}%
\ifx\END#1
\else
- \AM@checkrange#1-\END
+ \AM@range@or@docname{#1}%
\expandafter\AM@readlisti
\fi
}
-\newcommand{\AM@checkrange}{}
-\def\AM@checkrange#1-#2\END{%
- \edef\AM@tempi{\AM@trim@space{#1}}%
- \ifx\\#2\\%
- \AM@checkinteger{\AM@tempi}%
- \ifAM@integer
- \AM@checkpagenumber{\AM@tempi}%
- \AM@append{\AM@tempi}%
- \else
- \expandafter\ifx\expandafter\\\AM@tempi\\\AM@append{}%
- \else\AM@setnewdocname{\AM@tempi}\fi
- \fi
+\def\AM@range@or@docname#1{%
+ \edef\AM@arg{\AM@trim@space{#1}}%
+ \ifx\AM@arg\@empty
+ \AM@append{}%
\else
- \expandafter\ifx\expandafter\\\AM@tempi\\%
- \@tempcnta=1\relax
- \AM@checklast#2\END
- \else
- \def\AM@cmp{last}%
- \ifx\AM@cmp\AM@tempi
- \@tempcnta=\AM@pagecount\relax
- \AM@checklast#2\END
+ \expandafter\AM@checkrange\AM@arg-\END
+ \ifAM@isrange
+ \ifx\AM@currentdocname\relax
+ \AM@setnewdocname{\AM@arg}%
\else
- \AM@checkinteger{\AM@tempi}%
- \ifAM@integer
- \@tempcnta=\AM@tempi\relax
- \AM@checkpagenumber{\the\@tempcnta}%
- \AM@checklast#2\END
- \else
- \AM@setnewdocname{\AM@temp}%
- \fi
+ \AM@expand@range\AM@i\AM@ii
+ \AM@default@range@addedtrue
\fi
+ \else
+ \AM@add@default@range
+ \AM@setnewdocname{\AM@arg}%
\fi
\fi
}
-\newcommand{\AM@checklast}{}
-\def\AM@checklast#1-\END{%
- \edef\AM@tempii{\AM@trim@space{#1}}%
- \expandafter\ifx\expandafter\\\AM@tempii\\
- \@tempcntb=\AM@pagecount\relax
- \ifAM@DVIoutput
- \ifnum\AM@pagecount=1
- \@tempcntb\@tempcnta
- \fi
- \fi
- \advance\@tempcntb\@ne
- \whiledo{\@tempcnta<\@tempcntb}{%
- \AM@append{\the\@tempcnta}%
- \advance\@tempcnta\@ne
- }%
+\def\AM@last{last}
+\def\AM@empty{}
+\newif\ifAM@isrange
+\def\AM@checkrange#1-#2\END{%
+ \AM@israngefalse
+ \AM@check@valid@pagenumber{#1}%
+ \ifx\\#1\\%
+ \def\AM@i{1}%
\else
- \def\AM@cmp{last}%
- \ifx\AM@cmp\AM@tempii
- \let\AM@tempii\AM@pagecount
- \fi
- \AM@checkinteger{\AM@tempii}%
- \ifAM@integer
- \@tempcntb=\AM@tempii\relax
- \AM@checkpagenumber{\the\@tempcntb}%
- \ifnum\@tempcnta<\@tempcntb \def\AM@rel{<}\def\AM@inc{\@ne}%
- \else \def\AM@rel{>}\def\AM@inc{\m@ne}\fi
- \advance\@tempcntb\AM@inc
- \whiledo{\@tempcnta\AM@rel\@tempcntb}{%
- \AM@append{\the\@tempcnta}%
- \advance\@tempcnta\AM@inc
- }%
+ \edef\AM@i{#1}%
+ \fi
+ \def\AM@ii{}%
+ \ifAM@isrange
+ \ifx\\#2\\%
\else
- \AM@setnewdocname{\AM@temp}%
+ \edef\AM@ii{\AM@strip@slash#2\END}%
+ \AM@check@valid@pagenumber{\AM@ii}%
+ \ifx\AM@ii\AM@empty
+ \let\AM@ii\AM@last
+ \fi
\fi
\fi
}
+\def\AM@expand@range#1#2{%
+ \edef\AM@i{#1}%
+ \edef\AM@ii{#2}%
+ \ifx\AM@i\AM@last
+ \let\AM@i\AM@lastpage
+ \let\AM@i\AM@pagecount
+ \fi
+ \ifx\AM@ii\AM@last
+ \let\AM@ii\AM@lastpage
+ \let\AM@ii\AM@pagecount
+ \fi
+ \ifx\AM@ii\AM@empty
+ \let\AM@ii\AM@i
+ \fi
+ \@tempcnta=\AM@i\relax
+ \@tempcntb=\AM@ii\relax
+ \ifnum\@tempcnta<\@tempcntb
+ \def\AM@rel{<}%
+ \let\AM@inc\@ne
+ \else
+ \def\AM@rel{>}%
+ \let\AM@inc\m@ne
+ \fi
+ \advance\@tempcntb\AM@inc
+ \whiledo{\@tempcnta\AM@rel\@tempcntb}{%
+ \AM@checkpagenumber{\the\@tempcnta}%
+ \AM@append{\the\@tempcnta}%
+ \advance\@tempcnta\AM@inc
+ }%
+}
+\def\AM@check@valid@pagenumber#1{%
+ \AM@checkinteger{#1}%
+ \ifAM@integer
+ \AM@israngetrue
+ \else
+ \AM@israngefalse
+ \fi
+ \edef\AM@tmp{#1}%
+ \ifx\AM@tmp\AM@last
+ \AM@israngetrue
+ \fi
+}
+\def\AM@strip@slash#1-#2\END{%
+ \ifx\\#2\\%
+ #1%
+ \else
+ #1-#2%
+ \fi
+}
\providecommand*{\AM@checkpagenumber}[1]{%
\ifnum#1>\AM@pagecount\relax
\ifthenelse{\boolean{AM@pkg@draft} \and \boolean{AM@survey}}{%
@@ -837,14 +888,19 @@
\fi
}
\newcommand*{\AM@setnewdocname}[1]{%
- \ifAM@defaultone
- \AM@append{1}%
+ \ifAM@openrighteach
+ \ifodd\AM@pagecnt
+ \AM@append{}
+ \fi
\fi
+ \AM@add@default@range
\edef\AM@temp{\AM@trim@space{#1}}%
\AM@findfile{\AM@temp}%
- \AM@defaultonetrue
+ \AM@default@range@addedfalse
}
+\newcount\AM@pagecnt
\newcommand*{\AM@append}[1]{%
+ \advance\AM@pagecnt\@ne
\edef\AM@doclist{\AM@doclist,\AM@currentdocname}%
\edef\AM@pagelist{\AM@pagelist,#1}%
\ifAM@doublepages
@@ -860,7 +916,6 @@
\edef\AM@pagelist{\AM@pagelist,#1}%
\repeat
\fi
- \AM@defaultonefalse
}
\newif\ifAM@endoflist\AM@endoflistfalse
\newcommand{\AM@getfirst}{}
@@ -890,6 +945,7 @@
}
\def\AM@ReturnAfterFi#1\fi{\fi#1}
\def\AM@ReturnAfterFiFi#1\fi\fi{\fi\fi#1}
+\def\AM@ReturnAfterElseFiFi#1\else#2\fi#3\fi{\fi\fi#1}
\newcommand{\AM@getlasti}{}
\def\AM@getlasti#1,#2\END{%
\ifx\\#2\\%
@@ -1071,6 +1127,7 @@
\equal{offset}{\AM@temp}\or
\equal{frame}{\AM@temp}\or
\equal{openright}{\AM@temp}\or
+ \equal{openrighteach}{\AM@temp}\or
\equal{pagecommand}{\AM@temp}\or
\equal{landscape}{\AM@temp}\or
\equal{turn}{\AM@temp}\or
@@ -1330,11 +1387,11 @@
\newtoks\AM@toc@title
\newcommand{\AM@parse@toclisti}{}
\def\AM@parse@toclisti#1,#2,#3,#4,#5,#6\END{%
- \def\AM@toc@page{\AM@trim@space{#1}}%
- \def\AM@toc@section{\AM@trim@space{#2}}%
- \def\AM@toc@level{\AM@trim@space{#3}}%
+ \edef\AM@toc@page{\AM@trim@space{#1}}%
+ \edef\AM@toc@section{\AM@trim@space{#2}}%
+ \edef\AM@toc@level{\AM@trim@space{#3}}%
\AM@toc@title{\ignorespaces #4}%
- \def\AM@toc@label{\AM@trim@space{#5}}%
+ \edef\AM@toc@label{\AM@trim@space{#5}}%
\AM@checkinteger{\AM@toc@page}%
\ifAM@integer\else
\PackageError{pdfpages}
@@ -1377,10 +1434,10 @@
}
\newcommand{\AM@parse@loflisti}{}
\def\AM@parse@loflisti#1,#2,#3,#4,#5\END{%
- \def\AM@lof@page{\AM@trim@space{#1}}%
- \def\AM@lof@list{\AM@trim@space{#2}}%
+ \edef\AM@lof@page{\AM@trim@space{#1}}%
+ \edef\AM@lof@list{\AM@trim@space{#2}}%
\def\AM@lof@heading{\ignorespaces #3}%
- \def\AM@lof@label{\AM@trim@space{#4}}%
+ \edef\AM@lof@label{\AM@trim@space{#4}}%
\AM@checkinteger{\AM@lof@page}%
\ifAM@integer\else
\PackageError{pdfpages}
@@ -1470,7 +1527,7 @@
\AtBeginDocument{\AM@TeXpower@hook}
\def\AM@CheckValue#1#2{%
\ifx\\#2\\\PackageError{pdfpages}
- {Option `#1' must have a non-empty value}%
+ {Option `#1' must have a non-empty value}{}%
\fi
}
\define@key{pdfpages}{page}{\PackageWarningNoLine{pdfpages}{%
@@ -1480,7 +1537,7 @@
\AM@CheckValue{pages}{#1}%
\def\AM@pagestemp{#1}}
\define@key{pdfpages}{pages}{\AM@CheckValue{pages}{#1}%
- \def\AM@pagestemp{#1}}
+ \edef\AM@pagestemp{#1}}
\define@key{pdfpages}{nup}{\AM@parse@nup#1x\END}
\define@key{pdfpages}{deltax}{\AM@parse@deltax#1 \\}
\define@key{pdfpages}{deltay}{\AM@parse@deltay#1 \\}
@@ -1488,6 +1545,7 @@
\define@key{pdfpages}{offset}{\AM@parse@offset#1 \\}
\define@key{pdfpages}{frame}[true]{\setboolean{AM@frame}{#1}}
\define@key{pdfpages}{openright}[true]{\setboolean{AM@openright}{#1}}
+\define@key{pdfpages}{openrighteach}[true]{\setboolean{AM@openrighteach}{#1}}
\define@key{pdfpages}{pagecommand}{\def\AM@pagecommand{#1}}
\define@key{pdfpages}{landscape}[true]{\setboolean{AM@landscape}{#1}}
\define@key{pdfpages}{turn}[true]{\setboolean{AM@turn}{#1}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/ppdvipdfmx.def new/tex/latex/pdfpages/ppdvipdfmx.def
--- old/tex/latex/pdfpages/ppdvipdfmx.def 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/ppdvipdfmx.def 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\ProvidesFile{ppdvipdfmx.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for dvipdfmx (AM)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/ppdvips.def new/tex/latex/pdfpages/ppdvips.def
--- old/tex/latex/pdfpages/ppdvips.def 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/ppdvips.def 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\ProvidesFile{ppdvips.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for dvips (AM)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/ppluatex.def new/tex/latex/pdfpages/ppluatex.def
--- old/tex/latex/pdfpages/ppluatex.def 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/ppluatex.def 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\ProvidesFile{ppluatex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for LuaTeX (AM)]
@@ -82,9 +82,11 @@
\AM@findfile@ii{#1}%
}
\AtBeginDocument{%
-\@ifpackageloaded{grffile}{%
- \let\AM@IfFileExists\grffile@IfFileExists}{%
- \let\AM@IfFileExists\IfFileExists}%
+ \let\AM@IfFileExists\IfFileExists
+ \@ifpackageloaded{grffile}{%
+ \@ifundefined{grffile@IfFileExists}{}{%
+ \let\AM@IfFileExists\grffile@IfFileExists}%
+ }{}%
}
\def\AM@setRotate{\PLS@Rotate{90}}
\def\AM@resetRotate{\PLS@Rotate{0}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/ppnull.def new/tex/latex/pdfpages/ppnull.def
--- old/tex/latex/pdfpages/ppnull.def 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/ppnull.def 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,21 +24,20 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\ProvidesFile{ppnull.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages dummy driver (AM)]
\AM@DVIoutputtrue
\PackageWarningNoLine{pdfpages}{%
- I will use a dummy \string\includepdf\space command which\MessageBreak
- will insert empty pages instead of the actual PDF,\MessageBreak
- because we are running in
- \ifAM@pkg@demo `demo' mode%
+ I will use a dummy \string\includepdf\space command\MessageBreak
+ which will insert empty pages instead of the actual\MessageBreak
+ PDF file because we are running in \ifAM@pkg@demo `demo' mode%
\else DVI mode or with\MessageBreak dvips driver%
\fi}
\def\AM@findfile#1{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/pppdftex.def new/tex/latex/pdfpages/pppdftex.def
--- old/tex/latex/pdfpages/pppdftex.def 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/pppdftex.def 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\ProvidesFile{pppdftex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for pdfTeX (AM)]
@@ -99,9 +99,11 @@
\AM@findfile@ii{#1}%
}
\AtBeginDocument{%
-\@ifpackageloaded{grffile}{%
- \let\AM@IfFileExists\grffile@IfFileExists}{%
- \let\AM@IfFileExists\IfFileExists}%
+ \let\AM@IfFileExists\IfFileExists
+ \@ifpackageloaded{grffile}{%
+ \@ifundefined{grffile@IfFileExists}{}{%
+ \let\AM@IfFileExists\grffile@IfFileExists}%
+ }{}%
}
\def\AM@setRotate{\PLS@Rotate{90}}
\def\AM@resetRotate{\PLS@Rotate{0}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/ppvtex.def new/tex/latex/pdfpages/ppvtex.def
--- old/tex/latex/pdfpages/ppvtex.def 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/ppvtex.def 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\ProvidesFile{ppvtex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for VTeX (AM)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pdfpages/ppxetex.def new/tex/latex/pdfpages/ppxetex.def
--- old/tex/latex/pdfpages/ppxetex.def 2017-10-31 22:24:15.000000000 +0100
+++ new/tex/latex/pdfpages/ppxetex.def 2020-01-28 23:12:12.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This file is part of the pdfpages package.
%%
-%% Copyright (C) 2001-2017 Andreas MATTHIAS
+%% Copyright (C) 2001-2020 Andreas MATTHIAS
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
@@ -24,12 +24,12 @@
%% Please send error reports and suggestions for improvements to
%% Andreas MATTHIAS .
%%
-\def\AM@fileversion{v0.5l}
+\def\AM@fileversion{v0.5q}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2017-10-31 14:12:08 +0100 $
-\AM@Git@SHA@process$SHA-1: 9deefd6c8c22356ce47773245098390089885925 $
+\AM@Git@Date@process$Date: 2020-01-28 18:31:23 +0100 $
+\AM@Git@SHA@process$SHA-1: 105b2fdadf38120b838b3393c5cf83a7db30724e $
\ProvidesFile{ppxetex.def}
[\AM@Git@Date\space\AM@fileversion\space
Pdfpages driver for XeTeX (AM)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfpages.tlpobj new/tlpkg/tlpobj/pdfpages.tlpobj
--- old/tlpkg/tlpobj/pdfpages.tlpobj 2019-02-28 03:58:39.000000000 +0100
+++ new/tlpkg/tlpobj/pdfpages.tlpobj 2020-01-29 01:56:27.000000000 +0100
@@ -1,6 +1,6 @@
name pdfpages
category Package
-revision 45659
+revision 53583
shortdesc Include PDF documents in LaTeX
relocated 1
longdesc This package simplifies the inclusion of external multi-page
@@ -12,7 +12,10 @@
longdesc even possible to use this package to insert PostScript files,
longdesc in addition to PDF files.
depend eso-pic
-runfiles size=24
+depend graphics
+depend oberdiek
+depend tools
+runfiles size=25
RELOC/tex/latex/pdfpages/pdfpages.sty
RELOC/tex/latex/pdfpages/ppdvipdfmx.def
RELOC/tex/latex/pdfpages/ppdvips.def
@@ -22,7 +25,6 @@
RELOC/tex/latex/pdfpages/ppvtex.def
RELOC/tex/latex/pdfpages/ppxetex.def
catalogue-ctan /macros/latex/contrib/pdfpages
-catalogue-date 2017-10-31 16:15:58 +0100
catalogue-license lppl1.3c
catalogue-topics graphics-incl
-catalogue-version 0.5l
+catalogue-version 0.5q
++++++ pdftex.doc.tar.xz ++++++
++++ 1674 lines of diff (skipped)
++++++ pdftex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdftex.tlpobj new/tlpkg/tlpobj/pdftex.tlpobj
--- old/tlpkg/tlpobj/pdftex.tlpobj 2019-03-27 02:25:52.000000000 +0100
+++ new/tlpkg/tlpobj/pdftex.tlpobj 2020-03-10 23:59:51.000000000 +0100
@@ -1,6 +1,6 @@
name pdftex
category TLCore
-revision 50602
+revision 54227
shortdesc A TeX extension for direct creation of PDF
longdesc An extension of TeX which can be configured to directly
longdesc generate PDF documents instead of DVI. All current free TeX
@@ -12,14 +12,15 @@
depend cm
depend dehyph
depend etex
+depend hyph-utf8
depend hyphen-base
depend knuth-lib
depend plain
depend tex-ini-files
depend pdftex.ARCH
-execute AddFormat name=pdftex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini" fmttriggers=cm,dehyph,etex,hyphen-base,knuth-lib,plain,tex-ini-files
-execute AddFormat name=etex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *etex.ini" fmttriggers=cm,dehyph,etex,hyphen-base,knuth-lib,plain
-execute AddFormat name=pdfetex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini" fmttriggers=cm,dehyph,etex,hyphen-base,knuth-lib,plain,tex-ini-files
+execute AddFormat name=pdftex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini" fmttriggers=cm,dehyph,etex,hyph-utf8,hyphen-base,knuth-lib,plain,tex-ini-files
+execute AddFormat name=etex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *etex.ini" fmttriggers=cm,dehyph,etex,hyph-utf8,hyphen-base,knuth-lib,plain
+execute AddFormat name=pdfetex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini" fmttriggers=cm,dehyph,etex,hyph-utf8,hyphen-base,knuth-lib,plain,tex-ini-files
execute addMap dummy-space.map
runfiles size=65
texmf-dist/fonts/map/dvips/dummy-space/dummy-space.map
@@ -33,6 +34,5 @@
catalogue-contact-home http://www.pdftex.org
catalogue-contact-repository https://tug.org/svn/pdftex/branches/stable
catalogue-contact-support http://lists.tug.org/pdftex
-catalogue-date 2017-11-29 01:13:44 +0100
catalogue-license gpl
catalogue-topics engine
++++++ pdfwin.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfwin.doc.tlpobj new/tlpkg/tlpobj/pdfwin.doc.tlpobj
--- old/tlpkg/tlpobj/pdfwin.doc.tlpobj 2019-02-28 03:59:07.000000000 +0100
+++ new/tlpkg/tlpobj/pdfwin.doc.tlpobj 2020-03-04 23:53:12.000000000 +0100
@@ -1,6 +1,6 @@
name pdfwin.doc
category Package
-revision 45797
+revision 54074
shortdesc doc files of pdfwin
relocated 1
docfiles size=130
++++++ pdfwin.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfwin.tlpobj new/tlpkg/tlpobj/pdfwin.tlpobj
--- old/tlpkg/tlpobj/pdfwin.tlpobj 2019-02-28 03:59:08.000000000 +0100
+++ new/tlpkg/tlpobj/pdfwin.tlpobj 2020-03-04 23:53:12.000000000 +0100
@@ -1,6 +1,6 @@
name pdfwin
category Package
-revision 45797
+revision 54074
shortdesc customizable windows for screen viewing of TeX documents
relocated 1
longdesc Inspired by the pdfscreen package.
++++++ pdfxup.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/pdfxup.1 new/texmf-dist/doc/man/man1/pdfxup.1
--- old/texmf-dist/doc/man/man1/pdfxup.1 2016-04-22 23:56:17.000000000 +0200
+++ new/texmf-dist/doc/man/man1/pdfxup.1 2020-01-07 22:34:25.000000000 +0100
@@ -1,8 +1,8 @@
.\" Manpage for pdfxup.
.\" Contact pdfxup@markey.fr to correct errors or typos.
-.TH man 1 "6 october 2015" "1.30" "pdfxup man page"
+.TH man 1 "06 january 2020" "1.51" "pdfxup man page"
.SH NAME
-pdfxup \- n-up PDF pages with reduced margins
+pdfxup \- n-up tool with reduced margins
.SH SYNOPSIS
pdfxup [OPTIONS] [FILE]
.SH DESCRIPTION
@@ -28,14 +28,19 @@
\fB\-y\fR n, \fB\-\-rows\fR n
sets the number of lines in the output file (default 1);
.TP
-\fB\-l\fR (0|1), \fB\-\-landscape\fR (0|1)
+\fB\-l\fR, \fB\-\-landscape\fR
sets orientation of paper (of final document) landscape;
.TP
-\fB\-b\fR (0|1|le|se), \fB\-\-booklet\fR (0|1|le|se)
-configure for printing as a booklet. '1' is equivalent to 'le', which
-assumes that two-sided printing is in 'long-edge' mode (you turn from
-one page to the next along the long edge of the paper). 'se' is
-the 'short-edge' option;
+\fB\-b\fR (le|se), \fB\-\-booklet\fR (le|se)
+configure for printing as a booklet. Value 'le' (which is the default
+value when \fB\-b\fR is used with no argument) means that two-sided
+printing is in 'long-edge' mode (you turn from one page to the next
+along the long edge of the paper). 'se' is the 'short-edge' option.
+.TP
+\fB\-c\fR, \fB\-\-clip\fR
+clip pages to the computed bounding box. By default, content is not
+clipped, which may result in overlap of neighbouring pages. With this
+option, anything outside the bounding box will not be displayed.
.TP
\fB\-o\fR file, \fB\-\-output\fR file
name of output file;
@@ -44,7 +49,8 @@
ask before overwriting output file;
.TP
\fB\-fw\fR d, \fB\-\-framewidth\fR d
-width of the frame around each page (default 0.4pt);
+width of the frame around each page (default 0.4pt). Set to 0pt to have no
+frame at all;
.TP
\fB\-im\fR d, \fB\-\-innermargins\fR d
inner margin between frame and page (default 5pt);
@@ -52,24 +58,38 @@
\fB\-m\fR d, \fB\-\-margins\fR d
margin of pages of the new document (default 5pt);
.TP
-\fB\-is\fR d, \fB\-\-intspacess\fR d
+\fB\-is\fR d, \fB\-\-intspaces\fR d
space between different pages (default 1pt);
.TP
-\fB\-p\fR a-b, \fB\-\-pages\fR a-b
-only consider pages a to b of input document;
+\fB\-p\fR list, \fB\-\-pages\fR list
+only consider sublist of pages of input document. List is a
+comma-separated list of pages or ranges pages of the form a-b; a can
+be omitted to start from first page, and b can be omitted to end at
+the last page. Therefore, "\fB\-p\fR -" (which is the default)
+includes all pages. Also allows modulo, so that "\fB\-p\fR 0%2" would
+include only even-numbered pages.
.TP
-\fB\-bb\fR a-b, \fB\-\-pages\fR a-b
-only consider pages a to b of input document for computing bounding box;
+\fB\-bb\fR list, \fB\-\-bb\fR list
+only consider sublist of pages of input document for computing bounding box;
.TP
-\fB\-nobb\fR a-b, \fB\-\-no-bb\fR a-b
-omit pages a to b of input document from computation of bounding box;
+\fB\-nobb\fR list, \fB\-\-no-bb\fR list
+omit list of pages of input document from computation of bounding box;
.TP
-\fB\-g\fR (0|1), \fB\-\-get-bb\fR (0|1)
+\fB\-g\fR, \fB\-\-get-bb\fR
only compute (and output) bounding box;
.TP
\fB\-s\fR x y W H, \fB\-\-set-bb\fR x y W H
set the bounding box to the given values;
.TP
+\fB\-w\fR file, \fB\-\-watermark\fR file
+use file as background watermark. file can be any format accepted by
+pdflatex (e.g. png or pdf). If file is a multipage PDF file, page n of
+the watermark file is used with page n of the input file, and the last
+page of the watermark file is repeated if the input file has more pages;
+.TP
+\fB\-wp\fR p, \fB\-\-watermark-period\fR p
+repeat the last p pages of the watermark file instead of only the last one;
+.TP
\fB\-d\fR, \fB\-\-debug\fR
debug mode: keep intermediary files;
.TP
@@ -77,17 +97,32 @@
select verbosity (default: 1);
.TP
\fB\-q\fR, \fB\-\-quiet\fR
-run quietly (equiv. '-V=0')
+run quietly (equiv. '-V=0');
.TP
\fB\-v\fR, \fB\-\-version\fR
print version number and exit;
.TP
\fB\-h\fR, \fB\-\-help\fR
print help message and exit.
-
+.SH EXAMPLES
+.TP
+\fB# pdfxup file.pdf\fR
+produces 2-up pdf file from file.pdf
+.TP
+\fB# pdfxup -bb 1-4 file.pdf\fR
+same behaviour, but computes the bounding box only using the
+first 4 pages (this saves time when processing long documents)
+.TP
+\fB# pdfxup -b -o booklet.pdf file.pdf\fR
+same behaviour, but creates a booklet (as booklet.pdf)
+.TP
+\fB# pdfxup -kbb -x1 -y2 -l0 beamer-frames.pdf\fR
+arranges 2 beamer frames per page (not reducing margins)
+.TP
+\fB# pdfxup -kbb -x2 -y2 -l beamer-frames.pdf:1-12,15-19\fR
+arranges 4 beamer frames per page (not reducing margins), including
+only frames 1 to 12 and 15 to 19.
.SH SEE ALSO
gs(1), pdflatex(1)
-.SH BUGS
-No known bugs.
.SH AUTHOR
Nicolas Markey (pdfxup@markey.fr)
Binary files old/texmf-dist/doc/man/man1/pdfxup.man1.pdf and new/texmf-dist/doc/man/man1/pdfxup.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/pdfxup/README new/texmf-dist/doc/support/pdfxup/README
--- old/texmf-dist/doc/support/pdfxup/README 2016-04-22 23:56:17.000000000 +0200
+++ new/texmf-dist/doc/support/pdfxup/README 2020-01-07 22:34:25.000000000 +0100
@@ -1,26 +1,24 @@
-PDFXUP -- v1.30 (2015/10/06)
+PDFXUP -- v1.51 (2020/01/06)
N. Markey
-pdfxup is a unix/linux shell script that creates a PDF
-document where each page is obtained by combining several
-pages of a PDF file given as output. The important feature
-of pdfxup, compared to similar programs, is that it tries to
-compute the (global) bounding box of the input PDF file, in
-order to remove the margins and to keep the text only.
-Instead of having the font size divided by 2 (for the case
-of 2-up output), in some case you may end up with the same
-font size as in the original document (as is the case for a
-default 'article' document produced by LaTeX).
-
-pdfxup uses ghostscript for computing the maximal bounding
-box of (some of) the pages of the document, and then uses
-pdflatex (with graphicx package) in order to produce the new
-document.
+pdfxup is a bash shell script that creates a PDF document where each
+page is obtained by combining several pages of a PDF file given as
+output. The important feature of pdfxup, compared to similar programs,
+is that it tries to compute the (global) bounding box of the input PDF
+file, in order to remove the margins and to keep the text only.
+Instead of having the font size divided by 2 (for the case of 2-up
+output), in some case you may end up with the same font size as in the
+original document (as is the case for a default 'article' document
+produced by LaTeX).
+
+pdfxup uses ghostscript for computing the maximal bounding box of
+(some of) the pages of the document, and then uses pdflatex (with
+graphicx package) in order to produce the new document.
-%% (c) 2015/10/06 Nicolas Markey <pdfxup at markey dot fr>
+%% (c) 2020/01/06 Nicolas Markey <pdfxup at markey dot fr>
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/pdfxup/RELEASES new/texmf-dist/doc/support/pdfxup/RELEASES
--- old/texmf-dist/doc/support/pdfxup/RELEASES 2016-04-22 23:56:17.000000000 +0200
+++ new/texmf-dist/doc/support/pdfxup/RELEASES 2020-01-07 22:34:25.000000000 +0100
@@ -23,3 +23,11 @@
- added options -g and -s for getting and then manually
- setting bounding box.
- created man page
+
+v1.50 (2019/12/31)
+ - added the -c option (to clip pages)
+ - corrected + improved option -p
+ - added watermarking
+
+v1.51 (2020/01/06)
+ - corrected bug in dimtopt() (conversion mm to pt)
\ No newline at end of file
Binary files old/texmf-dist/doc/support/pdfxup/pdfxup.pdf and new/texmf-dist/doc/support/pdfxup/pdfxup.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfxup.doc.tlpobj new/tlpkg/tlpobj/pdfxup.doc.tlpobj
--- old/tlpkg/tlpobj/pdfxup.doc.tlpobj 2019-02-28 03:59:10.000000000 +0100
+++ new/tlpkg/tlpobj/pdfxup.doc.tlpobj 2020-01-08 01:54:32.000000000 +0100
@@ -1,8 +1,8 @@
name pdfxup.doc
category Package
-revision 40690
+revision 53345
shortdesc doc files of pdfxup
-docfiles size=10
+docfiles size=32
texmf-dist/doc/man/man1/pdfxup.1
texmf-dist/doc/man/man1/pdfxup.man1.pdf
texmf-dist/doc/support/pdfxup/README
++++++ pdfxup.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/pdfxup/pdfxup new/texmf-dist/scripts/pdfxup/pdfxup
--- old/texmf-dist/scripts/pdfxup/pdfxup 2016-04-22 23:56:17.000000000 +0200
+++ new/texmf-dist/scripts/pdfxup/pdfxup 2020-01-07 22:34:25.000000000 +0100
@@ -2,10 +2,11 @@
shopt -s extglob
shopt -s lastpipe
-VERSION="1.30"
-VDATE="2015/10/06"
+VERSION="1.50"
+VDATE="2019/12/31"
## see release notes at the end of this file.
+
: ${GS=`which gs`}
if [ ! $? ]; then
echo "ghostscript not found; aborting.";
@@ -17,8 +18,9 @@
exit 1;
fi
-declare -A BB NOBB;
-
+## default values for all options.
+## Can be modified from command line
+## For instance, run "VERB=4 pdfxup ..."
function defaultvalues()
{
: ${dfpdfxupCOLS=2}
@@ -26,6 +28,7 @@
: ${dfpdfxupLANDSC=1}
: ${dfpdfxupPAP="a4"}
: ${dfpdfxupBOOKLET=0}
+ : ${dfpdfxupCLIP=1}
: ${dfpdfxupOUTF="pdfxup.pdf"}
: ${dfpdfxupIHM="5pt"}
: ${dfpdfxupIVM="5pt"}
@@ -39,36 +42,41 @@
: ${dfpdfxupFW=".4pt"}
: ${dfpdfxupPAGES="-"}
: ${dfpdfxupBB="-"}
+ : ${dfpdfxupNOBB=""}
+ : ${dfpdfxupKBB="0"}
: ${dfpdfxupGBB="0"}
: ${dfpdfxupVERB=1}
: ${dfpdfxupDEBUG=0}
+ : ${dfpdfxupWMPERIOD=1}
}
+
function usage()
{
-defaultvalues;
-echo "pdfxup: n-up pages of a PDF document, preserving readability
-usage: `basename $0` [OPTIONS] file
+ defaultvalues;
+ echo "pdfxup: n-up pages of a PDF document, preserving readability
+usage: `basename $0` [OPTIONS] file
Available OPTIONS are:
-x n n columns per page [default: \"$dfpdfxupCOLS\"]
-y n n lines per page [default: \"$dfpdfxupROWS\"]
-l [0|1] landscape-mode [default: \"$dfpdfxupLANDSC\"]
-b [0|1|le|se] booklet-mode [default: \"$dfpdfxupBOOKLET\"]
+ -c [0|1] clip pages to bounding box [default: \"$dfpdfxupCLIP\"]
-im n inner margins [default: \"$dfpdfxupIM\"]
-m n margins [default: \"$dfpdfxupM\"]
-is n interm. spaces [default: \"$dfpdfxupIS\"]
-fw n frame width [default: \"$dfpdfxupFW\"]
-o file write output to file [default: \"$dfpdfxupOUTF\"]
- -p range restrict to range of pages [default: \"$dfpdfxupPAGES\"]
- -nobb range page range to omit for computing bbox [default: \"$dfpdfxupNOBB\"]
- -bb range page range to use for computing bbox [default: \"$dfpdfxupBB\"]
+ -p pages only include these pages [default: \"$dfpdfxupPAGES\" (all)]
+ -nobb pages pages to omit when computing b.box [default: \"$dfpdfxupNOBB\" (none)]
+ -bb pages pages to use for computing b.box [default: \"$dfpdfxupBB\" (all)]
-g [0|1] only computes bounding box [default: \"$dfpdfxupGBB\"]
-s x y X Y force bounding box [default: unset]
-V [0-3] select verbosity [default: \"$dfpdfxupVERB\"]
- -q run quietly (equiv. '-V=0')
+ -w file add watermarking [default: none]
+ -wp n repeat last n pages of watermark file [default: \"$dfpdfxupWMPERIOD\"]
-i ask before overwriting/removing files
-d debug mode: keep intermediary files
- -v show version number and exit
- -h show this help message";
+ -v show version number and exit";
##
## Some options are not presented, for the sake of brevity...
@@ -79,47 +87,93 @@
## -vm n vertical margin [default: \"$dfpdfxupVM\"]
## -ihs n interm. horizontal space [detault: \"$dfpdfxupIHS\"]
## -ivs n interm. vertical space [detault: \"$dfpdfxupIVS\"]
+## -kbb keep original bounding box [default: \"$dfpdfxupKBB\"]
## -ps s output paper size [default: \"$dfpdfxupPAP\"]
+## -q run quietly (equiv. '-V=0')
+## -h show this help message
##
##
##
-exit 0;
+ exit 0;
}
function setdefaultvalues()
{
- COLS=$dfpdfxupCOLS;
- ROWS=$dfpdfxupROWS;
- LANDSC=$dfpdfxupLANDSC;
- BOOKLET=$dfpdfxupBOOKLET;
- PAP=$dfpdfxupPAP;
- OUTF=$dfpdfxupOUTF
- IHM=$dfpdfxupIHM;
- IVM=$dfpdfxupIVM;
- IM=$dfpdfxupIM;
- HM=$dfpdfxupHM;
- VM=$dfpdfxupVM;
- M=$dfpdfxupM;
- IHS=$dfpdfxupIHS;
- IVS=$dfpdfxupIVS;
- IS=$dfpdfxupIS;
- FW=$dfpdfxupFW;
- VERB=$dfpdfxupVERB;
- DEBUG=$dfpdfxupDEBUG;
- nbNOBB=0;
- nbBB=0;
- GBB=$dfpdfxupGBB;
- SBB=0;
- x0=-1
- y0=-1
- h0=-1
- w0=-1
- ## the names for h and w should actually be X and Y: they are not width and height,
- ## but coordinates of upper right corner.
+ COLS=$dfpdfxupCOLS;
+ ROWS=$dfpdfxupROWS;
+ LANDSC=$dfpdfxupLANDSC;
+ BOOKLET=$dfpdfxupBOOKLET;
+ CLIP=$dfpdfxupCLIP;
+ PAP=$dfpdfxupPAP;
+ OUTF=$dfpdfxupOUTF
+ IHM=$dfpdfxupIHM;
+ IVM=$dfpdfxupIVM;
+ IM=$dfpdfxupIM;
+ HM=$dfpdfxupHM;
+ VM=$dfpdfxupVM;
+ M=$dfpdfxupM;
+ IHS=$dfpdfxupIHS;
+ IVS=$dfpdfxupIVS;
+ IS=$dfpdfxupIS;
+ FW=$dfpdfxupFW;
+ ## don't overwrite VERB if set on command line
+ : ${VERB=$dfpdfxupVERB};
+ DEBUG=$dfpdfxupDEBUG;
+ WATERMARK="";
+ WATERMARKPERIOD=$dfpdfxupWMPERIOD;
+ KBB=$dfpdfxupKBB;
+ GBB=$dfpdfxupGBB;
+ SBB=0;
+ x0=-1
+ y0=-1
+ h0=-1
+ w0=-1
+ ## the names for h and w should actually be X and Y: they are not width and height,
+ ## but coordinates of upper right corner.
+
+ ## Notice: PAGES, BB and NOBB will be set to default values if empty after
+ ## processing options
+}
+
+## myecho handles several levels of verbosity
+function myecho()
+{
+ ECHO=0;
+ case $1 in
+ +([0-9])\+)
+ if [[ $VERB -ge ${1%+} ]]; then ECHO=1; fi
+ ;;
+ +([0-9]))
+ if [[ $VERB -eq $1 ]]; then ECHO=1; fi
+ ;;
+ +([0-9])-)
+ if [[ $VERB -le ${1%-} ]]; then ECHO=1; fi
+ ;;
+ esac
+ if [[ $ECHO == 1 ]]; then
+ case $2 in
+ -*)
+ echo $2 "$3"
+ ;;
+ *)
+ echo "$2"
+ ;;
+ esac
+ fi
}
-function dimtopt()
+## function to debug option processing
+function showopts()
+{
+ if [[ OPTS -eq 0 ]]; then
+ OPTS=1;
+ fi
+ myecho 4+ " * $1"
+}
+
+## transforms given dimension (in cm, mm, in) in pt
+function dimtopt()
{
dim=$1;
case $dim in
@@ -127,19 +181,19 @@
;;
*mm)
dim=${dim%mm};
- eval dim=$((dim*2845/100))pt;
+ eval dim=$((dim*2845/1000))pt;
;;
*cm)
dim=${dim%cm};
- eval dim=$((dim*284/10))pt;
+ eval dim=$((dim*2845/100))pt;
;;
*in)
dim=${dim%in};
- eval dim=$((dim*723/10))pt;
+ eval dim=$((dim*7228/100))pt;
;;
*[!0-9]*)
## should not occur... has been filtered out by main 'case'
- echo "Illegal unit of measure in option '$3'; ignoring";
+ myecho 1+ " illegal unit of measure in option '$3'; ignoring";
dim=$2;
;;
*)
@@ -148,6 +202,7 @@
esac
}
+## check valid unit for given dimension
function testdim()
{
dim=$1;
@@ -158,74 +213,90 @@
dim=${dim}pt
;;
+([0-9])*)
- echo "Illegal unit of measure in option '$3'; ignoring";
+ echo " illegal unit of measure in option '$3'; ignoring";
dim=$2;
;;
*)
- echo "Not a valid dimension in option '$3'; ignoring";
+ echo " not a valid dimension in option '$3'; ignoring";
dim=$2;
;;
esac
}
-function testrange()
+## sets variable $in to 1 if $1 is in list of ranges $2
+function ifinrangelist()
{
- declare -a list=("${!2}");
-
- in=0;
- if [[ $3 -eq 0 ]]; then
- return;
- fi
n=$1;
- l=$3
- i=0;
- while ( true ); do
- if [[ $i -ge $l ]]; then break; fi
- case ${list[$i]} in
+ list=$2;
+ in=0;
+
+ for i in ${list//,/$IFS}; do
+ case $i in
+([0-9]))
- first=${list[$i]};
- last=${list[$i]};
- shift;;
+ first=$i;
+ last=$i;;
-+([0-9]))
first=1;
- last=${list[$i]:1};
- shift;;
+ last=`echo $i|tr -d -`;;
+([0-9])-)
- first=${list[$i]::-1};
- last=$nbp;
- shift;;
+ first=`echo $i|tr -d -`;
+ last=$nbp;;
+([0-9])-+([0-9]))
- first=${list[$i]%-*}
- last=${list[$i]#*-}
- shift;;
+ first=`echo $i|cut -d- -f1`;
+ last=`echo $i|cut -d- -f2`;;
+ -)
+ first=1;
+ last=$nbp;;
+ *)
+ myecho 1+ " error in range of pages (option '$3' contains '$i')";
esac
if [[ $n -ge $first && $n -le $last ]]; then
in=1;
return;
fi
- eval i=$(( i+1 ))
done
+ return;
}
-function myecho()
+## normalize list + count number of pages to be displayed
+function cleancslor()
{
- ECHO=0;
- case $1 in
- +([0-9])\+)
- if [[ $VERB -ge ${1%+} ]]; then ECHO=1; fi;;
- +([0-9]))
- if [[ $VERB -eq $1 ]]; then ECHO=1; fi;;
- +([0-9])-)
- if [[ $VERB -le ${1%-} ]]; then ECHO=1; fi;;
- esac
- if [[ $ECHO == 1 ]]; then
- case $2 in
- -*)
- echo $2 "$3";;
+ list=$1;
+ result="";
+ for i in ${list//,/$IFS}; do
+ case $i in
+ +([0-9]))
+ result+="$i,";
+ nbpages+=1;;
+ -+([0-9]))
+ result+="1$i,";
+ nbpages+=${i#-};;
+ +([0-9])-)
+ result+="$i$nbp,";
+ nbpages+=$(expr $nbp + 1 - ${i%-});;
+ +([0-9])-+([0-9]))
+ result+="$i,";
+ nbpages+=$(expr 1 + `echo $i|cut -d- -f2` - `echo $i|cut -d- -f1`);;
+ -)
+ result+="1-$nbp,";
+ nbpages+=$nbp;;
+ +([0-9])%+([0-9]))
+ ## explicitly list all values...
+ ## (simpler, but admitedly less efficient,
+ ## than handling real modulos)
+ declare -i cptr;
+ cptr=`echo $i|cut -d% -f1`;
+ step=`echo $i|cut -d% -f2`;
+ while [[ $cptr -le $nbp ]]; do
+ result+="$cptr,";
+ nbpages+=1;
+ cptr+=$step;
+ done;;
*)
- echo "$2";;
- esac
- fi
+ ## anything else is discarded
+ ;;
+ esac
+ done
}
ARGS=$@;
@@ -237,31 +308,36 @@
setdefaultvalues;
filename="temp-pdfxup-`date +%s`";
+OPTS=0;
+
+## go through all arguments and options
+myecho 4+ "-> processing options";
+myecho 4+ " selected options: ";
while [ $# != 0 ]; do
case $1 in
-x|--columns)
COLS=$2;
+ showopts "columns=$COLS";
shift 2;;
-x?(=)+([0-9]))
COLS=`echo $1|sed -re "s/-x=?//"`;
+ showopts "columns=$COLS";
shift;;
-y|--rows)
ROWS=$2;
+ showopts "rows=$ROWS";
shift 2;;
-y?(=)+([0-9]))
ROWS=`echo $1|sed -re "s/-y=?//"`;
+ showopts "rows=$ROWS";
shift;;
-l|--landscape)
case $2 in
- 0|1)
- LANDSC=$2;
- SHIFT=2;
- ;;
- yes|y)
+ 1|yes|y|true)
LANDSC=1;
SHIFT=2;
;;
- no|n)
+ 0|no|n|false)
LANDSC=0;
SHIFT=2;
;;
@@ -275,17 +351,19 @@
#echo "Assuming you want landscape outupt...";
SHIFT=1;
esac
+ if [[ $LANDSC -eq 1 ]]; then
+ showopts "landscape=true";
+ else
+ showopts "landscape=false";
+ fi
shift $SHIFT;;
-l*)
ANS=`echo $1|sed -re "s/-l=?//"`;
case $ANS in
- 0|1)
- LANDSC=$ANS;
- ;;
- yes|y)
+ 1|yes|y|true)
LANDSC=1;
;;
- no|n)
+ 0|no|n|false)
LANDSC=0;
;;
*)
@@ -293,21 +371,27 @@
#echo "Normal use of '$1' option is: '$1 [0|1]'";
#echo "Assuming you want landscape outupt...";
esac
+ if [[ $LANDSC -eq 1 ]]; then
+ showopts "landscape=true";
+ else
+ showopts "landscape=false";
+ fi
shift;;
-nl|--portrait|--no-landscape|--nolandscape)
LANDSC=0;
+ showopts "landscape=false";
shift;;
-b|--booklet)
case $2 in
- 0|1|le|se)
- BOOKLET=$2;
+ se|short-edge)
+ BOOKLET="se";
SHIFT=2;
;;
- yes|y)
+ 1|yes|y|true|le|long-edge)
BOOKLET=1;
SHIFT=2;
;;
- no|n)
+ 0|no|n|false)
BOOKLET=0;
SHIFT=2;
;;
@@ -323,18 +407,25 @@
esac
if [[ $BOOKLET != 0 ]]; then
FW=0pt
+ # this is the default, but can be changed by passing -fw option
+ fi
+ if [[ $BOOKLET -eq 1 ]]; then
+ showopts "booklet (long-edge)";
+ else if [[ $BOOKLET -eq "se" ]]; then
+ showopts "booklet (short edge)";
+ fi
fi
shift $SHIFT;;
- -b[^b]*)
- ANS=`echo $1|sed -re "s/-b=?//"`;
+ -b[^b]*|--booklet*)
+ ANS=`echo $1|sed -re "s/--?b(ooklet)?=?//"`;
case $ANS in
- 0|1|le|se)
- BOOKLET=$ANS;
+ se|short-edge)
+ BOOKLET="se";
;;
- yes|y)
+ 1|yes|y|true|le|long-edge)
BOOKLET=1;
;;
- no|n)
+ 0|no|n|false)
BOOKLET=0;
;;
*)
@@ -344,161 +435,263 @@
esac
if [[ $BOOKLET != 0 ]]; then
FW=0pt
+ # this is the default, but can be changed by passing -fw option
+ fi
+ if [[ $BOOKLET -eq 1 ]]; then
+ showopts "booklet (long-edge)";
+ else if [[ $BOOKLET -eq "se" ]]; then
+ showopts "booklet (short edge)";
+ fi
+ fi
+ shift;;
+ -c|--clip)
+ case $2 in
+ 1|yes|y|true)
+ CLIP=1;
+ SHIFT=2;
+ ;;
+ 0|no|n|false)
+ CLIP=0;
+ SHIFT=2;
+ ;;
+ *)
+ CLIP=1;
+ SHIFT=1;
+ esac
+ if [[ $CLIP -eq 1 ]]; then
+ showopts "clip=true";
+ else
+ showopts "clip=false";
+ fi
+ shift $SHIFT;;
+ -c*|--clip=*)
+ ANS=`echo $1|sed -re "s/--?c(lip)?=?//"`;
+ case $ANS in
+ 1|yes|y|true)
+ CLIP=1;
+ ;;
+ 0|no|n|false)
+ CLIP=0;
+ ;;
+ esac
+ if [[ $CLIP -eq 1 ]]; then
+ showopts "clip=true";
+ else
+ showopts "clip=false";
fi
shift;;
-ps|--paper|--paper-size)
PAP=$2;
+ showopts "paper size=$PAP";
shift 2;;
-ps=*|--paper=*|--paper-size=*)
## '=' is compulsory, as we expect a string...
ANS=`echo $1|sed -re "s/(-ps=|--paper=|--paper-size=)//"`;
PAP=$ANS;
+ showopts "paper size=$PAP";
shift;;
-p|--pages|--page)
- PAGES=$2;
+ PAGES+="$2,";
+ #showopts "pages=$PAGES";
shift 2;;
-p*|--page*)
- ANS=`echo $1|sed -re "s/(-p|--pages?)=?//"`;
- PAGES=$ANS;
- shift 2;;
+ ANS=`echo $1|sed -re "s/--?p(ages?)?=?//"`;
+ PAGES=+="$ANS,";
+ #showopts "pages=$PAGES";
+ shift;;
-o|--out|--output-file|--outfile)
OUTF=$2;
+ showopts "output file=$OUTF";
shift 2;;
- -o*)
- ANS=`echo $1|sed -re "s/-o=?//"`;
+ -o*|--out=*|--output-file=*|--outfile=*)
+ ANS=`echo $1|sed -re "s/--?o(ut(put-)?(file)?)?=?//"`;
OUTF=$ANS;
+ showopts "output file=$OUTF";
shift;;
-ihm|--innerhmargin)
dimtopt $2 $dfpdfxupIHM "$1 $2";
IHM=$dim;
+ showopts "inner horizontal margin=$IHM";
shift 2;;
-ihm?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-ihm=?//"`;
dimtopt $ANS $dfpdfxupIHM $1;
IHM=$dim;
+ showopts "inner horizontal margin=$IHM";
shift;;
-ivm|--innervmargin)
dimtopt $2 $dfpdfxupIVM "$1 $2";
IVM=$dim;
+ showopts "inner vertical margin=$IVM";
shift 2;;
-ivm?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-ivm=?//"`;
dimtopt $ANS $dfpdfxupIVM $1;
IVM=$dim;
+ showopts "inner vertical margin=$IVM";
shift;;
-im|--innermargins)
dimtopt $2 $dfpdfxupIM "$1 $2";
IHM=$dim;
IVM=$dim;
+ showopts "inner margins=$IHM";
shift 2;;
-im?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-im=?//"`;
dimtopt $ANS $dfpdfxupIM $1;
IHM=$dim;
IVM=$dim;
+ showopts "inner margins=$IHM";
shift;;
-hm|--hmargin)
testdim $2 $dfpdfxupHM "$1 $2";
HM=$dim;
+ showopts "horizontal margin=$HM";
shift 2;;
-hm?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-hm=?//"`;
testdim $ANS $dfpdfxupHM $1;
HM=$dim;
+ showopts "horizontal margin=$HM";
shift;;
-vm|--vmargin)
testdim $2 $dfpdfxupVM "$1 $2";
VM=$dim;
+ showopts "vertical margin=$VM";
shift 2;;
-vm?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-vm=?//"`;
testdim $ANS $dfpdfxupVM $1;
VM=$dim;
+ showopts "vertical margin=$VM";
shift;;
-m|--margins)
testdim $2 $dfpdfxupM "$1 $2";
HM=$dim;
VM=$dim;
+ showopts "margins=$HM";
shift 2;;
-m?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-m=?//"`;
testdim $ANS $dfpdfxupM $1;
HM=$dim;
VM=$dim;
+ showopts "margins=$HM";
shift;;
-ihs|--inthspace)
testdim $2 $dfpdfxupIHS "$1 $2";
IHS=$dim;
+ showopts "horizontal space=$IHS";
shift 2;;
-ihs?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-ihs=?//"`;
testdim $ANS $dfpdfxupIHS $1;
IHS=$dim;
+ showopts "horizontal space=$IHS";
shift;;
-ivs|--intvspace)
testdim $2 $dfpdfxupIVS "$1 $2";
IVS=$dim;
+ showopts "vertical space=$IVS";
shift 2;;
-ivs?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-ivs=?//"`;
testdim $ANS $dfpdfxupIVS $1;
IVS=$dim;
+ showopts "vertical space=$IVS";
shift;;
-is|--intspaces)
testdim $2 $dfpdfxupIS "$1 $2";
IHS=$dim;
IVS=$dim;
+ showopts "space=$IHS";
shift 2;;
-is?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-is=?//"`;
testdim $ANS $dfpdfxupIS $1;
IHS=$dim;
IVS=$dim;
+ showopts "space=$IHS";
shift;;
-fw|--framewidth)
testdim $2 $dfpdfxupFW "$1 $2";
FW=$dim;
+ showopts "frame rule width=$FW";
shift 2;;
-fw?(=)+([0-9])*)
ANS=`echo $1|sed -re "s/-fw=?//"`;
testdim $ANS $dfpdfxupFW $1;
FW=$dim;
+ showopts "frame rule width=$FW";
shift;;
-i)
MVopt="-i";
RMopt="-i";
+ showopts "interactive clean up: true";
shift;;
-nobb|--nobb|-no-bb|--no-bb)
- NOBB[$nbNOBB]=$2;
- eval nbNOBB=$(( nbNOBB+1 ));
+ NOBB+="$2,";
shift 2;;
- -nobb*|--nobb*|-no-bb*|--no-bb*)
+ -nobb*|--no-bb*)
ANS=`echo $1|sed -re "s/--?no-?bb=?//"`;
- NOBB[$nbNOBB]=$ANS;
- eval nbNOBB=$(( nbNOBB+1 ));
+ NOBB+="$ANS,";
shift;;
- -bb|--bb)
- BB[$nbBB]=$2;
- eval nbBB=$(( nbBB+1 ));
+ -bb|--bb|--bounding-box)
+ BB+="$2,";
shift 2;;
- -bb*|--bb*)
- ANS=`echo $1|sed -re "s/--?bb=?//"`;
- BB[$nbBB]=$ANS;
- eval nbBB=$(( nbBB+1 ));
+ -bb*|--bb*|--bounding-box)
+ ANS=`echo $1|sed -re "s/--?b(ounding-?)?b(ox)?=?//"`;
+ BB+="$ANS,";
shift;;
-
-
- -g|--get-bb|--getbb)
+ -kbb|--keepbb|--keep-bb|--original-bb)
case $2 in
- 0|1)
- GBB=$2;
+ 1|yes|y|true)
+ KBB=1;
+ SHIFT=2;
+ ;;
+ 0|no|n|false)
+ KBB=0;
SHIFT=2;
;;
- yes|y)
+ -*)
+ KBB=1;
+ SHIFT=1;
+ ;;
+ *)
+ KBB=1;
+ SHIFT=1;
+ esac
+ if [[ $KBB -eq 1 ]]; then
+ showopts "keep original bounding box=true";
+ else
+ showopts "keep original bounding box=false";
+ fi
+ shift $SHIFT;;
+ -kbb*|--keepbb*|--keep-bb*|--original-bb*)
+ ANS=`echo $1|sed -re "s/--?(k(eep-?)?bb|orig[^=]*bb)=?//"`;
+ case $ANS in
+ 1|yes|y|true)
+ KBB=1;
+ ;;
+ 0|no|n|false)
+ KBB=0;
+ ;;
+ *)
+ KBB=1;
+ esac
+ if [[ $KBB -eq 1 ]]; then
+ showopts "keep original bounding box=true";
+ else
+ showopts "keep original bounding box=false";
+ fi
+ shift;;
+ -g|--get-bb|--getbb)
+ case $2 in
+ 1|yes|y|true)
GBB=1;
SHIFT=2;
;;
- no|n)
+ 0|no|n|false)
GBB=0;
SHIFT=2;
;;
@@ -508,21 +701,21 @@
;;
*)
GBB=1;
- #echo "Normal use of '$1' option is: '$1 [0|1]'";
- #echo "Assuming you want landscape outupt...";
SHIFT=1;
esac
+ if [[ $GBB -eq 1 ]]; then
+ showopts "only compute bounding box=true";
+ else
+ showopts "only compute bounding box=false";
+ fi
shift $SHIFT;;
- -g*)
- ANS=`echo $1|sed -re "s/-g=?//"`;
+ -g*|--get-bb=*|--getbb=*)
+ ANS=`echo $1|sed -re "s/--?g(etbb|et-bb)?=?//"`;
case $ANS in
- 0|1)
- GBB=$ANS;
- ;;
- yes|y)
+ 1|yes|y|true)
GBB=1;
;;
- no|n)
+ 0|no|n|false)
GBB=0;
;;
*)
@@ -530,8 +723,12 @@
#echo "Normal use of '$1' option is: '$1 [0|1]'";
#echo "Assuming you want landscape outupt...";
esac
+ if [[ $GBB -eq 1 ]]; then
+ showopts "only compute bounding box=true";
+ else
+ showopts "only compute bounding box=false";
+ fi
shift;;
-
-s|--set-bb|--setbb)
case "$2$3$4$5" in
+([0-9]))
@@ -541,33 +738,61 @@
BBW=$4;
BBH=$5;;
esac
+ showopts "bounding box set to $2 $3 $4 $5";
shift 5;;
-
-V)
case $2 in
@(0|1|2|3))
- VERB=$2;
+ if [[ $VERB -lt $2 ]]; then
+ VERB=$2;
+ fi
SHIFT=2;;
*)
- VERB=2;
+ if [[ $VERB -lt 2 ]]; then
+ VERB=2;
+ fi
SHIFT=1;;
esac
shift $SHIFT;;
-V?(=)@(0|1|2|3))
- VERB=`echo $1|sed -re "s/-V=?//"`;
+ if [[ $VERB -lt `echo $1|sed -re "s/-V=?//"` ]]; then
+ VERB=`echo $1|sed -re "s/-V=?//"`;
+ fi
shift;;
-V?(=)+([0-9]))
VERB=9;
shift;;
- -VV)
- VERB=2;
+ -VV)
+ if [[ $VERB -lt 2 ]]; then
+ VERB=2;
+ fi
shift;;
-VVV)
- VERB=3;
+ if [[ $VERB -lt 3 ]]; then
+ VERB=3;
+ fi
shift;;
-q|--quiet)
VERB=0;
shift;;
+ -w|--watermark|--watermark-file)
+ WATERMARK=$2;
+ showopts "watermarking with file $WATERMARK";
+ shift 2;;
+ -w=*|--watermark=*|--watermark-file=*)
+ ANS=`echo $1|sed -re "s/--?w[^=]*=//"`;
+ WATERMARK=$ANS;
+ showopts "watermarking with file $WATERMARK";
+ shift;;
+ -wp|--wperiod|--watermark-period)
+ WATERMARKPERIOD=$2;
+ showopts "watermarking period=$WATERMARKPERIOD";
+ shift 2;;
+ -wp=*|--wperiod=*|--watermark-period=*)
+ ANS=`echo $1|sed -re "s/--?w[^=]*=//"`;
+ WATERMARKPERIOD=$ANS;
+ showopts "watermarking period=$WATERMARKPERIOD";
+ shift;;
-v|--version)
echo "pdfxup version $VERSION (released $VDATE)";
exit 0;;
@@ -576,10 +801,12 @@
shift;;
-*)
usage;;
- *:[0-9\-]*)
+ *:+([0-9\-,\%]))
ARG=$1;
- file=${ARG%:*}
- PAGES=${ARG#*:}
+ file=${ARG%:*};
+ PAGES+="${ARG#*:},";
+ ## only one file is allowed, and no options
+ ## should appear after the file name...
break;;
*)
file=$1;
@@ -589,206 +816,232 @@
esac;
done
+## this depends on verbosity, hence can only be announced *after* processing options...
+myecho 3- "-> processing options";
+
+## check input file
if [[ $file == "" ]]; then
- echo "pdfxup: no input file given; exiting.";
+ echo "pdfxup error: no input file given; exiting.";
exit 0;
fi
-if [[ ! -e $file && `basename $file .pdf` == $file ]]; then
- myecho 2+ "-> changing file name '$file' to '$file.pdf'";
- file="$file.pdf";
-fi;
-
if [[ ! -e $file ]]; then
- echo "pdfxup: file $file not found; exiting.";
+ echo "pdfxup error: file $file not found; exiting.";
exit 0;
fi
-## get number of pages
+## get number of pages of input file
nbp=`$GS -sDEVICE=bbox -dNOPAUSE -dQUIET -c "($file) (r) file runpdfbegin pdfpagecount = quit"`
+## now we can deal with ranges of pages (BB, NOBB, PAGES)
+declare -i nbpages;
+nbpages=0;
+if [[ ${BB} != "" ]]; then
+ BB=${BB%,};
+ cleancslor $BB;
+ BB=${result%,};
+ showopts "use for bounding-box computation: "${BB};
+else
+ if [[ ${PAGES} != "" ]]; then
+ BB=${PAGES%,};
+ cleancslor $BB;
+ BB=${result%,};
+ showopts "use for bounding-box computation: "${BB};
+ else
+ BB=$dfpdfxupBB;
+ fi
+fi
+if [[ ${NOBB} != "" ]]; then
+ NOBB=${NOBB%,};
+ cleancslor $NOBB;
+ NOBB=${result%,};
+ showopts "exclude from bounding-box computation: "${NOBB};
+else
+ NOBB=$dfpdfxupNOBB;
+fi
+if [[ ${PAGES} != "" ]]; then
+ PAGES=${PAGES%,};
+else
+ PAGES=$dfpdfxupPAGES;
+fi
+nbpages=0;
+cleancslor $PAGES;
+PAGES=${result%,};
+showopts "pages to display: ${PAGES} (${nbpages} pages)";
+
+
+## clipping option
+if [[ $CLIP != 0 ]]; then
+ myecho 2+ " clipping pages (anything outside bounding box will be dropped)";
+ CLIPOPT=",clip";
+else
+ myecho 2+ " not clipping pages (anything outside bounding box will be displayed)";
+ myecho 2+ " (pages may overlap)";
+ CLIPOPT="";
+fi
+
+
+## output file name
+if [[ ! -e $file && `basename $file .pdf` == $file ]]; then
+ myecho 2+ " changing file name '$file' to '$file.pdf'";
+ file="$file.pdf";
+fi;
+
+
+
+## special case: if booklet, we force the numbers of rows and cols
if [[ $BOOKLET != 0 ]]; then
if [[ $COLS != 2 || $ROWS != 1 || $LANDSC == 0 ]]; then
- echo "forcing booklet mode: 2 cols, 1 row, landscape";
+ echo " forcing booklet mode: 2 columns, 1 row, landscape mode";
COLS=2; ROWS=1; LANDSC=1;
fi
fi
-firstp=1;
-lastp=$nbp;
-if [[ $PAGES =~ ([0-9]+|[0-9]*-[0-9]*) ]]; then
- BB[$nbBB]=$PAGES;
- eval nbBB=$(( nbBB+1 ));
- case $PAGES in
- -)
- firstp=1;
- lastp=$nbp;;
- +([0-9]))
- firstp=${PAGES};
- lastp=${PAGES};;
- -+([0-9]))
- firstp=1;
- lastp=${PAGES:1};;
- +([0-9])-)
- firstp=${PAGES::-1};
- lastp=$nbp;;
- +([0-9])-+([0-9]))
- firstp=${PAGES%-*};
- lastp=${PAGES#*-};;
- esac
-fi
-if [[ $nbBB == 0 ]]; then
- BB[$nbBB]=$dfpdfxupBB;
- nbBB=1;
-fi
-if [[ $nbNOBB == 0 ]]; then
- NOBB[0]="";
+## check watermarking file
+nbwp=1; ## set even if no watemark
+if [[ $WATERMARK != "" ]]; then
+ if [[ ! -e $WATERMARK ]]; then
+ myecho 1+ " pdfxup: watermarking file not found. Omiting watermarking."
+ else
+ myecho 2+ " * using file $WATERMARK for watermarking";
+ if [[ `file -b $WATERMARK | grep "PDF"` ]]; then
+ ## get number of pages of WATERMARK (PDF) file
+ nbwp=`$GS -sDEVICE=bbox -dNOPAUSE -dQUIET -c "($WATERMARK) (r) file runpdfbegin pdfpagecount = quit"`
+ if [[ $WATERMARKPERIOD -gt $nbwp || $WATERMARKPERIOD -lt 1 ]]; then
+ WATERMARKPERIOD=$nbwp;
+ fi
+ fi
+ fi
fi
-
-if [[ $SBB == 0 ]]; then
- myecho 1+ -n "-> computing bounding box";
- myecho 2+ "";
-
- x=$x0
- y=$y0
- w=$w0
- h=$h0
- curr=0
- page=0
-
-# $GS -dNOPAUSE -dSAFER -dQUIET -dBATCH -sDEVICE=bbox $file 2>&1 |\
-# grep "%%BoundingBox" |\
-# sed "s/^.*Box: //" > $filename-bb.txt
-# for i in `cat $filename-bb.txt`; do
-# case $curr in
-# 0)
-# thisx=$i;
-# #if [[ $x -gt $i ]]; then x=$i; fi
-# ;;
-# 1)
-# thisy=$i;
-# #if [[ $y -gt $i ]]; then y=$i; fi
-# ;;
-# 2)
-# thisw=$i;
-# #if [[ $w -lt $i ]]; then w=$i; fi
-# ;;
-# 3)
-# thish=$i;
-# #if [[ $h -lt $i ]]; then h=$i; fi
-# if [[ $x -lt 0 || $x -gt $thisx && $thisx+$thisw -gt 0 ]]; then x=$thisx; fi
-# if [[ $y -lt 0 || $y -gt $thisy && $thisy+$thish -gt 0 ]]; then y=$thisy; fi
-# if [[ $w -lt 0 || $w -lt $thisw && $thisx+$thisw -gt 0 ]]; then w=$thisw; fi
-# if [[ $h -lt 0 || $h -lt $thish && $thisy+$thish -gt 0 ]]; then h=$thish; fi
-# ;;
-# esac
-# eval curr=$(( (curr+1) % 4 ));
-# done
-# rm $filename-bb.txt
-
- for (( b=0; b<$nbBB; b++ ))
- do
- case ${BB[$b]} in
- -)
- first=1;
- last=$nbp;;
- +([0-9]))
- first=${BB[$b]};
- last=${BB[$b]};;
- -+([0-9]))
- first=1;
- last=${BB[$b]:1};;
- +([0-9])-)
- first=${BB[$b]::-1};
- last=$nbp;;
- +([0-9])-+([0-9]))
- first=${BB[$b]%-*};
- last=${BB[$b]#*-};;
- esac
- myecho 3+ " > $GS -dNOPAUSE -dSAFER -dQUIET -dBATCH -dFirstPage=$first -dLastPage=$last -sDEVICE=bbox $file"
- $GS -dNOPAUSE -dSAFER -dQUIET -dBATCH -dFirstPage=$first -dLastPage=$last -sDEVICE=bbox $file 2>&1 |
- while IFS= read -r line; do
- bbox=`echo $line | grep "%%BoundingBox" | sed "s/^.*Box: //"`;
- if [[ $bbox != "" ]]; then
- for i in `echo $line | grep "%%BoundingBox" | sed "s/^.*Box: //"`; do
- if [[ $curr == 0 ]]; then
- eval page=$(( page+1 ));
- fi
- case $curr in
- 0)
- thisx=$i;
- #if [[ $x -gt $i ]]; then x=$i; fi
- ;;
- 1)
- thisy=$i;
- #if [[ $y -gt $i ]]; then y=$i; fi
- ;;
- 2)
- thisw=$i;
- #if [[ $w -lt $i ]]; then w=$i; fi
- ;;
- 3)
- thish=$i;
- #if [[ $h -lt $i ]]; then h=$i; fi
- testrange $page NOBB[@] $nbNOBB
- if [ $in == 0 ]; then
- if [[ $x -lt 0 || $x -gt $thisx && $thisx+$thisw -gt 0 ]]; then x=$thisx; fi
- if [[ $y -lt 0 || $y -gt $thisy && $thisy+$thish -gt 0 ]]; then y=$thisy; fi
- if [[ $w -lt 0 || $w -lt $thisw && $thisx+$thisw -gt 0 ]]; then w=$thisw; fi
- if [[ $h -lt 0 || $h -lt $thish && $thisy+$thish -gt 0 ]]; then h=$thish; fi
- myecho 1 -n "."
- myecho 2 -ne " bbox: x=$x y=$y X=$w Y=$h (page $page) \\r";
- myecho 3+ " bbox: x=$x y=$y X=$w Y=$h (page $page) ";
+## start computing bounding box
+x=$x0
+y=$y0
+w=$w0
+h=$h0
+curr=0
+page=0
+step=0
+
+if [[ $KBB == 0 ]]; then
+ if [[ $SBB == 0 ]]; then
+ myecho 1+ -n "-> computing bounding box";
+ myecho 2+ "";
+
+ for r in ${BB//,/$IFS};
+ do
+ case $r in
+ +([0-9]))
+ first=$r;
+ last=$r;;
+ -+([0-9]))
+ first=1;
+ last=`echo $r|tr -d -`;;
+ +([0-9])-)
+ first=`echo $r|tr -d -`;
+ last=$nbp;;
+ +([0-9])-+([0-9]))
+ first=`echo $r|cut -d- -f1`;
+ last=`echo $r|cut -d- -f2`;;
+ -)
+ first=1;
+ last=$nbp;;
+ esac
+ myecho 2+ " * $GS -dNOPAUSE -dSAFER -dQUIET -dBATCH -dFirstPage=$first -dLastPage=$last -sDEVICE=bbox $file"
+ $GS -dNOPAUSE -dSAFER -dQUIET -dBATCH -dFirstPage=$first -dLastPage=$last -sDEVICE=bbox $file 2>&1 |
+ while IFS= read -r line; do
+ bbox=`echo $line | grep "%%BoundingBox" | sed "s/^.*Box: //"`;
+ if [[ $bbox != "" ]]; then
+ for i in `echo $line | grep "%%BoundingBox" | sed "s/^.*Box: //"`; do
+ if [[ $curr == 0 ]]; then
+ eval page=$(( page+1 ));
fi
- ;;
- esac
- eval curr=$(( (curr+1) % 4 ));
- done
- fi
- done;
- done;
-else
- x=$BBX;
- y=$BBY;
- w=$BBW;
- h=$BBH;
+ case $curr in
+ 0)
+ thisx=$i;
+ #if [[ $x -gt $i ]]; then x=$i; fi
+ ;;
+ 1)
+ thisy=$i;
+ #if [[ $y -gt $i ]]; then y=$i; fi
+ ;;
+ 2)
+ thisw=$i;
+ #if [[ $w -lt $i ]]; then w=$i; fi
+ ;;
+ 3)
+ thish=$i;
+ #if [[ $h -lt $i ]]; then h=$i; fi
+ ifinrangelist $page $NOBB;
+ if [ $in == 0 ]; then
+ eval step=$(( step+1 ));
+ if [[ $x -lt 0 || $x -gt $thisx && $thisx+$thisw -gt 0 ]]; then x=$thisx; fi
+ if [[ $y -lt 0 || $y -gt $thisy && $thisy+$thish -gt 0 ]]; then y=$thisy; fi
+ if [[ $w -lt 0 || $w -lt $thisw && $thisx+$thisw -gt 0 ]]; then w=$thisw; fi
+ if [[ $h -lt 0 || $h -lt $thish && $thisy+$thish -gt 0 ]]; then h=$thish; fi
+ myecho 1 -n "."
+ myecho 2 -ne " bbox: x=$x y=$y X=$w Y=$h (step $step) \\r";
+ myecho 3+ " bbox: x=$x y=$y X=$w Y=$h (step $step) ";
+ fi
+ ;;
+ esac
+ eval curr=$(( (curr+1) % 4 ));
+ done
+ fi
+ done;
+ done;
+ else
+ x=$BBX;
+ y=$BBY;
+ w=$BBW;
+ h=$BBH;
+ fi
fi
-if [[ $x -eq $x0 &&
+EMPTYBB=$KBB;
+if [[ $KBB == 0 && $x -eq $x0 &&
$y -eq $y0 &&
$h -eq $h0 &&
- $w -eq $w0 ]]; then
- echo "empty bounding box; aborting."
- exit 1;
+ $w -eq $w0 ]]; then
+ myecho 1+ "";
+ myecho 1+ " * empty bounding box; keeping original margins";
+ EMPTYBB=1;
+ #exit 1;
fi
-if [[ $SBB == 0 ]]; then
+if [[ $SBB == 0 && $EMPTYBB == 0 ]]; then
myecho 1 -n "."
- myecho 2+ -ne " bbox: x=$x y=$y X=$w Y=$h (final) \\r";
-
+ myecho 2+ -ne " bbox: x=$x y=$y X=$w Y=$h (final) \\r";
+ myecho 3+ "";
+ myecho 3+ -ne " (processed $page pages) \\r";
myecho 1+ "";
fi
if [[ $GBB != 0 ]]; then
- myecho 1 "-> final bounding box: x=$x y=$y X=$w Y=$h";
+ myecho 1+ " final bounding box: x=$x y=$y X=$w Y=$h";
exit 0;
fi
+
+## compute options to pass to \includegraphics
IHM=${IHM%pt};
IVM=${IVM%pt};
-eval x=$((x-IHM))
-eval y=$((y-IVM))
-eval w=$((w+IHM))
-eval h=$((h+IVM))
-
-
+if [[ $EMPTYBB -eq 0 ]]; then
+ eval x=$((x-IHM))
+ eval y=$((y-IVM))
+ eval w=$((w+IHM))
+ eval h=$((h+IVM))
+ BBOPTION="viewport=$x $y $w $h";
+else
+ BBOPTION="trim=-$IHM -$IVM -$IHM -$IVM";
+fi
+## start writing .tex file
cat > $filename.tex <\value{curroutpage} \do%
@@ -933,6 +1221,7 @@
\global\stepcounter{currcol}%
\global\stepcounter{currpage}%
\ifnum\value{currpage}>\value{lastpage}\else
+ %% computing page number corresponding to \currline and \currcol
\setcounter{realout}{\value{currpage}}%
\def\ang{0}%
\ifbooklet
@@ -981,12 +1270,40 @@
\fi
\fi
\fi
- \ifnum\value{realout}>$lastp
+ \ifnum\value{realout}>$nbpages\relax
+ %% if page above nb of pages, output blank page
\hskip\hresult\hskip2\fboxrule
- \else\fbox{\hbox to \hresult{\hfill
- \expandafter\includegraphics\expandafter[viewport=$x $y $w $h,%
+ \else
+ %% otherwise compute corresponding page to display
+ %% first keep realout for watermarking...
+ \setcounter{wmoutaux}{\value{realout}}%
+ \setcounter{wmout}{\value{realout}}%
+ \nthvalue{\value{realout}}{\pagelist}%
+ \iffound\setcounter{realout}{\value{result}}%
+ \else %% hmmm... problem
+ \message{I'm messed up counting pages...}%
+ \fi
+ %% compute watermarking page (should be original realout?)
+ \ifx\watermark\@empty\else
+ \ifnum$nbwp<\value{wmoutaux}\relax
+ \addtocounter{wmoutaux}{-$nbwp}%
+ \addtocounter{wmoutaux}{-1}%
+ \divide\c@wmoutaux by $WATERMARKPERIOD\relax
+ \stepcounter{wmoutaux}%
+ \multiply\c@wmoutaux by $WATERMARKPERIOD\relax
+ \addtocounter{wmout}{-\value{wmoutaux}}%
+ \fi
+ \vbox to \vresult{\vfill
+ \hbox to 0pt{\hfill
+ \expandafter\includegraphics\expandafter[keepaspectratio,%
+ height=\vresult,width=\hresult,angle=\ang,%
+ page=\value{wmout}$CLIPOPT]{$WATERMARK}\hss}\vfill}%
+ \fi
+ \fbox{\vbox to \vresult{\vfill
+ \hbox to \hresult{\hfill
+ \expandafter\includegraphics\expandafter[$BBOPTION,%
keepaspectratio,height=\vresult,width=\hresult,angle=\ang,%
- page=\value{realout}]{\file}\hfill}}%
+ page=\value{realout}$CLIPOPT]{\file}\hfill}\vfill}}%
\fi
\fi}}%
\clearpage%
@@ -998,17 +1315,30 @@
myecho 1+ "-> producing final file";
case $VERB in
0|1|2)
- $PDFLATEX -interaction=batchmode $filename.tex > /dev/null 2>&1;;
+ myecho 2+ " * $PDFLATEX -interaction=nonstopmode $filename.tex"
+ $PDFLATEX -interaction=batchmode $filename.tex > /dev/null 2>&1 || \
+ LATEXFAILED=1;;
*)
- myecho 3+ " > $PDFLATEX -interaction=nonstopmode $filename.tex"
- $PDFLATEX -interaction=nonstopmode $filename.tex;;
+ myecho 3+ " * $PDFLATEX -interaction=nonstopmode $filename.tex"
+ $PDFLATEX -interaction=nonstopmode $filename.tex || LATEXFAILED=1;;
esac
-myecho 1+ " final scale: "`cat $filename.scl | sed -e "s/pt$//"`"%";
+if [[ $LATEXFAILED -eq 1 ]]; then
+ myecho 1+ ": failed!"
+ if [[ $DEBUG == 0 ]]; then
+ myecho 1+ "-> cleaning";
+ myecho 2+ " * rm $RMopt $filename.*"
+ rm $RMopt $filename.*
+ fi
+ exit 0;
+fi
+if [[ $EMPTYBB -eq 0 ]]; then
+ myecho 1+ " final scale: "`cat $filename.scl | sed -e "s/pt$//"`"%"
+fi
+myecho 2+ " * mv $MVopt $filename.pdf $OUTF"
+mv $MVopt $filename.pdf $OUTF
if [[ $DEBUG == 0 ]]; then
myecho 1+ "-> cleaning";
- myecho 3+ " > mv $MVopt $filename.pdf $OUTF"
- mv $MVopt $filename.pdf $OUTF
- myecho 3+ " > rm $RMopt $filename.*"
+ myecho 2+ " * rm $RMopt $filename.*"
rm $RMopt $filename.*
fi
@@ -1046,16 +1376,18 @@
either the 'long-edge' or the 'short edge' of the paper.
'long-edge' seems to be the most commonly used, but using
'-b se' while produce a PDF booklet for 'short-edge'
- 2-sided printing.
- * '-p' can be used to only consider a range of pages of the
- input file. We do not handle unions of page ranges, so that
- only the last occurrence of '-p' will be used. The
- restriction applies both for the computation of the
- bounding box (and is compatible with the options '-bb' and
- '-nobb' below) and for creating the final document.
- Alternatively to '-p', the page range can be specified
- after the file name, writing 'file.pdf:n-m' in place of
- '-p n-m'.
+ 2-sided printing.
+ * '-c' clips pages to their bounding box: this is set by
+ default, so that any content outside bounding box will be
+ lost. Using "-c 0", anything outside the bounding box will
+ be displayed, and may overlap neighbouring pages.
+ * '-p' can be used to only consider a set of pages of the
+ input file. The set of pages to include is a comma-
+ separated list of pages, ranges of pages of the form
+ 'm-n', or sets of pages of the form "0%2" (all even-
+ numbered pages). Alternatively to '-p', the page range
+ can be specified after the file name, writing
+ 'file.pdf:<list>' in place of '-p <list>'.
* '-bb' can be used to list the pages to be taken into
account when computing the bounding box. This is
especially useful for large documents, because computing the
@@ -1078,3 +1410,39 @@
its included page.
* margins: margins of the final document
* spacing: spacing between frames
+ * '-w file' can be used to add watermarking to all pages. The
+ file can be anything that pdflatex can handle (eg. png, pdf).
+ If it is a PDF with several pages, page n of the watermarking
+ file will be used with page n of the input file. By default,
+ the last page will be repeated if the input file has more
+ pages than the watermarking file. This behaviour can be
+ modified with the '-wp n' options, which asks to repeat the
+ last n pages instead of only the last one. Setting `-wp 0`
+ will repeat all the pages of the watermarking file.
+
+##################################################################
+##
+## Examples
+##
+##################################################################
+
+# pdfxup file.pdf
+ -> creates pdfxup.pdf from file.pdf with default options
+ (2-up, margins=5mm)
+# pdfxup -bb 1-4 file.pdf
+ -> same behaviour, but computes the bounding box only using the
+ first 4 pages
+ (this saves time when processing long documents)
+# pdfxup -b file.pdf
+ -> same behaviour, but creates a booklet
+# pdfxup -kbb -b -o booklet.pdf file.pdf:3-25
+ -> creates a booklet from pages 3-25 of file.pdf, without
+ reducing margins (option '-kbb' disables bounding-box
+ computation; equivalent to e.g. '-bb 0');
+ name the resulting file booklet.pdf.
+# pdfxup -kbb -x1 -y2 -l0 beamer-frames.pdf
+ -> arranges 2 beamer frames per page (not reducing margins)
+# pdfxup -kbb -x2 -y2 -l1 beamer-frames.pdf
+ -> arranges 4 beamer frames per page (not reducing margins)
+# pdfxup -fw0 -w draft.png file.pdf
+ -> remove frame border; add 'draft' watermarking on all pages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pdfxup.tlpobj new/tlpkg/tlpobj/pdfxup.tlpobj
--- old/tlpkg/tlpobj/pdfxup.tlpobj 2019-02-28 03:59:10.000000000 +0100
+++ new/tlpkg/tlpobj/pdfxup.tlpobj 2020-01-08 01:54:32.000000000 +0100
@@ -1,15 +1,17 @@
name pdfxup
category Package
-revision 40690
+revision 53345
shortdesc Create n-up PDF pages with minimal margins
-longdesc pdfxup is a unix/linux shell script that creates a PDF document
+longdesc pdfxup is a Unix/Linux shell script that creates a PDF document
longdesc where each page is obtained by combining several pages of a PDF
-longdesc file given as output.
+longdesc file given as output. pdfxup uses ghostscript for computing the
+longdesc maximal bounding box of (some of) the pages of the document,
+longdesc and then uses pdflatex (with the graphicx package) in order to
+longdesc produce the new document.
depend pdfxup.ARCH
-runfiles size=7
+runfiles size=10
texmf-dist/scripts/pdfxup/pdfxup
catalogue-ctan /support/pdfxup
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics pdfprocess
-catalogue-version 1.30
+catalogue-version 1.51
++++++ perfectcut.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/perfectcut/README new/doc/latex/perfectcut/README
--- old/doc/latex/perfectcut/README 2017-05-03 23:29:26.000000000 +0200
+++ new/doc/latex/perfectcut/README 2019-07-26 22:48:47.000000000 +0200
@@ -16,6 +16,8 @@
Release notes:
+ 2.3 07/17: * When using scalerel, only use \ThisStyle for the outermost
+ command due to performance issues.
2.2 04/17: * By default, use the scalerel package instead of the mathstyle
package to compute the nested mathstyle.
* The option nomathstyle and the command \cutstyle are
@@ -28,10 +30,10 @@
2.0 11/14: * The package now offers general-purpose commands for
defining arbitrary nested delimiters that consistently
grow regardless of the contents (\perfectunary and
- \perfectbinary)
+ \perfectbinary)
* Added the behaviours CurrentHeight and
CurrentHeightPlusOne alongside the existing behaviour
- IncreaseHeight.
+ IncreaseHeight.
* Added the stock commands \perfectcase, \perfectparens,
and \perfectbrackets intended for use in the context
of abstract-machine-like calculi.
@@ -51,7 +53,7 @@
Author: Guillaume Munch-Maccagnoni
-https://github.com/gadmm/perfectcut
+https://gitlab.com/gadmm/perfectcut
This work may be distributed and/or modified under the conditions of
Binary files old/doc/latex/perfectcut/perfectcut.pdf and new/doc/latex/perfectcut/perfectcut.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/perfectcut/perfectcut.tex new/doc/latex/perfectcut/perfectcut.tex
--- old/doc/latex/perfectcut/perfectcut.tex 2017-05-03 23:29:26.000000000 +0200
+++ new/doc/latex/perfectcut/perfectcut.tex 2019-07-26 22:48:47.000000000 +0200
@@ -2,7 +2,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
%%% Author: Guillaume Munch-Maccagnoni
-%%% https://github.com/gadmm/perfectcut
+%%% https://gitlab.com/gadmm/perfectcut
%%%
%%% This work may be distributed and/or modified under the conditions of
%%% the LaTeX Project Public License, either version 1.3 of this license
@@ -30,11 +30,12 @@
\global\long\def\mt{\bar{\mu}}
+
\title{\texttt{perfectcut.sty} documentation}
-\author{\noindent {\large{}Guillaume Munch-Maccagnoni}\thanks{\protect\href{https://github.com/gadmm/perfectcut}{https://github.com/gadmm/perfectcut}}}
+\author{\noindent {\large{}Guillaume Munch-Maccagnoni}\thanks{\protect\href{https://gitlab.com/gadmm/perfectcut}{https://gitlab.com/gadmm/perfectcut}}}
-\date{23rd April 2017}
+\date{3rd September 2017}
\maketitle
@@ -117,7 +118,7 @@
\subsection{Using \texttt{\textbackslash left}, \texttt{\textbackslash middle}
and \texttt{\textbackslash right} instead}
-\global\long\def\fakecut#1#2{\left\langle #1\middle|\mkern-2mu \middle|#2\right\rangle }
+\global\long\def\fakecut#1#2{\left\langle #1\middle|\mkern-2mu \middle|#2\right\rangle }
\noindent \texttt{\footnotesize{}\textbackslash renewcommand\{\textbackslash cut\}{[}2{]}\{\textbackslash left\textbackslash langle
\#1\textbackslash middle|\textbackslash mkern-2mu\textbackslash middle|\#2\textbackslash right\textbackslash rangle\}}
@@ -168,9 +169,9 @@
sized if there are other \texttt{\textbackslash perfectcommands}
inside \texttt{\#1} and \texttt{\#2}.\medskip{}
-\texttt{\footnotesize{}\textbackslash def\textbackslash Set\#1\#2\{\textbackslash perfectbinary\{IncreaseHeight\}\textbackslash\{|\textbackslash\}\{\#1\textbackslash mathrel\{\}\}\{\textbackslash mathrel\{\}\#2\}\}}{\footnotesize \par}
+\texttt{\footnotesize{}\textbackslash def\textbackslash Set\#1\#2\{\textbackslash perfectbinary\{IncreaseHeight\}\textbackslash\{|\textbackslash\}\{\#1\textbackslash mathrel\{\}\}\{\textbackslash mathrel\{\}\#2\}\}}{\footnotesize\par}
-\texttt{\footnotesize{}\textbackslash{[}\textbackslash Set\{\textbackslash perfectparens\{a\}\}\{\textbackslash perfectparens\{b\}\}\textbackslash{]}}{\footnotesize \par}
+\texttt{\footnotesize{}\textbackslash{[}\textbackslash Set\{\textbackslash perfectparens\{a\}\}\{\textbackslash perfectparens\{b\}\}\textbackslash{]}}{\footnotesize\par}
\def\Set#1#2{\perfectbinary{IncreaseHeight}\{|\}{#1\mathrel{}}{\mathrel{}#2}}
@@ -178,6 +179,7 @@
\fbox{\ensuremath{\Set{\perfectparens{a}}{\perfectparens{b}}}}
\]
+
\subsection{Custom delimiters}
\begin{description}
\item [{\texttt{\textbackslash perfectunary\#1\#2\#3\#4}}] Displays \texttt{\#2}
@@ -221,10 +223,16 @@
With this option, the command \texttt{\textbackslash currentmathstyle}
from the package \texttt{mathstyle} is used instead of the command
\texttt{\textbackslash ThisStyle} from the \texttt{scalerel} package.
-The latter (default) uses \texttt{\textbackslash mathchoice} which
-has exponential time complexity in the number of nestings. The former
-does not use \texttt{\textbackslash mathchoice} but redefines many
-primitives and is therefore a source of incompatibilities.
+The latter (default) uses \texttt{\textbackslash mathchoice}, and
+in order to avoid an exponential time complexity in the number of
+nestings, it is only called for the outermost command. Concretely,
+with \texttt{mathstyle}, math style changes are taken into account
+both inside and outside of \texttt{\textbackslash perfectcommands},
+whereas without it, changes in math style are not obeyed inside a
+command. Moreover, using the \texttt{mathstyle} option speeds up compilation.
+The downside of using \texttt{mathstyle} is that it redefines many
+standard math commands, and is therefore a source of incompatibilities,
+notably with \texttt{xypic}.
\subsection{Option \texttt{realVert}}
@@ -294,15 +302,16 @@
\subsection{Example with \texttt{\textbackslash nthleft}}
-\texttt{\footnotesize{}\textbackslash nrthleft0(\textbackslash nthleft1(\textbackslash nthleft2(\textbackslash nthleft3(\textbackslash nthleft4(\textbackslash nthleft5(\textbackslash nthleft6(}{\footnotesize \par}
+\texttt{\footnotesize{}\textbackslash nrthleft0(\textbackslash nthleft1(\textbackslash nthleft2(\textbackslash nthleft3(\textbackslash nthleft4(\textbackslash nthleft5(\textbackslash nthleft6(}{\footnotesize\par}
\[
\nthleft0(\nthleft1(\nthleft2(\nthleft3(\nthleft4(\nthleft5(\nthleft6(
\]
+
\subsection{Example with \texttt{\textbackslash big},\texttt{\textbackslash Big},\texttt{\textbackslash bigg},\texttt{\textbackslash Bigg}}
-\texttt{\footnotesize{}(\textbackslash big(\textbackslash Big(\textbackslash bigg(\textbackslash Bigg(}{\footnotesize \par}
+\texttt{\footnotesize{}(\textbackslash big(\textbackslash Big(\textbackslash bigg(\textbackslash Bigg(}{\footnotesize\par}
\[
(\big(\Big(\bigg(\Bigg(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/perfectcut.doc.tlpobj new/tlpkg/tlpobj/perfectcut.doc.tlpobj
--- old/tlpkg/tlpobj/perfectcut.doc.tlpobj 2019-02-28 03:59:12.000000000 +0100
+++ new/tlpkg/tlpobj/perfectcut.doc.tlpobj 2020-03-04 23:53:12.000000000 +0100
@@ -1,9 +1,9 @@
name perfectcut.doc
category Package
-revision 44175
+revision 54080
shortdesc doc files of perfectcut
relocated 1
-docfiles size=50
+docfiles size=45
RELOC/doc/latex/perfectcut/README
RELOC/doc/latex/perfectcut/perfectcut.pdf
RELOC/doc/latex/perfectcut/perfectcut.tex
++++++ perfectcut.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/perfectcut/perfectcut.sty new/tex/latex/perfectcut/perfectcut.sty
--- old/tex/latex/perfectcut/perfectcut.sty 2017-05-03 23:29:26.000000000 +0200
+++ new/tex/latex/perfectcut/perfectcut.sty 2019-07-26 22:48:47.000000000 +0200
@@ -9,7 +9,7 @@
%%% or (at your option) any later version. Refer to the README file.
%%%
%%%
-\ProvidesPackage{perfectcut}[04/22/2017 Perfect Cut v2.2]
+\ProvidesPackage{perfectcut}[06/23/2017 Perfect Cut v2.3]
%%% Option processing
\newif\ifcut@mathstyle@
\cut@mathstyle@false
@@ -32,7 +32,7 @@
\newmuskip\cutcasebarskip
\newif\ifcutdebug
%%% Exported commands
-%%See end of file for a more detailed description of the commands
+%%See end of file for a more detailed description of the commands
\newcommand{\perfectcut}[2]{\cut@{#1}{#2}}%% displays <#1||#2>
\newcommand{\perfectbra}[1]{\cut@bra{#1}}%% displays <#1|
\newcommand{\perfectket}[1]{\cut@ket{#1}}%% displays |#2>
@@ -89,7 +89,7 @@
\def\cut@setcurrentcutstyle{}
\else
\RequirePackage{scalerel}
- \def\cut@setcurrentcutstyle{\ThisStyle}
+ \def\cut@setcurrentcutstyle#1{{\ThisStyle{\let\ThisStyle\relax#1}}}
\def\cut@currentcutstyle{\SavedStyle}
\fi
@@ -250,7 +250,7 @@
%% Displays #1#2#3#4#5. Arguments #2 and #4 can contain other cut primitives.
%% Does not increase the current height computed by cut primitives inside #2
-%% and #4.
+%% and #4.
%% Arguments #1, #3 and #5 can access the current height in two different
%% forms via \cut@n and \count0.
\newcommand{\cut@computeBinary@CurrentHeight}[5]{\cut@setcurrentcutstyle{%
@@ -274,7 +274,7 @@
%% Displays #1#2#3#4#5. Arguments #2 and #4 can contain other cut primitives.
%% Does not increase the current height computed by cut primitives inside #2
-%% and #4 but the height to display is increased by 1.
+%% and #4 but the height to display is increased by 1.
%% Arguments #1, #3 and #5 can access the height height in two different
%% forms via \cut@n and \count0.
\newcommand{\cut@computeBinary@CurrentHeightPlusOne}[5]{\cut@setcurrentcutstyle{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/perfectcut.tlpobj new/tlpkg/tlpobj/perfectcut.tlpobj
--- old/tlpkg/tlpobj/perfectcut.tlpobj 2019-02-28 03:59:12.000000000 +0100
+++ new/tlpkg/tlpobj/perfectcut.tlpobj 2020-03-04 23:53:12.000000000 +0100
@@ -1,26 +1,25 @@
name perfectcut
category Package
-revision 44175
-shortdesc Delimiters whose size adjusts to the nesting
+revision 54080
+shortdesc Nested delimiters that consistently grow regardless of the contents
relocated 1
longdesc This package defines the command \perfectcut#1#2 which displays
-longdesc a bracket <#1||#2>. Various delimiters are similarly defined.
-longdesc The effect of these commands is to let the delimiters grow
-longdesc according to the number of nested \perfectcommands (regardless
-longdesc of the size of the contents). The package is originally
-longdesc intended for solving a notational issue regarding the
-longdesc representation of abstract-machine-like calculi in proof theory
-longdesc and computer science. For general use, the package also defines
-longdesc commands for defining custom delimiters that behave in the same
-longdesc way. This package also offers a sound reimplementation of \big,
-longdesc \bigg, etc.
+longdesc a bracket <#1||#2>. Various other delimiters are similarly
+longdesc defined (parentheses, square brackets ...). The effect of these
+longdesc commands is to let the delimiters grow according to the number
+longdesc of nested \perfectcommands (regardless of the size of the
+longdesc contents). The package was originally intended for solving a
+longdesc notational issue for direct-style continuation calculi in proof
+longdesc theory. For general use, the package also defines commands for
+longdesc defining other sorts of delimiters which will behave in the
+longdesc same way (see example in the documentation). The package also
+longdesc offers a robust reimplementation of \big, \bigg, etc.
runfiles size=5
RELOC/tex/latex/perfectcut/perfectcut.sty
-catalogue-contact-bugs https://github.com/gadmm/perfectcut/issues
-catalogue-contact-home https://github.com/gadmm/perfectcut
-catalogue-contact-repository https://github.com/gadmm/perfectcut.git
+catalogue-contact-bugs https://gitlab.com/gadmm/perfectcut/issues
+catalogue-contact-home https://gitlab.com/gadmm/perfectcut
+catalogue-contact-repository https://gitlab.com/gadmm/perfectcut.git
catalogue-ctan /macros/latex/contrib/perfectcut
-catalogue-date 2017-05-03 14:02:24 +0200
catalogue-license lppl1.3
-catalogue-topics paren-mgmt comp-theory
-catalogue-version 2.2
+catalogue-topics paren-mgmt comp-theory maths
+catalogue-version 2.3
++++++ perltex.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/perltex/README new/texmf-dist/doc/latex/perltex/README
--- old/texmf-dist/doc/latex/perltex/README 2010-09-13 18:20:48.000000000 +0200
+++ new/texmf-dist/doc/latex/perltex/README 2019-09-23 22:58:21.000000000 +0200
@@ -42,7 +42,7 @@
License
-------
-Copyright (C) 2010 Scott Pakin
+Copyright (C) 2003-2019 Scott Pakin
These files may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/latex/perltex/example.tex new/texmf-dist/doc/latex/perltex/example.tex
--- old/texmf-dist/doc/latex/perltex/example.tex 2010-09-13 18:20:48.000000000 +0200
+++ new/texmf-dist/doc/latex/perltex/example.tex 2019-09-23 22:58:21.000000000 +0200
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2010 Scott Pakin
+%% Copyright (C) 2003-2019 Scott Pakin
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
Binary files old/texmf-dist/doc/latex/perltex/perltex.pdf and new/texmf-dist/doc/latex/perltex/perltex.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/perltex.1 new/texmf-dist/doc/man/man1/perltex.1
--- old/texmf-dist/doc/man/man1/perltex.1 2010-09-13 18:20:48.000000000 +0200
+++ new/texmf-dist/doc/man/man1/perltex.1 2019-09-23 22:58:21.000000000 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -38,27 +38,36 @@
. ds PI \(*p
. ds L" ``
. ds R" ''
+. ds C`
+. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
-.ie \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
..
-. nr % 0
-. rr F
-.\}
-.el \{\
-. de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
.\}
+.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
@@ -124,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "PERLTEX 1"
-.TH PERLTEX 1 "2010-07-10" "v2.1" " "
+.TH PERLTEX 1 "2019-09-15" "v2.2" " "
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -240,7 +249,7 @@
Specify the filename of the LaTeX compiler. The LaTeX compiler
defaults to ``\f(CW\*(C`latex\*(C'\fR''. The \f(CW\*(C`PERLTEX\*(C'\fR environment variable
overrides this default, and the \fB\-\-latex\fR command-line option (see
-\&\*(L"\s-1OPTIONS\s0\*(R") overrides that.
+\&\*(L"\s-1OPTIONS\*(R"\s0) overrides that.
.SH "FILES"
.IX Header "FILES"
While compiling \fIjobname.tex\fR, \fBperltex\fR makes use of the following
@@ -274,7 +283,7 @@
\&\fBperltex\fR's sandbox defaults to what Opcode calls ``\f(CW\*(C`:browse\*(C'\fR''.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
-\&\fIlatex\fR\|(1), \fIpdflatex\fR\|(1), \fIperl\fR\|(1), \fISafe\fR\|(3pm), \fIOpcode\fR\|(3pm)
+\&\fBlatex\fR\|(1), \fBpdflatex\fR\|(1), \fBperl\fR\|(1), \fBSafe\fR\|(3pm), \fBOpcode\fR\|(3pm)
.SH "AUTHOR"
.IX Header "AUTHOR"
Scott Pakin, \fIscott+pt@pakin.org\fR
Binary files old/texmf-dist/doc/man/man1/perltex.man1.pdf and new/texmf-dist/doc/man/man1/perltex.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/perltex.doc.tlpobj new/tlpkg/tlpobj/perltex.doc.tlpobj
--- old/tlpkg/tlpobj/perltex.doc.tlpobj 2019-02-28 03:59:12.000000000 +0100
+++ new/tlpkg/tlpobj/perltex.doc.tlpobj 2019-09-24 01:53:49.000000000 +0200
@@ -1,8 +1,8 @@
name perltex.doc
category Package
-revision 38719
+revision 52162
shortdesc doc files of perltex
-docfiles size=90
+docfiles size=83
texmf-dist/doc/latex/perltex/README
texmf-dist/doc/latex/perltex/example.tex
texmf-dist/doc/latex/perltex/perltex.pdf
++++++ perltex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/perltex/perltex.pl new/texmf-dist/scripts/perltex/perltex.pl
--- old/texmf-dist/scripts/perltex/perltex.pl 2010-09-13 18:20:48.000000000 +0200
+++ new/texmf-dist/scripts/perltex/perltex.pl 2019-09-23 22:58:21.000000000 +0200
@@ -15,7 +15,7 @@
#
# This is a generated file.
#
-# Copyright (C) 2010 Scott Pakin
+# Copyright (C) 2003-2019 Scott Pakin
#
# This file may be distributed and/or modified under the conditions
# of the LaTeX Project Public License, either version 1.3c of this
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/tex/latex/perltex/perltex.sty new/texmf-dist/tex/latex/perltex/perltex.sty
--- old/texmf-dist/tex/latex/perltex/perltex.sty 2010-09-13 18:20:48.000000000 +0200
+++ new/texmf-dist/tex/latex/perltex/perltex.sty 2019-09-23 22:58:21.000000000 +0200
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2010 Scott Pakin
+%% Copyright (C) 2003-2019 Scott Pakin
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
@@ -22,12 +22,14 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{perltex}
- [2010/07/10 v2.1 LaTeX macros for use with PerlTeX]
-\newif\ifplmac@required \plmac@requiredtrue
-\DeclareOption{optional}{\plmac@requiredfalse} \ProcessOptions\relax
+ [2019/09/14 v2.2 LaTeX macros for use with PerlTeX]
+\newif\ifplmac@required
+\plmac@requiredtrue
+\DeclareOption{optional}{\plmac@requiredfalse}
+\ProcessOptions\relax
\newif\ifperl
\perltrue
-\@ifundefined{plmac@tag}{\perlfalse}{}
+\@ifundefined{plmac@tag}{\perlfalse\let\plmac@tag=\relax}{}
\@ifundefined{plmac@tofile}{\perlfalse}{}
\@ifundefined{plmac@fromfile}{\perlfalse}{}
\@ifundefined{plmac@toflag}{\perlfalse}{}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/perltex.tlpobj new/tlpkg/tlpobj/perltex.tlpobj
--- old/tlpkg/tlpobj/perltex.tlpobj 2019-02-28 03:59:12.000000000 +0100
+++ new/tlpkg/tlpobj/perltex.tlpobj 2019-09-24 01:53:49.000000000 +0200
@@ -1,6 +1,6 @@
name perltex
category Package
-revision 38719
+revision 52162
shortdesc Define LaTeX macros in terms of Perl code
longdesc PerlTeX is a combination Perl script (perltex.pl) and LaTeX2e
longdesc package (perltex.sty) that, together, give the user the ability
@@ -19,7 +19,7 @@
texmf-dist/scripts/perltex/perltex.pl
texmf-dist/tex/latex/perltex/perltex.sty
catalogue-ctan /macros/latex/contrib/perltex
-catalogue-date 2016-06-24 19:18:15 +0200
+catalogue-date 2019-09-23 11:07:45 +0200
catalogue-license lppl
catalogue-topics callback
-catalogue-version 2.1
+catalogue-version 2.2
++++++ pgf-blur.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgf-blur.doc.tlpobj new/tlpkg/tlpobj/pgf-blur.doc.tlpobj
--- old/tlpkg/tlpobj/pgf-blur.doc.tlpobj 2019-02-28 03:59:23.000000000 +0100
+++ new/tlpkg/tlpobj/pgf-blur.doc.tlpobj 2020-03-24 02:03:13.000000000 +0100
@@ -1,6 +1,6 @@
name pgf-blur.doc
category Package
-revision 48446
+revision 54512
shortdesc doc files of pgf-blur
relocated 1
docfiles size=63
++++++ pgf-blur.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgf-blur.tlpobj new/tlpkg/tlpobj/pgf-blur.tlpobj
--- old/tlpkg/tlpobj/pgf-blur.tlpobj 2019-02-28 03:59:23.000000000 +0100
+++ new/tlpkg/tlpobj/pgf-blur.tlpobj 2020-03-24 02:03:13.000000000 +0100
@@ -1,6 +1,6 @@
name pgf-blur
category Package
-revision 48446
+revision 54512
shortdesc PGF/TikZ package for "blurred" shadows
relocated 1
longdesc The package adds blurred/faded/fuzzy shadows to PGF/TikZ
@@ -13,7 +13,6 @@
catalogue-contact-home https://github.com/norbusan/pgf-blur
catalogue-contact-repository https://github.com/norbusan/pgf-blur
catalogue-ctan /graphics/pgf/contrib/pgf-blur
-catalogue-date 2018-08-21 14:56:15 +0200
-catalogue-license lpplpd
+catalogue-license lppl pd
catalogue-topics graphics-subpic pgf-tikz
catalogue-version 1.02
++++++ pgf-cmykshadings.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pgf-cmykshadings/README.md new/doc/latex/pgf-cmykshadings/README.md
--- old/doc/latex/pgf-cmykshadings/README.md 2018-10-24 22:29:56.000000000 +0200
+++ new/doc/latex/pgf-cmykshadings/README.md 2019-11-04 23:15:41.000000000 +0100
@@ -1,5 +1,10 @@
# pgf-cmykshadings — Support for CMYK and grayscale shadings in PGF/TikZ
+> **Note: This package is now deprecated. Support for CMYK and grayscale
+> shadings was added to `pgf` in version 3.1.3. Attempting to load it with
+> recent versions of `pgf` only changes the default shading colour model with
+> the `xcolor` `natural` colour model to CMYK.**
+
The `pgf-cmykshadings` package provides support for CMYK and grayscale shadings
for the `pgf` package. By default `pgf` only supports RGB shadings.
`pgf-cmykshadings` attempts to produce shadings consistent with the currently
@@ -58,7 +63,7 @@
## Licence
```
-Copyright (c) 2018 David Purton
+Copyright (c) 2018-2019 David Purton
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
Binary files old/doc/latex/pgf-cmykshadings/pgf-cmykshadings.pdf and new/doc/latex/pgf-cmykshadings/pgf-cmykshadings.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgf-cmykshadings.doc.tlpobj new/tlpkg/tlpobj/pgf-cmykshadings.doc.tlpobj
--- old/tlpkg/tlpobj/pgf-cmykshadings.doc.tlpobj 2019-02-28 03:59:23.000000000 +0100
+++ new/tlpkg/tlpobj/pgf-cmykshadings.doc.tlpobj 2019-11-05 01:54:24.000000000 +0100
@@ -1,8 +1,8 @@
name pgf-cmykshadings.doc
category Package
-revision 48982
+revision 52635
shortdesc doc files of pgf-cmykshadings
relocated 1
-docfiles size=116
+docfiles size=129
RELOC/doc/latex/pgf-cmykshadings/README.md
RELOC/doc/latex/pgf-cmykshadings/pgf-cmykshadings.pdf
++++++ pgf-cmykshadings.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgf-cmykshadings.sty new/tex/latex/pgf-cmykshadings/pgf-cmykshadings.sty
--- old/tex/latex/pgf-cmykshadings/pgf-cmykshadings.sty 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgf-cmykshadings.sty 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
@@ -42,9 +42,71 @@
%% shadings.
%%
\ProvidesPackage{pgf-cmykshadings}%
- [2018/10/24
+ [2019/11/05
CMYK and grayscale shadings support for PGF (DCP)]
\RequirePackage{pgf}
+\@ifpackagelater{pgf}{2019/05/14}{%
+ \PackageWarning{pgf-cmykshadings}{%
+ Package `pgf-cmykshadings' is now deprecated.}%
+ \newif\ifpgfcmykshadingdefault
+ \DeclareOption{cmyk}{%
+ \pgfcmykshadingdefaulttrue
+ }
+ \DeclareOption{rgb}{%
+ \pgfcmykshadingdefaultfalse
+ }
+ \ExecuteOptions{cmyk}
+ \ProcessOptions\relax
+ \def\pgf@setup@shading@model{%
+ \pgfshadingmodelrgbtrue
+ \pgfshadingmodelcmykfalse
+ \pgfshadingmodelgrayfalse
+ \XC@sdef\pgf@mod@test{\XC@tgt@mod{natural}}%
+ \def\pgf@shading@device{/DeviceRGB}%
+ \def\pgf@shading@ps@device{setrgbcolor}%
+ \def\pgf@shading@functional@range{0 1 0 1 0 1}%
+ \def\pgf@shading@model{rgb}%
+ \ifx\pgf@mod@test\XC@mod@natural
+ \ifpgfcmykshadingdefault
+ \def\pgf@shading@functional@range{0 1 0 1 0 1 0 1}%
+ \def\pgf@shading@device{/DeviceCMYK}%
+ \def\pgf@shading@ps@device{setcmykcolor}%
+ \def\pgf@shading@model{cmyk}%
+ \pgfshadingmodelrgbfalse
+ \pgfshadingmodelcmyktrue
+ \else
+ \def\pgf@shading@functional@range{0 1 0 1 0 1}%
+ \def\pgf@shading@device{/DeviceRGB}%
+ \def\pgf@shading@ps@device{setrgbcolor}%
+ \def\pgf@shading@model{rgb}%
+ \fi
+ \fi
+ \ifx\pgf@mod@test\XC@mod@cmyk
+ \def\pgf@shading@device{/DeviceCMYK}%
+ \def\pgf@shading@ps@device{setcmykcolor}%
+ \def\pgf@shading@functional@range{0 1 0 1 0 1 0 1}%
+ \def\pgf@shading@model{cmyk}%
+ \pgfshadingmodelrgbfalse
+ \pgfshadingmodelcmyktrue
+ \fi
+ \ifx\pgf@mod@test\XC@mod@gray
+ \def\pgf@shading@device{/DeviceGray}%
+ \def\pgf@shading@ps@device{setgray}%
+ \def\pgf@shading@functional@range{0 1}%
+ \def\pgf@shading@model{gray}%
+ \pgfshadingmodelrgbfalse
+ \pgfshadingmodelgraytrue
+ \fi
+ \edef\pgf@sys@driver@dvisvgm{pgfsys-dvisvgm.def}%
+ \ifx\pgfsysdriver\pgf@sys@driver@dvisvgm
+ \def\pgf@shading@model{rgb}%
+ \fi
+ \edef\pgf@sys@driver@texforht{pgfsys-tex4ht.def}%
+ \ifx\pgfsysdriver\pgf@sys@driver@texforht
+ \def\pgf@shading@model{rgb}%
+ \fi
+ }%
+ \endinput}{}
\def\pgf@parsefunc#1{%
\edef\temp{{#1}}%
\expandafter\pgf@convertstring\temp%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfm.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfm.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfm.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfm.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfmx.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfmx.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfmx.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvipdfmx.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvips.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvips.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvips.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-dvips.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-luatex.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-luatex.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-luatex.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-luatex.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-pdftex.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-pdftex.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-pdftex.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-pdftex.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-textures.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-textures.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-textures.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-textures.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-vtex.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-vtex.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-vtex.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-vtex.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-xetex.def new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-xetex.def
--- old/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-xetex.def 2018-10-24 22:29:56.000000000 +0200
+++ new/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-xetex.def 2019-11-04 23:15:41.000000000 +0100
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (c) 2018 David Purton
+%% Copyright (c) 2018-2019 David Purton
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgf-cmykshadings.tlpobj new/tlpkg/tlpobj/pgf-cmykshadings.tlpobj
--- old/tlpkg/tlpobj/pgf-cmykshadings.tlpobj 2019-02-28 03:59:23.000000000 +0100
+++ new/tlpkg/tlpobj/pgf-cmykshadings.tlpobj 2019-11-05 01:54:25.000000000 +0100
@@ -1,13 +1,15 @@
name pgf-cmykshadings
category Package
-revision 48982
+revision 52635
shortdesc Support for CMYK and grayscale shadings in PGF/TikZ
relocated 1
longdesc This package provides support for CMYK and grayscale shadings
longdesc for the pgf package. By default pgf only supports RGB shadings.
longdesc The package attempts to produce shadings consistent with the
longdesc currently selected xcolor colour model. The rgb, cmyk, and gray
-longdesc colour models from the xcolor package are supported.
+longdesc colour models from the xcolor package are supported. Note: This
+longdesc package is deprecated since pgf version 3.1.3, since CMYK and
+longdesc grayscale shadings are now directly supported.
runfiles size=20
RELOC/tex/latex/pgf-cmykshadings/pgf-cmykshadings.sty
RELOC/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def
@@ -19,9 +21,10 @@
RELOC/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-textures.def
RELOC/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-vtex.def
RELOC/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-xetex.def
+catalogue-contact-bugs https://github.com/dcpurton/pgf-cmykshadings/issues
catalogue-contact-repository https://github.com/dcpurton/pgf-cmykshadings
catalogue-ctan /graphics/pgf/contrib/pgf-cmykshadings
-catalogue-date 2018-10-24 09:04:01 +0200
+catalogue-date 2019-11-04 17:38:55 +0100
catalogue-license lppl1.3c
catalogue-topics colour pgf-tikz
-catalogue-version 1.1a
+catalogue-version 1.2
++++++ pgf.doc.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-r/pgf.doc.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-r.new.3606/pgf.doc.tar.xz differ: char 25, line 1
++++++ pgf.tar.xz ++++++
++++ 67538 lines of diff (skipped)
++++++ pgfgantt.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgfgantt.doc.tlpobj new/tlpkg/tlpobj/pgfgantt.doc.tlpobj
--- old/tlpkg/tlpobj/pgfgantt.doc.tlpobj 2019-02-28 03:59:24.000000000 +0100
+++ new/tlpkg/tlpobj/pgfgantt.doc.tlpobj 2019-11-07 18:46:28.000000000 +0100
@@ -1,6 +1,6 @@
name pgfgantt.doc
category Package
-revision 46280
+revision 52662
shortdesc doc files of pgfgantt
relocated 1
docfiles size=231
++++++ pgfgantt.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgfgantt.tlpobj new/tlpkg/tlpobj/pgfgantt.tlpobj
--- old/tlpkg/tlpobj/pgfgantt.tlpobj 2019-02-28 03:59:25.000000000 +0100
+++ new/tlpkg/tlpobj/pgfgantt.tlpobj 2019-11-07 18:46:28.000000000 +0100
@@ -1,12 +1,13 @@
name pgfgantt
category Package
-revision 46280
+revision 52662
shortdesc Draw Gantt charts with TikZ
relocated 1
longdesc The package provides an environment for drawing Gantt charts
longdesc that contain various elements (titles, bars, milestones, groups
longdesc and links). Several keys customize the appearance of the chart
longdesc elements.
+depend pgf
runfiles size=12
RELOC/tex/latex/pgfgantt/pgfgantt.sty
catalogue-also pst-gantt
++++++ pgfornament-han.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pgfornament-han/README.md new/doc/latex/pgfornament-han/README.md
--- old/doc/latex/pgfornament-han/README.md 2018-05-21 23:14:42.000000000 +0200
+++ new/doc/latex/pgfornament-han/README.md 2019-08-11 22:36:54.000000000 +0200
@@ -1,4 +1,4 @@
-# pgfornament-han 2018/05/15
+# pgfornament-han 2019/08/10
A pgfornament library for Chinese traditional motifs and patterns.
以 pgfornament 宏包的机制,实现绘制汉风图纹。
Binary files old/doc/latex/pgfornament-han/heavenlyclouds-sample.pdf and new/doc/latex/pgfornament-han/heavenlyclouds-sample.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pgfornament-han/heavenlyclouds-sample.tex new/doc/latex/pgfornament-han/heavenlyclouds-sample.tex
--- old/doc/latex/pgfornament-han/heavenlyclouds-sample.tex 2018-05-21 23:14:42.000000000 +0200
+++ new/doc/latex/pgfornament-han/heavenlyclouds-sample.tex 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,4 @@
% !TEX program=xelatex
-% \documentclass[aspectratio=169]{ctexbeamer}
\documentclass{ctexbeamer}
\usetheme{HeavenlyClouds}
@@ -15,6 +14,7 @@
% \titlegraphic{\includegraphics[width=2cm]{example-grid-100x100pt}}
% \alttitlecircle %% 试试取消注释,有惊喜
+% \simpleprogressmarker %% 神马太过引人注目的话,可以用简单圆点取代。
\begin{document}
@@ -31,18 +31,21 @@
\item 每一页的背景的云彩纹样,位置、大小、深浅都是随机的
\item 所以如果内容很多页的话,编译时运算可能会比较花时间
\item 导言区加上 \verb|\alttitlecircle|,标题页的纹样会变化
+ \item 若觉得进度条上的神马太过引人注(侧)目,可以用 \verb|\simpleprogressmarker| 简单圆点取代。(默认值是\verb|\shenmaprogressmarker|)
\framebreak
- \item 标题页的寿字纹,可以用各自高校的标志代替。中国高校校徽很多都是圆形的。确保一下背景是透明色的 png 或 pdf 档就可以了
+ \item 标题页的寿字纹,可以用各自高校的标志代替。
+ \item 中国高校校徽很多都是圆形的。确保一下背景是透明色的png或pdf档。
\verb|\titlegraphic{\includegraphics[width=2cm]{logo}}|
- \medskip
-
- \item 浮云有了,神马呢?
- \begin{itemize}
- \item 以后如果做出来了马的简易图腾纹样,才考虑取代掉进度条的圆点吧
- \end{itemize}
+ % \medskip
+ %
+ % \item 浮云有了,神马呢?
+ % \begin{itemize}
+ % \item 以后如果做出来了马的简易图腾纹样,才考虑取代掉进度条的圆点吧
+ % \item 2019年8月,做出来了
+ % \end{itemize}
\end{itemize}
\end{frame}
@@ -82,4 +85,5 @@
\end{proof}
\end{frame}
+
\end{document}
Binary files old/doc/latex/pgfornament-han/pgfornament-han_manual.pdf and new/doc/latex/pgfornament-han/pgfornament-han_manual.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pgfornament-han/pgfornament-han_manual.tex new/doc/latex/pgfornament-han/pgfornament-han_manual.tex
--- old/doc/latex/pgfornament-han/pgfornament-han_manual.tex 2018-05-21 23:14:42.000000000 +0200
+++ new/doc/latex/pgfornament-han/pgfornament-han_manual.tex 2019-08-11 22:36:54.000000000 +0200
@@ -6,7 +6,7 @@
\setsansfont{Linux Biolinum O}
\usepackage{ragged2e}
-\usepackage[dvipsnames]{xcolor}
+\usepackage[svgnames]{xcolor}
\usepackage{pgfornament-han}
\usetikzlibrary{chains}
\usetikzlibrary{calc}
@@ -104,7 +104,7 @@
\title{汉风图纹 \texttt{pgfornament-han}}
\author{林莲枝、张晨南}
-\date{2018/05/15\\\url{https://github.com/liantze/pgfornament-han}}
+\date{2019/08/10\\\url{https://github.com/liantze/pgfornament-han}}
\begin{document}
@@ -485,6 +485,18 @@
\end{tikzpicture}\space\space
}
+\section{动物}
+
+\foreach \n in {78,...,78}{%
+ \begin{tikzpicture}
+ \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
+ \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
+ \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
+ \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
+ \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
+ \end{tikzpicture}\space\space
+}
+
\vfill
\begin{center}
@@ -934,6 +946,8 @@
\mintinline{latex}{\providecommand{\lishu}{\CJKfontspec{Libian SC}[BoldFont=Baoli SC,Scale=1.2]}}
+ \item 可以用 \mintinline{latex}{\simpleprogressmarker} 以简单圆点代替进度条上的神马。
+
\item 标题页的寿字纹,可以用各自高校的标志代替。中国高校校徽很多都是圆形的。确保一下背景是透明色的 png 或 pdf 档就可以了。
\mintinline{latex}{\titlegraphic{\includegraphics[width=2cm]{logo}}}
@@ -956,7 +970,6 @@
\node {\pgfornamenthan[width=1.25cm,color=殷红]{56}};
\end{tikzpicture} \emph{效果有可能有点狂,请视场合斟酌使用。}
-
\end{itemize}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgfornament-han.doc.tlpobj new/tlpkg/tlpobj/pgfornament-han.doc.tlpobj
--- old/tlpkg/tlpobj/pgfornament-han.doc.tlpobj 2019-02-28 03:59:27.000000000 +0100
+++ new/tlpkg/tlpobj/pgfornament-han.doc.tlpobj 2020-03-09 00:28:45.000000000 +0100
@@ -1,9 +1,9 @@
name pgfornament-han.doc
category Package
-revision 47789
+revision 54191
shortdesc doc files of pgfornament-han
relocated 1
-docfiles size=315
+docfiles size=1203
RELOC/doc/latex/pgfornament-han/README.md
RELOC/doc/latex/pgfornament-han/heavenlyclouds-sample.pdf
RELOC/doc/latex/pgfornament-han/heavenlyclouds-sample.tex
++++++ pgfornament-han.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/beamerthemeHeavenlyClouds.sty new/tex/latex/pgfornament-han/beamerthemeHeavenlyClouds.sty
--- old/tex/latex/pgfornament-han/beamerthemeHeavenlyClouds.sty 2018-05-21 23:14:42.000000000 +0200
+++ new/tex/latex/pgfornament-han/beamerthemeHeavenlyClouds.sty 2019-08-11 22:36:54.000000000 +0200
@@ -1,4 +1,4 @@
-% beamerthemeHeavenlyClouds.sty v1.0 2018/05/15
+% beamerthemeHeavenlyClouds.sty v1.1 2019/07/24
% by LianTze Lim (liantze@gmail.com)
\ProvidesPackage{beamerthemeHeavenlyClouds}
@@ -87,7 +87,30 @@
\newlength{\clouds@frametitle@rawwidth}%
\newlength{\clouds@frametitle@actualwidth}%
+\def\clouds@progressmarker{}
+\newcommand{\simpleprogressmarker}{%
+ \renewcommand{\clouds@progressmarker}{%
+ \clip (-1.25em,2em) rectangle (\paperwidth,0pt);
+ \fill[headline.fg] (\clouds@progressinheadfoot,1.25em) circle (2pt);
+ }%
+}
+\newbox{\clouds@shenma}
+\savebox{\clouds@shenma}{%
+ \usebeamercolor[fg]{headline}%
+ \tikzset{pgfornamentstyle/.style={line width=0pt}}%
+ \pgfornamenthan[width=2.5em]{78}%
+}
+\newcommand{\shenmaprogressmarker}{%
+ \renewcommand{\clouds@progressmarker}{%
+ \clip (-1.3em,4em) rectangle (\paperwidth,0pt);
+ \node[anchor=south,inner sep=1pt] at (\clouds@progressinheadfoot,1.25em)
+ {\usebox{\clouds@shenma}};
+ }
+}%
+
+
\AtBeginDocument{%
+ \shenmaprogressmarker
\newbox{\clouds@title@deco}
\savebox{\clouds@title@deco}{%
\usebeamercolor{headline}%
@@ -125,14 +148,15 @@
with { \node[transform shape]{\usebox{\clouds@smallhuiwen}}; }} ]
\path [postaction={decorate}] (0,0) -- (\paperwidth,0);
\draw[headline.fg!50,line width=0.6pt] (-1.25em,1.25em) -- (\paperwidth,1.25em);
- \clip (-1.25em,2em) rectangle (\paperwidth,0pt);
- \fill[headline.fg] (\clouds@progressinheadfoot,1.25em) circle (2pt);
+ \clouds@progressmarker
+ % \fill[headline.fg] (\clouds@progressinheadfoot,1.25em) circle (2pt); %<-- TODO
\end{tikzpicture}
}
}
\AtBeginSection{\begin{frame}\sectionpage\end{frame}}
\renewcommand{\thesection}{\chinese{section}}
+\newlength{\cloud@secname@height}
\setbeamertemplate{section page}{
\usebeamercolor{section title}\usebeamercolor{section name}
\newbox{\clouds@section@circle@elem}
@@ -140,7 +164,6 @@
\usebeamercolor{headline}%
\pgfornamenthan[width=1.0471cm,color=headline.fg!80!black]{59}%
}
-\newlength{\cloud@secname@height}
\settototalheight{\cloud@secname@height}{\usebeamerfont{section name}节}
\begin{tikzpicture}
\begin{scope}[decoration={markings, mark=between positions 0 and 1 step 1.0471cm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han1.pgf new/tex/latex/pgfornament-han/han/han1.pgf
--- old/tex/latex/pgfornament-han/han/han1.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han1.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han1.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han10.pgf new/tex/latex/pgfornament-han/han/han10.pgf
--- old/tex/latex/pgfornament-han/han/han10.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han10.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han10.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han11.pgf new/tex/latex/pgfornament-han/han/han11.pgf
--- old/tex/latex/pgfornament-han/han/han11.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han11.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han11.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han12.pgf new/tex/latex/pgfornament-han/han/han12.pgf
--- old/tex/latex/pgfornament-han/han/han12.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han12.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han12.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han13.pgf new/tex/latex/pgfornament-han/han/han13.pgf
--- old/tex/latex/pgfornament-han/han/han13.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han13.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han13.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han14.pgf new/tex/latex/pgfornament-han/han/han14.pgf
--- old/tex/latex/pgfornament-han/han/han14.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han14.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han14.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\m 0 200.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han15.pgf new/tex/latex/pgfornament-han/han/han15.pgf
--- old/tex/latex/pgfornament-han/han/han15.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han15.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han15.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han16.pgf new/tex/latex/pgfornament-han/han/han16.pgf
--- old/tex/latex/pgfornament-han/han/han16.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han16.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han16.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han17.pgf new/tex/latex/pgfornament-han/han/han17.pgf
--- old/tex/latex/pgfornament-han/han/han17.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han17.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han17.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han18.pgf new/tex/latex/pgfornament-han/han/han18.pgf
--- old/tex/latex/pgfornament-han/han/han18.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han18.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han18.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han19.pgf new/tex/latex/pgfornament-han/han/han19.pgf
--- old/tex/latex/pgfornament-han/han/han19.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han19.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han19.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han2.pgf new/tex/latex/pgfornament-han/han/han2.pgf
--- old/tex/latex/pgfornament-han/han/han2.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han2.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han2.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han20.pgf new/tex/latex/pgfornament-han/han/han20.pgf
--- old/tex/latex/pgfornament-han/han/han20.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han20.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han20.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han21.pgf new/tex/latex/pgfornament-han/han/han21.pgf
--- old/tex/latex/pgfornament-han/han/han21.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han21.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han21.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han22.pgf new/tex/latex/pgfornament-han/han/han22.pgf
--- old/tex/latex/pgfornament-han/han/han22.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han22.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han22.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han23.pgf new/tex/latex/pgfornament-han/han/han23.pgf
--- old/tex/latex/pgfornament-han/han/han23.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han23.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han23.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han24.pgf new/tex/latex/pgfornament-han/han/han24.pgf
--- old/tex/latex/pgfornament-han/han/han24.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han24.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han24.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han25.pgf new/tex/latex/pgfornament-han/han/han25.pgf
--- old/tex/latex/pgfornament-han/han/han25.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han25.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han25.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han26.pgf new/tex/latex/pgfornament-han/han/han26.pgf
--- old/tex/latex/pgfornament-han/han/han26.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han26.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han26.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han27.pgf new/tex/latex/pgfornament-han/han/han27.pgf
--- old/tex/latex/pgfornament-han/han/han27.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han27.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han27.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han28.pgf new/tex/latex/pgfornament-han/han/han28.pgf
--- old/tex/latex/pgfornament-han/han/han28.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han28.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han28.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han29.pgf new/tex/latex/pgfornament-han/han/han29.pgf
--- old/tex/latex/pgfornament-han/han/han29.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han29.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han29.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han3.pgf new/tex/latex/pgfornament-han/han/han3.pgf
--- old/tex/latex/pgfornament-han/han/han3.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han3.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han3.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han30.pgf new/tex/latex/pgfornament-han/han/han30.pgf
--- old/tex/latex/pgfornament-han/han/han30.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han30.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han30.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han31.pgf new/tex/latex/pgfornament-han/han/han31.pgf
--- old/tex/latex/pgfornament-han/han/han31.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han31.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han31.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han32.pgf new/tex/latex/pgfornament-han/han/han32.pgf
--- old/tex/latex/pgfornament-han/han/han32.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han32.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han32.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han33.pgf new/tex/latex/pgfornament-han/han/han33.pgf
--- old/tex/latex/pgfornament-han/han/han33.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han33.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han33.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han34.pgf new/tex/latex/pgfornament-han/han/han34.pgf
--- old/tex/latex/pgfornament-han/han/han34.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han34.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han34.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han35.pgf new/tex/latex/pgfornament-han/han/han35.pgf
--- old/tex/latex/pgfornament-han/han/han35.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han35.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han35.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han36.pgf new/tex/latex/pgfornament-han/han/han36.pgf
--- old/tex/latex/pgfornament-han/han/han36.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han36.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han36.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han37.pgf new/tex/latex/pgfornament-han/han/han37.pgf
--- old/tex/latex/pgfornament-han/han/han37.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han37.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han37.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han38.pgf new/tex/latex/pgfornament-han/han/han38.pgf
--- old/tex/latex/pgfornament-han/han/han38.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han38.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han38.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han39.pgf new/tex/latex/pgfornament-han/han/han39.pgf
--- old/tex/latex/pgfornament-han/han/han39.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han39.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han39.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han4.pgf new/tex/latex/pgfornament-han/han/han4.pgf
--- old/tex/latex/pgfornament-han/han/han4.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han4.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han4.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han40.pgf new/tex/latex/pgfornament-han/han/han40.pgf
--- old/tex/latex/pgfornament-han/han/han40.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han40.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han40.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han41.pgf new/tex/latex/pgfornament-han/han/han41.pgf
--- old/tex/latex/pgfornament-han/han/han41.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han41.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han41.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han42.pgf new/tex/latex/pgfornament-han/han/han42.pgf
--- old/tex/latex/pgfornament-han/han/han42.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han42.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han42.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han43.pgf new/tex/latex/pgfornament-han/han/han43.pgf
--- old/tex/latex/pgfornament-han/han/han43.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han43.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han43.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han44.pgf new/tex/latex/pgfornament-han/han/han44.pgf
--- old/tex/latex/pgfornament-han/han/han44.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han44.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han44.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han45.pgf new/tex/latex/pgfornament-han/han/han45.pgf
--- old/tex/latex/pgfornament-han/han/han45.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han45.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han45.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han46.pgf new/tex/latex/pgfornament-han/han/han46.pgf
--- old/tex/latex/pgfornament-han/han/han46.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han46.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han46.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han47.pgf new/tex/latex/pgfornament-han/han/han47.pgf
--- old/tex/latex/pgfornament-han/han/han47.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han47.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han47.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han48.pgf new/tex/latex/pgfornament-han/han/han48.pgf
--- old/tex/latex/pgfornament-han/han/han48.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han48.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han48.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han49.pgf new/tex/latex/pgfornament-han/han/han49.pgf
--- old/tex/latex/pgfornament-han/han/han49.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han49.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han49.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han5.pgf new/tex/latex/pgfornament-han/han/han5.pgf
--- old/tex/latex/pgfornament-han/han/han5.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han5.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han5.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han50.pgf new/tex/latex/pgfornament-han/han/han50.pgf
--- old/tex/latex/pgfornament-han/han/han50.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han50.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han50.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han51.pgf new/tex/latex/pgfornament-han/han/han51.pgf
--- old/tex/latex/pgfornament-han/han/han51.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han51.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han51.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han52.pgf new/tex/latex/pgfornament-han/han/han52.pgf
--- old/tex/latex/pgfornament-han/han/han52.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han52.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han52.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han53.pgf new/tex/latex/pgfornament-han/han/han53.pgf
--- old/tex/latex/pgfornament-han/han/han53.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han53.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han53.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han54.pgf new/tex/latex/pgfornament-han/han/han54.pgf
--- old/tex/latex/pgfornament-han/han/han54.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han54.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han54.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han55.pgf new/tex/latex/pgfornament-han/han/han55.pgf
--- old/tex/latex/pgfornament-han/han/han55.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han55.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han55.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han56.pgf new/tex/latex/pgfornament-han/han/han56.pgf
--- old/tex/latex/pgfornament-han/han/han56.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han56.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han56.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han57.pgf new/tex/latex/pgfornament-han/han/han57.pgf
--- old/tex/latex/pgfornament-han/han/han57.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han57.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han57.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han58.pgf new/tex/latex/pgfornament-han/han/han58.pgf
--- old/tex/latex/pgfornament-han/han/han58.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han58.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han58.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han59.pgf new/tex/latex/pgfornament-han/han/han59.pgf
--- old/tex/latex/pgfornament-han/han/han59.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han59.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han59.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han6.pgf new/tex/latex/pgfornament-han/han/han6.pgf
--- old/tex/latex/pgfornament-han/han/han6.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han6.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han6.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han60.pgf new/tex/latex/pgfornament-han/han/han60.pgf
--- old/tex/latex/pgfornament-han/han/han60.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han60.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han60.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetroundjoin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han61.pgf new/tex/latex/pgfornament-han/han/han61.pgf
--- old/tex/latex/pgfornament-han/han/han61.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han61.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han61.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
%\pgfsetmiterlimit{4}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han62.pgf new/tex/latex/pgfornament-han/han/han62.pgf
--- old/tex/latex/pgfornament-han/han/han62.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han62.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han62.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han63.pgf new/tex/latex/pgfornament-han/han/han63.pgf
--- old/tex/latex/pgfornament-han/han/han63.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han63.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han63.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han64.pgf new/tex/latex/pgfornament-han/han/han64.pgf
--- old/tex/latex/pgfornament-han/han/han64.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han64.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han64.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han65.pgf new/tex/latex/pgfornament-han/han/han65.pgf
--- old/tex/latex/pgfornament-han/han/han65.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han65.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han65.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han66.pgf new/tex/latex/pgfornament-han/han/han66.pgf
--- old/tex/latex/pgfornament-han/han/han66.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han66.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han66.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\r 10 10 395 175
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han67.pgf new/tex/latex/pgfornament-han/han/han67.pgf
--- old/tex/latex/pgfornament-han/han/han67.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han67.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han67.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\m 140.11 188.00
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han68.pgf new/tex/latex/pgfornament-han/han/han68.pgf
--- old/tex/latex/pgfornament-han/han/han68.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han68.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han68.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\r 0 10 400 165
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han69.pgf new/tex/latex/pgfornament-han/han/han69.pgf
--- old/tex/latex/pgfornament-han/han/han69.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han69.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han69.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\m 300.90 169.92
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han7.pgf new/tex/latex/pgfornament-han/han/han7.pgf
--- old/tex/latex/pgfornament-han/han/han7.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han7.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han7.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han70.pgf new/tex/latex/pgfornament-han/han/han70.pgf
--- old/tex/latex/pgfornament-han/han/han70.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han70.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han70.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\r 0 0 395 140
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han71.pgf new/tex/latex/pgfornament-han/han/han71.pgf
--- old/tex/latex/pgfornament-han/han/han71.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han71.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han71.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetmiterlimit{4.0}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han72.pgf new/tex/latex/pgfornament-han/han/han72.pgf
--- old/tex/latex/pgfornament-han/han/han72.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han72.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han72.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han73.pgf new/tex/latex/pgfornament-han/han/han73.pgf
--- old/tex/latex/pgfornament-han/han/han73.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han73.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han73.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han74.pgf new/tex/latex/pgfornament-han/han/han74.pgf
--- old/tex/latex/pgfornament-han/han/han74.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han74.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han74.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\m 21.69 309.04
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han75.pgf new/tex/latex/pgfornament-han/han/han75.pgf
--- old/tex/latex/pgfornament-han/han/han75.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han75.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han75.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\m 21.57 309.37
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han76.pgf new/tex/latex/pgfornament-han/han/han76.pgf
--- old/tex/latex/pgfornament-han/han/han76.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han76.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han76.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han77.pgf new/tex/latex/pgfornament-han/han/han77.pgf
--- old/tex/latex/pgfornament-han/han/han77.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han77.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han77.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han78.pgf new/tex/latex/pgfornament-han/han/han78.pgf
--- old/tex/latex/pgfornament-han/han/han78.pgf 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/pgfornament-han/han/han78.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -0,0 +1,432 @@
+% han78.pgf
+% pgfornament-han v0.33 2019/08/10
+% Author: LIM LianTze
+
+\m 100.50 31.79
+\l 100.12 30.01
+\l 100.42 28.84
+\l 101.25 27.78
+\l 102.16 27.25
+\l 102.69 26.49
+\l 102.58 24.87
+\l 101.67 23.09
+\l 100.23 21.92
+\l 97.70 20.11
+\l 95.89 18.29
+\l 95.40 16.67
+\l 94.11 15.27
+\l 91.65 14.78
+\l 89.84 13.68
+\l 89.35 12.43
+\l 88.33 11.79
+\l 86.48 11.75
+\l 84.10 11.68
+\l 83.34 11.64
+\l 82.92 13.15
+\l 83.00 14.44
+\l 83.64 15.72
+\l 84.78 16.82
+\l 86.17 17.42
+\l 87.69 17.57
+\l 88.90 17.01
+\l 89.76 16.48
+\l 90.41 16.44
+\l 91.01 17.35
+\l 91.31 18.52
+\l 92.34 19.46
+\l 93.51 19.69
+\l 94.45 20.03
+\l 94.91 20.45
+\l 96.11 21.81
+\l 97.10 23.70
+\l 97.25 24.30
+\l 97.02 24.83
+\l 96.23 24.57
+\l 94.49 23.77
+\l 93.09 22.72
+\l 91.69 21.85
+\l 91.13 20.94
+\l 90.52 19.43
+\l 89.50 18.41
+\l 87.80 17.95
+\l 86.40 18.48
+\l 85.31 19.05
+\l 83.07 19.65
+\l 79.98 20.45
+\l 78.80 21.88
+\l 78.77 22.87
+\l 79.22 23.81
+\l 80.13 24.68
+\l 82.28 25.66
+\l 84.06 25.59
+\l 85.49 24.60
+\l 85.76 23.32
+\l 85.68 22.41
+\l 86.21 21.77
+\l 86.63 21.92
+\l 86.93 22.68
+\l 87.76 23.06
+\l 88.56 23.06
+\l 89.08 22.98
+\l 90.14 23.70
+\l 91.28 24.68
+\l 92.00 25.55
+\l 92.60 26.65
+\l 92.79 27.36
+\l 92.45 27.67
+\l 90.37 27.74
+\l 88.40 27.63
+\l 86.10 27.59
+\l 83.68 26.99
+\l 81.00 26.12
+\l 77.03 24.19
+\l 73.51 22.87
+\l 68.33 22.19
+\l 66.26 22.26
+\l 64.86 22.53
+\l 63.99 22.49
+\l 63.57 22.15
+\l 62.85 21.32
+\l 61.76 20.45
+\l 60.59 20.07
+\l 59.53 20.11
+\l 58.70 19.58
+\l 58.17 18.90
+\l 56.20 16.44
+\l 54.35 14.82
+\l 51.70 14.36
+\l 48.38 14.06
+\l 44.90 13.19
+\l 41.42 11.98
+\l 38.63 10.28
+\l 36.21 8.32
+\l 35.34 6.80
+\l 34.58 4.99
+\l 33.34 4.04
+\l 31.37 3.93
+\l 29.78 3.40
+\l 28.84 1.78
+\l 26.95 0.87
+\l 23.09 0.00
+\l 22.11 1.21
+\l 21.92 2.61
+\l 22.75 4.54
+\l 24.61 5.97
+\l 26.08 6.46
+\l 27.33 5.90
+\l 28.12 5.44
+\l 28.61 5.25
+\l 29.22 5.74
+\l 29.71 6.84
+\l 30.01 7.86
+\l 30.09 8.24
+\l 32.43 8.84
+\l 34.92 9.86
+\l 36.28 11.38
+\l 37.46 13.72
+\l 38.36 15.68
+\l 39.80 17.46
+\l 41.46 18.03
+\l 43.05 17.69
+\l 43.77 17.20
+\l 44.30 17.31
+\l 46.19 18.63
+\l 48.08 20.14
+\l 48.87 21.66
+\l 49.63 23.51
+\l 49.44 24.15
+\l 48.57 24.15
+\l 45.96 22.41
+\l 43.81 20.94
+\l 41.46 20.75
+\l 38.93 20.37
+\l 36.59 19.09
+\l 34.58 17.76
+\l 33.75 16.48
+\l 31.98 16.06
+\l 29.82 14.78
+\l 28.12 13.08
+\l 26.99 11.57
+\l 26.34 10.24
+\l 25.25 8.92
+\l 23.74 8.28
+\l 21.77 8.09
+\l 20.64 7.11
+\l 19.88 6.92
+\l 19.24 5.93
+\l 18.14 5.86
+\l 16.18 4.35
+\l 14.40 3.44
+\l 13.08 5.06
+\l 12.85 6.84
+\l 13.15 8.16
+\l 14.29 9.41
+\l 15.65 10.62
+\l 16.97 11.15
+\l 17.95 11.11
+\l 18.71 10.77
+\l 19.35 10.17
+\l 20.37 10.28
+\l 21.05 10.62
+\l 21.43 11.11
+\l 21.28 11.57
+\l 21.54 12.28
+\l 22.15 12.74
+\l 25.25 14.17
+\l 27.02 15.34
+\l 28.08 16.33
+\l 28.65 18.10
+\l 29.86 20.90
+\l 30.73 21.92
+\l 32.92 22.75
+\l 34.85 23.51
+\l 36.55 24.11
+\l 37.00 24.64
+\l 37.98 28.35
+\l 39.76 32.16
+\l 41.58 36.17
+\l 43.62 39.00
+\l 42.26 39.23
+\l 40.48 37.04
+\l 40.06 35.00
+\l 38.78 31.75
+\l 37.08 28.46
+\l 34.81 26.04
+\l 31.79 23.36
+\l 28.35 21.51
+\l 27.21 21.32
+\l 30.54 23.32
+\l 32.20 24.98
+\l 34.02 26.80
+\l 34.81 28.65
+\l 30.61 25.63
+\l 27.97 24.08
+\l 24.95 23.43
+\l 21.85 23.36
+\l 20.33 23.89
+\l 22.72 24.30
+\l 26.23 25.63
+\l 28.57 27.14
+\l 30.12 28.42
+\l 27.02 27.67
+\l 23.77 27.10
+\l 20.07 26.15
+\l 15.57 24.87
+\l 13.04 23.85
+\l 15.31 26.04
+\l 18.37 28.08
+\l 20.64 28.95
+\l 15.23 28.50
+\l 13.57 28.12
+\l 10.70 27.78
+\l 7.26 28.01
+\l 5.10 28.46
+\l 2.65 29.25
+\l 1.28 30.01
+\l 3.40 29.78
+\l 5.03 29.74
+\l 7.86 29.97
+\l 4.80 31.03
+\l 2.65 31.86
+\l 0.68 32.62
+\l -0 33.00
+\l 2.53 32.62
+\l 4.69 32.31
+\l 8.47 32.88
+\l 6.69 33.26
+\l 4.99 33.68
+\l 3.70 34.28
+\l 2.31 35.07
+\l 2.12 35.26
+\l 4.69 34.96
+\l 7.22 35.60
+\l 10.24 36.74
+\l 13.04 37.53
+\l 15.76 37.76
+\l 17.27 37.64
+\l 17.58 37.68
+\l 15.38 38.66
+\l 13.61 38.93
+\l 11.11 38.66
+\l 14.51 39.68
+\l 16.33 39.99
+\l 19.20 40.02
+\l 22.07 39.61
+\l 19.47 40.37
+\l 17.31 41.39
+\l 16.40 42.18
+\l 17.50 41.84
+\l 18.90 41.50
+\l 20.79 41.42
+\l 21.35 41.69
+\l 19.96 42.71
+\l 19.20 43.69
+\l 19.05 44.37
+\l 20.56 43.99
+\l 23.89 43.65
+\l 27.59 44.07
+\l 32.32 45.73
+\l 35.45 47.06
+\l 38.70 47.66
+\l 41.54 47.92
+\l 44.83 47.06
+\l 47.02 46.41
+\l 48.95 44.94
+\l 50.08 44.22
+\l 52.73 45.20
+\l 55.90 46.26
+\l 59.45 45.58
+\l 65.24 46.22
+\l 70.19 47.85
+\l 74.12 51.06
+\l 76.42 54.20
+\l 76.76 55.11
+\l 77.25 55.60
+\l 75.71 55.29
+\l 76.61 56.39
+\l 74.95 56.43
+\l 74.31 56.77
+\l 75.71 57.45
+\l 76.65 57.64
+\l 77.18 59.11
+\l 77.52 60.51
+\l 78.27 61.34
+\l 78.92 61.76
+\l 77.71 61.98
+\l 77.41 62.25
+\l 77.93 62.36
+\l 78.54 62.63
+\l 79.22 63.08
+\l 79.56 63.12
+\l 79.48 63.61
+\l 78.31 63.99
+\l 76.84 65.01
+\l 76.61 65.27
+\l 77.97 64.97
+\l 79.60 65.20
+\l 81.60 64.93
+\l 83.11 64.10
+\l 84.40 63.16
+\l 85.99 62.40
+\l 86.36 62.32
+\l 86.51 62.74
+\l 86.25 63.31
+\l 84.96 63.91
+\l 85.38 64.10
+\l 85.83 63.99
+\l 86.44 63.95
+\l 86.78 63.80
+\l 86.48 64.48
+\l 85.76 65.16
+\l 85.27 65.50
+\l 86.51 65.12
+\l 87.53 64.78
+\l 88.18 64.52
+\l 87.19 65.24
+\l 86.29 66.26
+\l 85.76 67.99
+\l 85.80 68.90
+\l 86.33 67.84
+\l 87.46 66.63
+\l 89.31 65.84
+\l 89.69 65.80
+\l 89.16 66.63
+\l 89.16 67.50
+\l 89.54 66.78
+\l 90.71 66.03
+\l 91.65 65.69
+\l 92.49 65.01
+\l 93.51 64.33
+\l 93.28 65.73
+\l 93.13 66.37
+\l 93.54 67.80
+\l 93.70 67.99
+\l 93.92 66.75
+\l 94.38 65.80
+\l 94.79 65.54
+\l 95.40 66.86
+\l 96.00 67.35
+\l 95.89 66.29
+\l 96.04 65.35
+\l 96.64 64.74
+\l 97.48 64.89
+\l 100.31 66.14
+\l 109.38 63.61
+\l 109.87 63.19
+\l 113.05 61.08
+\l 115.16 62.32
+\l 115.01 58.96
+\l 116.26 57.90
+\l 117.02 57.15
+\l 117.47 56.54
+\l 117.77 55.67
+\l 118.15 55.11
+\l 118.94 55.82
+\l 119.21 56.32
+\l 119.09 57.15
+\l 120.04 57.71
+\l 121.25 58.51
+\l 121.51 58.66
+\l 121.55 57.49
+\l 120.57 54.69
+\l 119.36 53.48
+\l 118.49 52.76
+\l 118.23 52.57
+\l 119.62 52.50
+\l 120.83 52.99
+\l 122.31 52.84
+\l 122.68 52.65
+\l 121.21 52.46
+\l 120.57 51.93
+\l 121.25 51.89
+\l 122.23 51.93
+\l 121.78 51.29
+\l 120.49 50.65
+\l 118.87 50.65
+\l 118.07 50.80
+\l 118.60 50.38
+\l 119.28 50.04
+\l 119.77 49.85
+\l 118.26 49.70
+\l 117.09 50.42
+\l 116.60 50.15
+\l 116.75 49.51
+\l 116.98 48.79
+\l 117.32 47.92
+\l 117.36 46.87
+\l 116.49 46.00
+\l 115.24 44.52
+\l 114.71 43.28
+\l 113.24 38.14
+\l 112.67 36.28
+\l 113.12 34.92
+\l 112.93 34.32
+\l 110.67 31.56
+\l 108.81 31.11
+\l 106.96 31.26
+\l 105.30 32.24
+\l 104.35 33.60
+\l 104.88 34.77
+\l 105.26 35.41
+\l 105.07 36.51
+\l 105.03 38.06
+\l 105.22 38.97
+\l 104.39 42.41
+\l 104.05 43.05
+\l 103.37 44.60
+\l 103.14 46.30
+\l 103.03 47.85
+\l 102.96 48.38
+\l 102.35 48.23
+\l 101.90 46.94
+\l 102.05 45.69
+\l 100.99 43.50
+\l 100.54 41.61
+\l 100.73 39.35
+\l 100.27 37.08
+\l 99.70 35.30
+\l 100.01 34.47
+\l 100.73 32.96
+
+\s
+\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han8.pgf new/tex/latex/pgfornament-han/han/han8.pgf
--- old/tex/latex/pgfornament-han/han/han8.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han8.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han8.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/han/han9.pgf new/tex/latex/pgfornament-han/han/han9.pgf
--- old/tex/latex/pgfornament-han/han/han9.pgf 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/han/han9.pgf 2019-08-11 22:36:54.000000000 +0200
@@ -1,5 +1,5 @@
% han9.pgf
-% pgfornament-han v0.32 2018/04/09
+% pgfornament-han v0.33 2019/08/10
% Author: LIM LianTze
\pgfsetrectcap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/pgflibraryhan.code.tex new/tex/latex/pgfornament-han/pgflibraryhan.code.tex
--- old/tex/latex/pgfornament-han/pgflibraryhan.code.tex 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/pgflibraryhan.code.tex 2019-08-11 22:36:54.000000000 +0200
@@ -1,4 +1,4 @@
-% pgflibraryhan.code.tex v0.32 2018/04/09
+% pgflibraryhan.code.tex v0.33 2019/08/10
% Authors: pgf and LaTeX code by LIM LianTze
% based on CAD drawing by ZHANG Chennan
@@ -82,6 +82,7 @@
\or\def\@pgfornamentX{300}\def\@pgfornamentY{300}% 75
\or\def\@pgfornamentX{120}\def\@pgfornamentY{122.5}% 76
\or\def\@pgfornamentX{120}\def\@pgfornamentY{122.5}% 77
+\or\def\@pgfornamentX{123}\def\@pgfornamentY{69}% 78
\fi%
}%
\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament-han/pgfornament-han.sty new/tex/latex/pgfornament-han/pgfornament-han.sty
--- old/tex/latex/pgfornament-han/pgfornament-han.sty 2018-04-09 23:10:25.000000000 +0200
+++ new/tex/latex/pgfornament-han/pgfornament-han.sty 2019-08-11 22:36:54.000000000 +0200
@@ -1,4 +1,4 @@
-% pgfornamenthan.sty v0.32 2018/04/09
+% pgfornamenthan.sty v0.33 2019/08/10
% Authors: pgf and LaTeX code by LIM LianTze
% based on CAD drawing by ZHANG Chennan
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgfornament-han.tlpobj new/tlpkg/tlpobj/pgfornament-han.tlpobj
--- old/tlpkg/tlpobj/pgfornament-han.tlpobj 2019-02-28 03:59:28.000000000 +0100
+++ new/tlpkg/tlpobj/pgfornament-han.tlpobj 2020-03-09 00:28:46.000000000 +0100
@@ -1,6 +1,6 @@
name pgfornament-han
category Package
-revision 47789
+revision 54191
shortdesc pgfornament library for Chinese traditional motifs and patterns
relocated 1
longdesc This package provides a pgfornament library for Chinese
@@ -8,13 +8,13 @@
longdesc takes the same options as \pgfornament from the pgfornament
longdesc package, but renders Chinese traditional motifs instead. The
longdesc list of supported motifs, as well as some examples, can be
-longdesc found in the accompanying documentation. Yi pgfornament Hong
+longdesc found in the accompanying documentation. Yi pgfornament Hong
longdesc Bao De Ji Zhi ,Shi Xian Hui Zhi Yi Feng Tu Wen .
-longdesc \pgfornamenthan He \pgfornament De Can Shu Shi Yi Yang De
-longdesc ;Bian Yi De Chu Lai De Dang Ran Shi Yi Feng Wen Yang Liao .
-longdesc Hong Bao Shou Ce Li You Wan Zheng De Wen Yang Lie Biao Yi Ji
-longdesc Shi Yong Fan Li .
-runfiles size=128
+longdesc \pgfornamenthan He \pgfornament De Can Shu Shi Yi Yang De ;Bian
+longdesc Yi De Chu Lai De Dang Ran Shi Yi Feng Wen Yang Liao . Hong Bao
+longdesc Shou Ce Li You Wan Zheng De Wen Yang Lie Biao Yi Ji Shi Yong
+longdesc Fan Li .
+runfiles size=130
RELOC/tex/latex/pgfornament-han/beamerthemeHeavenlyClouds.sty
RELOC/tex/latex/pgfornament-han/beamerthemeXiaoshan.sty
RELOC/tex/latex/pgfornament-han/cncolours.sty
@@ -93,6 +93,7 @@
RELOC/tex/latex/pgfornament-han/han/han75.pgf
RELOC/tex/latex/pgfornament-han/han/han76.pgf
RELOC/tex/latex/pgfornament-han/han/han77.pgf
+ RELOC/tex/latex/pgfornament-han/han/han78.pgf
RELOC/tex/latex/pgfornament-han/han/han8.pgf
RELOC/tex/latex/pgfornament-han/han/han9.pgf
RELOC/tex/latex/pgfornament-han/pgflibraryhan.code.tex
@@ -100,6 +101,5 @@
catalogue-also pgfornament
catalogue-contact-repository https://github.com/liantze/pgfornament-han/
catalogue-ctan /graphics/pgf/contrib/pgfornament-han
-catalogue-date 2018-05-21 12:26:58 +0200
catalogue-license lppl1.3c
catalogue-topics pgf-tikz chinese graphics-symb presentation
++++++ pgfornament.doc.tar.xz ++++++
++++ 14686 lines of diff (skipped)
++++++ pgfornament.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfornament/vectorian/vectorian170.pgf new/tex/generic/pgfornament/vectorian/vectorian170.pgf
--- old/tex/generic/pgfornament/vectorian/vectorian170.pgf 2016-03-08 23:40:14.000000000 +0100
+++ new/tex/generic/pgfornament/vectorian/vectorian170.pgf 2020-04-12 00:46:17.000000000 +0200
@@ -1,3 +1,5 @@
+\r 0 0 226 79
+\ubb
\m 14.0334 8.0432
\c 14.0334 8.0432 22.7896 12.6699 35.7457 10.1072
\c 48.7011 7.5453 55.1084 7.617 57.9539 10.9624
@@ -28,3 +30,4 @@
\c 33.6809 7.4742 33.112 17.2256 33.112 17.2256
\c 35.9595 6.0501 47.9177 0.4262 47.9177 0.4262
\s
+\endinput
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfornament/vectorian/vectorian176.pgf new/tex/generic/pgfornament/vectorian/vectorian176.pgf
--- old/tex/generic/pgfornament/vectorian/vectorian176.pgf 2016-03-08 23:40:14.000000000 +0100
+++ new/tex/generic/pgfornament/vectorian/vectorian176.pgf 2020-04-12 00:46:17.000000000 +0200
@@ -102,4 +102,3 @@
\c 5.8466 20.5334 7.9524 21.6774 7.9524 21.6774
\o
\s
-} def
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfornament/vectorian/vectorian70.pgf new/tex/generic/pgfornament/vectorian/vectorian70.pgf
--- old/tex/generic/pgfornament/vectorian/vectorian70.pgf 2016-03-08 23:40:14.000000000 +0100
+++ new/tex/generic/pgfornament/vectorian/vectorian70.pgf 2020-04-12 00:46:17.000000000 +0200
@@ -1,5 +1,3 @@
-\r 0 0 226 79
-\i
\m 199.0251 68.6723
\c 186.7051 68.4003 182.3083 62.8803 175.3723 56.0483
\c 168.4363 49.2323 167.6379 47.4083 164.9099 47.4083
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfornament/vectorian/vectorian87.pgf new/tex/generic/pgfornament/vectorian/vectorian87.pgf
--- old/tex/generic/pgfornament/vectorian/vectorian87.pgf 2016-03-08 23:40:14.000000000 +0100
+++ new/tex/generic/pgfornament/vectorian/vectorian87.pgf 2020-04-12 00:46:17.000000000 +0200
@@ -1,4 +1,4 @@
-\r 79 0 356.5 44
+\r 79 0 356.5 45
\i
\m 430.7596 22.4588
\c 426.0989 22.5333 419.3224 21.888 415.6531 19.7041
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament/pgflibraryam.code.tex new/tex/latex/pgfornament/pgflibraryam.code.tex
--- old/tex/latex/pgfornament/pgflibraryam.code.tex 2016-03-08 23:40:14.000000000 +0100
+++ new/tex/latex/pgfornament/pgflibraryam.code.tex 2020-04-12 00:46:17.000000000 +0200
@@ -1,6 +1,18 @@
-% utf8
-% author Alain Matthes d'après des travaux de F Fradin et H Voss sur un fichier
-% 21/01/2012
+% pgflibraryam.code.tex (utf8 encoding)
+% Copyright 2020 Alain Matthes
+% This work 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
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% Original idea of F Fradin and H Voss
+\typeout{2020/04/06 1.1 pgflibraryam.code.tex}
\makeatletter
% dimensions des motifs
@@ -8,6 +20,7 @@
\ifcase#1\relax%
\or\def\@pgfornamentX{136}\def\@pgfornamentY{107}% 1
\or\def\@pgfornamentX{133}\def\@pgfornamentY{48}% 2
+\or\def\@pgfornamentX{133}\def\@pgfornamentY{48}% 2
\fi%
}%
% appels des motifs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament/pgflibrarypgfhan.code.tex new/tex/latex/pgfornament/pgflibrarypgfhan.code.tex
--- old/tex/latex/pgfornament/pgflibrarypgfhan.code.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/pgfornament/pgflibrarypgfhan.code.tex 2020-04-12 00:46:17.000000000 +0200
@@ -0,0 +1,110 @@
+% pgflibraryhan.code.tex (utf8 encoding)
+% Copyright 2020 LIM LianTze,ZHANG Chennan and Alain Matthes
+% Based on the original file pgflibraryhan.code.tex v0.33 2019/08/10
+% pgflibraryhan.code.tex v0.33 2019/08/10
+% Authors: pgf and LaTeX code by LIM LianTze
+% based on CAD drawing by ZHANG Chennan
+%---------%---------%---------%---------%---------%---------%---------%---------
+% This work 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
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+%---------%---------%---------%---------%---------%---------%---------%---------
+% Original idea of F Fradin and H Voss
+\typeout{2020/04/03 1.0 pgflibraryhan.code.tex}
+%---------%---------%---------%---------%---------%---------%---------%---------
+% modification am \@pgfornamentDim#1 instead of pgfornamenthanDim#1
+%---------%---------%---------%---------%---------%---------%---------%---------
+\makeatletter
+\def\@pgfornamentDim#1{% dim in bp
+\ifcase#1\relax%
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 1
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 2
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 3
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 4
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 5
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 6
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 7
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 8
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 9
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 10
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 11
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 12
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 13
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 14
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 15
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 16
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 17
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 18
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 19
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 20
+\or\def\@pgfornamentX{260}\def\@pgfornamentY{260}% 21
+\or\def\@pgfornamentX{260}\def\@pgfornamentY{260}% 22
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 23
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 24
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 25
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 26
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 27
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 28
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{10}% 29
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{10}% 30
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{40}% 31
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{40}% 32
+\or\def\@pgfornamentX{75}\def\@pgfornamentY{60}% 33
+\or\def\@pgfornamentX{75}\def\@pgfornamentY{60}% 34
+\or\def\@pgfornamentX{100}\def\@pgfornamentY{60}% 35
+\or\def\@pgfornamentX{100}\def\@pgfornamentY{60}% 36
+\or\def\@pgfornamentX{125}\def\@pgfornamentY{110}% 37
+\or\def\@pgfornamentX{125}\def\@pgfornamentY{110}% 38
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{110}% 39
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{110}% 40
+\or\def\@pgfornamentX{115}\def\@pgfornamentY{60}% 41
+\or\def\@pgfornamentX{115}\def\@pgfornamentY{60}% 42
+\or\def\@pgfornamentX{140}\def\@pgfornamentY{60}% 43
+\or\def\@pgfornamentX{140}\def\@pgfornamentY{60}% 44
+\or\def\@pgfornamentX{130}\def\@pgfornamentY{60}% 45
+\or\def\@pgfornamentX{130}\def\@pgfornamentY{60}% 46
+\or\def\@pgfornamentX{155}\def\@pgfornamentY{60}% 47
+\or\def\@pgfornamentX{155}\def\@pgfornamentY{60}% 48
+\or\def\@pgfornamentX{360}\def\@pgfornamentY{360}% 49
+\or\def\@pgfornamentX{360}\def\@pgfornamentY{360}% 50
+\or\def\@pgfornamentX{360}\def\@pgfornamentY{360}% 51
+\or\def\@pgfornamentX{360}\def\@pgfornamentY{360}% 52
+\or\def\@pgfornamentX{360}\def\@pgfornamentY{360}% 53
+\or\def\@pgfornamentX{360}\def\@pgfornamentY{360}% 54
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 55
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 56
+\or\def\@pgfornamentX{200}\def\@pgfornamentY{200}% 57
+\or\def\@pgfornamentX{810}\def\@pgfornamentY{270}% 58
+\or\def\@pgfornamentX{810}\def\@pgfornamentY{270}% 59
+\or\def\@pgfornamentX{450}\def\@pgfornamentY{120}% 60
+\or\def\@pgfornamentX{450}\def\@pgfornamentY{120}% 61
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{180}% 62
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{180}% 63
+\or\def\@pgfornamentX{350}\def\@pgfornamentY{210}% 64
+\or\def\@pgfornamentX{350}\def\@pgfornamentY{210}% 65
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{180}% 66
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{180}% 67
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{170}% 68
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{170}% 69
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{140}% 70
+\or\def\@pgfornamentX{400}\def\@pgfornamentY{140}% 71
+\or\def\@pgfornamentX{300}\def\@pgfornamentY{300}% 72
+\or\def\@pgfornamentX{300}\def\@pgfornamentY{300}% 73
+\or\def\@pgfornamentX{300}\def\@pgfornamentY{300}% 74
+\or\def\@pgfornamentX{300}\def\@pgfornamentY{300}% 75
+\or\def\@pgfornamentX{120}\def\@pgfornamentY{122.5}% 76
+\or\def\@pgfornamentX{120}\def\@pgfornamentY{122.5}% 77
+\or\def\@pgfornamentX{123}\def\@pgfornamentY{69}% 78
+\fi%
+}%
+\makeatother
+\endinput
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament/pgflibraryvectorian.code.tex new/tex/latex/pgfornament/pgflibraryvectorian.code.tex
--- old/tex/latex/pgfornament/pgflibraryvectorian.code.tex 2016-03-08 23:40:14.000000000 +0100
+++ new/tex/latex/pgfornament/pgflibraryvectorian.code.tex 2020-04-12 00:46:17.000000000 +0200
@@ -1,6 +1,18 @@
-% utf8
-% author Alain Matthes d'après des travaux de F Fradin et H Voss sur un fichier
-% 21/01/2012
+% pgflibraryvectorian.code.tex (utf8 encoding)
+% Copyright 2020 Alain Matthes
+% This work 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
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% Original idea of F Fradin and H Voss
+\typeout{2020/04/06 1.1 pgflibraryvectorian.code.tex}
\makeatletter
% dimensions des motifs
\def\@pgfornamentDim#1{% dim en bp
@@ -71,7 +83,7 @@
\or\def\@pgfornamentX{212}\def\@pgfornamentY{212}% 64
\or\def\@pgfornamentX{132}\def\@pgfornamentY{166}% 65
\or\def\@pgfornamentX{177}\def\@pgfornamentY{175}% 66
-\or\def\@pgfornamentX{80} \def\@pgfornamentY{155}% 67
+\or\def\@pgfornamentX{80}\def\@pgfornamentY{155}% 67
\or\def\@pgfornamentX{361}\def\@pgfornamentY{154}% 68
\or\def\@pgfornamentX{448}\def\@pgfornamentY{227}% 69
\or\def\@pgfornamentX{226}\def\@pgfornamentY{79}% 70
@@ -94,7 +106,7 @@
\or\def\@pgfornamentX{360}\def\@pgfornamentY{44}% 87
\or\def\@pgfornamentX{454}\def\@pgfornamentY{15}% 88
\or\def\@pgfornamentX{454}\def\@pgfornamentY{10}% 89
-\or\def\@pgfornamentX{30} \def\@pgfornamentY{30}% 90
+\or\def\@pgfornamentX{30}\def\@pgfornamentY{30}% 90
\or\def\@pgfornamentX{44}\def\@pgfornamentY{29}% 91
\or\def\@pgfornamentX{43}\def\@pgfornamentY{29}% 92
\or\def\@pgfornamentX{59}\def\@pgfornamentY{29}% 93
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament/pgfornament.sty new/tex/latex/pgfornament/pgfornament.sty
--- old/tex/latex/pgfornament/pgfornament.sty 2016-03-11 00:22:07.000000000 +0100
+++ new/tex/latex/pgfornament/pgfornament.sty 2020-04-12 00:46:17.000000000 +0200
@@ -1,41 +1,44 @@
-% utf8
-% ------------------------------------------------
-% Created by Alain Matthes le 2012-02-22.
-% Copyright (C) 2016 Alain Matthes
-% This file may be distributed and/or modified
+% pgfornament.sty (utf8 encoding)
+% Copyright 2020 Alain Matthes
+% This work 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
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
-% 1. under the LaTeX Project Public License , either version 1.3
-% of this license or (at your option) any later version and/or
-% 2. under the GNU Public License.
-% ------------------------------------------------
-%% pgfornament.sty 0.2 du 05/03/2016 inspired from psvectorian P Fradin H Voss
-%% ------------------------------------------------
-% Les options de \pgfornament sont:
-%
-% scale : nombre (échelle, 1 par défaut)
-% width : nombre + unité (largeur, naturelle par défaut)
-% height : nombre + unité (hauteur, naturelle par défaut)
-% color : couleur ( par défaut couleur courante )
-% symmetry=h : true/false (symétrie horizontale, false par défaut)
-% symmetry=v : true/false (symétrie verticale, false par défaut)
-% symmetry=c : true/false (symétrie centrale h+v,false par défaut)
-\NeedsTeXFormat{LaTeX2e}%
-\RequirePackage{tikz,pgfopts}%
-\ProvidesPackage{pgfornament}[2016/03/05 v0.21 vector ornaments]%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+%---------%---------%---------%---------%---------%---------%---------%---------
+% First version created by Alain Matthes le 2012-02-22.
+%---------%---------%---------%---------%---------%---------%---------%---------
+% Inspired from psvectorian P Fradin H Voss
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{tikz,pgfopts}
+\ProvidesPackage{pgfornament}[2020/04/06 v1.1 vector ornaments]
\gdef\pgfOrnamentsObject{pgflibraryvectorian.code.tex}
\gdef\OrnamentsFamily{vectorian}
-\pgfkeys{
-/pgfOrnaments/object/.cd,
-/pgfOrnaments/object/.code = \gdef\pgfOrnamentsObject{pgflibrary#1.code.tex}
-\gdef\OrnamentsFamily{#1}
+\pgfkeys{%
+ /pgfOrnaments/object/.cd,
+ /pgfOrnaments/object/.code = \gdef\pgfOrnamentsObject{pgflibrary#1.code.tex}
+ \gdef\OrnamentsFamily{#1}%
}
\ProcessPgfOptions{/pgfOrnaments}
\input{\pgfOrnamentsObject}%
+%---------%---------%---------%---------%---------%---------%---------%--------
+% tools
+%---------%---------%---------%---------%---------%---------%---------%--------
\makeatletter
+\newenvironment{newfamily}[1][vectorian]{%
+ \global\let\SavedOrnamentsFamily\OrnamentsFamily
+ \newpgfornamentfamily{#1}
+ }{\newpgfornamentfamily{\SavedOrnamentsFamily}}%
-% appels des motifs
\def\pgf@@ornament#1{%
\begingroup
+\def\ubb{\pgfusepath{use as bounding box}}
\def\i{\pgfusepath{clip}}%
\def\k{\pgfusepath{stroke}}%
\let\o\pgfpathclose
@@ -49,33 +52,65 @@
\@@input \OrnamentsFamily#1.pgf%
\endgroup}%
+\newcommand{\callornament}[1]{%
+\begingroup
+\def\ubb{\pgfusepath{use as bounding box}}
+\def\i{\pgfusepath{clip}}%
+\let\o\pgfpathclose
+\let\s\pgfusepathqfillstroke
+\def\p ##1##2{\pgfqpoint{##1bp}{##2bp}}%
+\def\m ##1 ##2 {\pgfpathmoveto{\p{##1}{##2}}}%
+\def\l ##1 ##2 {\pgfpathlineto{\p{##1}{##2}}}%
+\def\r ##1 ##2 ##3 ##4 {\pgfpathrectangle{\p{##1}{##2}}{%
+ \p{##3}{##4}}}%
+\def\c ##1 ##2 ##3 ##4 ##5 ##6 {%
+\pgfpathcurveto{\p{##1}{##2}}{\p{##3}{##4}}{\p{##5}{##6}}}%
+\@@input #1\relax
+\endgroup}
+%---------%---------%---------%---------%---------%---------%---------%---------
+% Les options de \pgfornament sont:
+%
+% scale : nombre (échelle, 1 par défaut)
+% width : nombre + unité (largeur, naturelle par défaut)
+% height : nombre + unité (hauteur, naturelle par défaut)
+% color : couleur ( par défaut couleur courante )
+% symmetry=h : true/false (symétrie horizontale, false par défaut)
+% symmetry=v : true/false (symétrie verticale, false par défaut)
+% symmetry=c : true/false (symétrie centrale h+v,false par défaut)
+%---------%---------%---------%---------%---------%---------%---------%--------
\tikzset{pgfornamentstyle/.style={}}%
\pgfkeys{%
-/ornament/.cd,
-scale/.code = {\def\pgfornamentscale{#1}},
-width/.code = {\def\pgfornamentwidth{#1}},
-height/.code = {\def\pgfornamentheight{#1}},
-color/.code = {\def\pgfornamentcolor{#1}},
-opacity/.code = {\def\pgfornamentopacity{#1}},
-anchor/.code = {\def\pgfornamentanchor{#1}},
-ydelta/.code = {\def\pgfornamentydelta{#1}},
-symmetry/.is choice,
-symmetry/v/.code = {\tikzset{pgfornamentstyle/.append style={cm={-1,0,0,1,(0,0)}}}},
-symmetry/c/.code = {\tikzset{pgfornamentstyle/.append style={cm={-1,0,0,-1,(0,0)}}}},
-symmetry/h/.code = {\tikzset{pgfornamentstyle/.append style={cm={1,0,0,-1,(0,0)}}}},
-symmetry/none/.code = {\tikzset{pgfornamentstyle/.append style={cm={1,0,0,1,(0,0)}}}}}%
+ /ornament/.cd,
+ scale/.code = {\def\pgfornamentscale{#1}},
+ width/.code = {\def\pgfornamentwidth{#1}},
+ height/.code = {\def\pgfornamentheight{#1}},
+ color/.code = {\def\pgfornamentcolor{#1}},
+ opacity/.code = {\def\pgfornamentopacity{#1}},
+ anchor/.code = {\def\pgfornamentanchor{#1}},
+ ydelta/.code = {\def\pgfornamentydelta{#1}},
+ symmetry/.is choice,
+ symmetry/v/.code = {\tikzset{pgfornamentstyle/.append
+ style={cm={-1,0,0,1,(0,0)}}}},
+ symmetry/c/.code = {\tikzset{pgfornamentstyle/.append
+ style={cm={-1,0,0,-1,(0,0)}}}},
+ symmetry/h/.code = {\tikzset{pgfornamentstyle/.append
+ style={cm={1,0,0,-1,(0,0)}}}},
+ symmetry/none/.code = {\tikzset{pgfornamentstyle/.append style={cm={1,0,0,1,(0,0)}}}}%
+}%
+%---------%---------%---------%---------%---------%---------%---------%---------
\def\pgfornament{\pgfutil@ifnextchar[{\pgf@ornament}{\pgf@ornament[]}}%
\def\pgf@ornament[#1]#2{%
-\pgfkeys{/ornament/.cd,
- scale = 1,
- opacity = {},
- width = {},
- height = {},
- color = {},
- ydelta = 0 pt,
- symmetry = none ,
- anchor = center}%
-%
+\pgfkeys{%
+ /ornament/.cd,
+ scale = 1,
+ opacity = {},
+ width = {},
+ height = {},
+ color = {},
+ ydelta = 0 pt,
+ symmetry = none ,
+ anchor = center
+ }%
\pgfqkeys{/ornament}{#1}%
\ifx\pgfornamentcolor\empty
\tikzset{pgfornamentstyle/.append style={}}%
@@ -89,32 +124,36 @@
\fi
\ifx\pgfornamentwidth\empty
\else
- \@pgfornamentDim{#2}%
- \pgfmathsetmacro{\pgfornamentscale}{\pgfornamentwidth/\@pgfornamentX bp}%
+ \@pgfornamentDim{#2}
+ \pgfmathsetmacro{\pgfornamentscale}{\pgfornamentwidth/\@pgfornamentX bp}%
\fi
\ifx\pgfornamentheight\empty
\else
- \@pgfornamentDim{#2}%
- \pgfmathsetmacro{\pgfornamentscale}{\pgfornamentheight/\@pgfornamentY bp}%
+ \@pgfornamentDim{#2}
+ \pgfmathsetmacro{\pgfornamentscale}{\pgfornamentheight/\@pgfornamentY bp}%
\fi
\begin{tikzpicture}[%
- baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},pgfornamentstyle]
+baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
+ pgfornamentstyle]
\pgftransformscale{\pgfornamentscale}%
\pgf@@ornament{#2}%
\end{tikzpicture}%
-\tikzset{pgfornamentstyle/.style={cm={1,0,0,1,(0,0)}}}%
-}%
+\tikzset{pgfornamentstyle/.style={cm={1,0,0,1,(0,0)}}}
+}% end pgfornament
+
\gdef\ornamenttopos{.5}
\gdef\ornamenttoanchor{center}
\gdef\ornamenttosymmetry{none}
-\tikzset{options default/.style={anchor=center,sloped,allow upside down,inner sep=0pt}}
-\tikzset{%
-ornament/at/.code={\def\ornamenttopos{#1}},
-options/.style={options default,#1},
-ornament symmetry/.code={\def\ornamenttosymmetry{#1}},
-node anchor/.code={\def\ornamenttoanchor{#1}},
-ornament/.style={%
-to path={%
+\tikzset{options default/.style={anchor=center,
+ sloped,
+ allow upside down,
+ inner sep=0pt}}
+\tikzset{ornament/at/.code={\def\ornamenttopos{#1}},
+ options/.style={options default,#1},
+ ornament symmetry/.code={\def\ornamenttosymmetry{#1}},
+ node anchor/.code={\def\ornamenttoanchor{#1}},
+ ornament/.style={%
+ to path={%
\pgfextra{%
\tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax
\pgf@xa=\pgf@x
@@ -126,14 +165,15 @@
\advance\pgf@ya by-\pgf@yb
\pgfmathveclen{\pgf@xa}{\pgf@ya}%
\global\let\ornamentlen\pgfmathresult}
- -- node [pos=\ornamenttopos,options,
- anchor=\ornamenttoanchor]{%
+ -- node [pos=\ornamenttopos,options,
+ anchor=\ornamenttoanchor]{%
\pgfornament[width = \ornamentlen,
- symmetry=\ornamenttosymmetry]{#1}}
+ symmetry=\ornamenttosymmetry]{#1}}
(\tikztotarget)\tikztonodes %end pgfextra
}% end to path
}% end style
-}%
+}% end \tikzset
+
\def\pgfornamenthline#1#2#3#4{%
\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{#3 east}}
\pgf@xa=\pgf@x
@@ -163,9 +203,27 @@
\pgfmathsetmacro{#1}{atan2(\pgf@x,\pgf@y)}%
}%
\makeatother
-
\newcommand{\resetpgfornamentstyle}{\tikzset{pgfornamentstyle/.style={}}}
-
-\endinput
-% End
+% 2020 Changing vector objects
+\def\newpgfornamentfamily#1{%
+ \edef\OrnamentsFamily{#1}
+ \gdef\pgfOrnamentsObject{pgflibrary\OrnamentsFamily.code.tex}
+ \input{\pgfOrnamentsObject}%
+ }%
+
+\makeatletter
+\pgfkeys{/ornamentline/.cd,
+ color/.store in = \ornamentcolor,
+ color = black,
+ /ornamentline/.search also={/tikz}}
+\def\pgfornamentline{\pgfutil@ifnextchar[{\pgf@ornamentline}{\pgf@ornamentline[]}}%
+\def\pgf@ornamentline[#1]#2#3#4#5{%
+
+\pgfqkeys{/ornamentline}{#1}%
+\pgfmathsetmacro\nbo{#4}
+\path (#2) -- (#3) foreach \i in {0,...,\nbo} {coordinate[pos=\i/\nbo] (p\i)}
+ [color=\ornamentcolor] foreach \i [count=\j] in {0,...,\number\numexpr\nbo-1} { (p\i) to [ornament=#5] (p\j)};
+}
+\makeatother
+\endinput
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pgfornament/tikzrput.sty new/tex/latex/pgfornament/tikzrput.sty
--- old/tex/latex/pgfornament/tikzrput.sty 2016-03-08 23:40:14.000000000 +0100
+++ new/tex/latex/pgfornament/tikzrput.sty 2020-04-12 00:46:17.000000000 +0200
@@ -1,20 +1,21 @@
-% utf8
-% tikzrput.sty 0.3 du 05/03/2016 inspired from rput (pstricks)
-% ------------------------------------------------
-% Created by Alain Matthes le 2012-02-22.
-% Copyright (c) 2012 __AlterMundus__.
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License , either version 1.3
-% of this license or (at your option) any later version and/or
-% 2. under the GNU Public License.
-% ------------------------------------------------
-% Options are the same of /rput in pstricks
+% pgflibraryam.code.tex (utf8 encoding)
+% Copyright 2020 Alain Matthes
+% This work 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
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+\typeout{2020/04/06 1.1 pgflibraryam.code.tex}
\NeedsTeXFormat{LaTeX2e}%
-\RequirePackage{tikz,ifpdf}%
-\ProvidesPackage{tikzrput}[2016/03/05 v0.3 rput for tikz]%
+\RequirePackage{tikz,iftex}%
+\ProvidesPackage{tikzrput}[2020/04/04 v1.1 rput for tikz]%
\edef\tikzrputPtVirCode{\the\catcode`\;}
\edef\tikzrputAtCode{\the\catcode`\@}
\edef\tikzrputTwoPtCode{\the\catcode`\:}
@@ -62,17 +63,17 @@
\let\rput@pos@rb\rput@pos@br
\let\rput@pos@lb\rput@pos@bl
\newbox\mybox
-\ifpdf
+\ifpdf% Pablo 04/2020
\pgfutil@ifundefined{rput}{%
\tikzset{rput style/.style={}}
\def\rput{\pgfutil@ifnextchar[{\rput@i}{%
- \global\edef\opt@rput{}\rput@ii}}%
+ \global\edef\opt@rput{}\rput@ii}}%
\def\rput@i[#1]{\global\edef\opt@rput{#1}\rput@ii}%
\def\rput@ii{\pgfutil@ifnextchar({%
- \def\angle@rput{0}\rput@iv}{\rput@iii}}%
+ \def\angle@rput{0}\rput@iv}{\rput@iii}}%
\def\rput@iii#1{%
\ifx\rput@empty#1\rput@empty\def\angle@rput{0}\else%
- \def\angle@rput{#1}\fi%
+ \def\angle@rput{#1}\fi%
\pgfutil@ifnextchar({\rput@iv}{\rput@iv(0,0)}}%,
\def\rput@iv(#1){\def\pos@rput{#1}%
\rput@parsecoordinate{#1}%
@@ -81,25 +82,25 @@
\sbox\mybox{%
\pgfinterruptpicture#1\endpgfinterruptpicture}%
\begingroup
- \tikzifinpicture{%
- \let\begin@my@tikz@env\scope
- \let\end@my@tikz@env\endscope
- }{%
- \let\begin@my@tikz@env\tikzpicture
- \let\end@my@tikz@env\endtikzpicture
- }%
- \@nameuse{rput@pos@\opt@rput}%
- \begin{pgfinterruptboundingbox}%
- \begin@my@tikz@env[overlay]
- \path (0,0)--(\pos@rput);
- \protected@edef\rput@temp{%
- \noexpand\node[inner sep = 0pt,
- anchor = \rput@anchor,
- rotate = \angle@rput,
- rput style]}%
- \rput@temp at (\pos@rput){\box\mybox};
- \end@my@tikz@env
- \end{pgfinterruptboundingbox}%
+ \tikzifinpicture{%
+ \let\begin@my@tikz@env\scope
+ \let\end@my@tikz@env\endscope
+ }{%
+ \let\begin@my@tikz@env\tikzpicture
+ \let\end@my@tikz@env\endtikzpicture
+ }%
+ \@nameuse{rput@pos@\opt@rput}%
+ \begin{pgfinterruptboundingbox}%
+ \begin@my@tikz@env[overlay]
+ \path (0,0)--(\pos@rput);
+ \protected@edef\rput@temp{%
+ \noexpand\node[inner sep = 0pt,
+ anchor = \rput@anchor,
+ rotate = \angle@rput,
+ rput style]}%
+ \rput@temp at (\pos@rput){\box\mybox};
+ \end@my@tikz@env
+ \end{pgfinterruptboundingbox}%
\endgroup
\ignorespaces
}%
@@ -109,4 +110,4 @@
\catcode`\;=\tikzrputPtVirCode\relax
\catcode`\@=\tikzrputAtCode\relax
\catcode`\:=\tikzrputTwoPtCode\relax
-\endinput
\ No newline at end of file
+\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgfornament.tlpobj new/tlpkg/tlpobj/pgfornament.tlpobj
--- old/tlpkg/tlpobj/pgfornament.tlpobj 2019-02-28 03:59:26.000000000 +0100
+++ new/tlpkg/tlpobj/pgfornament.tlpobj 2020-04-12 01:55:38.000000000 +0200
@@ -1,12 +1,12 @@
name pgfornament
category Package
-revision 39988
+revision 54670
shortdesc Drawing of Vectorian ornaments with PGF/TikZ
relocated 1
longdesc This package allows the drawing of Vectorian ornaments (196)
longdesc with PGF/TikZ. The documentation presents the syntax and
longdesc parameters of the macro "pgfornament".
-runfiles size=518
+runfiles size=521
RELOC/tex/generic/pgfornament/am/am1.pgf
RELOC/tex/generic/pgfornament/am/am2.pgf
RELOC/tex/generic/pgfornament/vectorian/vectorian1.pgf
@@ -206,12 +206,13 @@
RELOC/tex/generic/pgfornament/vectorian/vectorian98.pgf
RELOC/tex/generic/pgfornament/vectorian/vectorian99.pgf
RELOC/tex/latex/pgfornament/pgflibraryam.code.tex
+ RELOC/tex/latex/pgfornament/pgflibrarypgfhan.code.tex
RELOC/tex/latex/pgfornament/pgflibraryvectorian.code.tex
RELOC/tex/latex/pgfornament/pgfornament.sty
RELOC/tex/latex/pgfornament/tikzrput.sty
catalogue-also pgf
+catalogue-contact-home http://altermundus.fr
catalogue-ctan /macros/latex/contrib/tkz/pgfornament
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics graphics-plot decoration
-catalogue-version 0.21
+catalogue-version 1.1
++++++ pgfplots.doc.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-r/pgfplots.doc.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-r.new.3606/pgfplots.doc.tar.xz differ: char 26, line 1
++++++ pgfplots.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex new/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex
--- old/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex 2017-06-06 01:09:50.000000000 +0200
+++ new/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -374,6 +374,76 @@
}%
}%
+% This is JUST a curveto operation! Nothing special.
+\pgfplotsdeclarepatchclass{bezier spline}{%
+ get dimension=\def\pgfplotsretval{1},
+ supports global path=\def\pgfplotsretval{1},
+ new=\def\pgfplotspatchclass@cspline@no{A},
+ set next vertex={%
+ % EXPECTED ORDERING: first 2 corners, then 2 control points
+ % (NOT interpolatory).
+ % defines \pgfplotspatchclass@cspline@A ... \pgfplotspatchclass@cspline@D (4 points)
+ \expandafter\edef\csname pgfplotspatchclass@cspline@\pgfplotspatchclass@cspline@no\endcsname{#1}%
+ \if D\pgfplotspatchclass@cspline@no
+ \def\pgfplotspatchclass@cspline@no{A}%
+ \pgfplotspatchready
+ \else
+ \expandafter\let\expandafter\pgfplotspatchclass@cspline@no\csname pgfpptchindexnext@\pgfplotspatchclass@cspline@no\endcsname
+ \fi
+ },
+ if current point can be first last={%
+ \pgfplots@loc@tmpfalse
+ \if B\pgfplotspatchclass@cspline@no
+ % Ah - the current point is the 'A' point (we have
+ % advanced the '@no' counter)
+ \pgfplots@loc@tmptrue
+ \fi
+ \if C\pgfplotspatchclass@cspline@no
+ % Ah - the current point is the 'B' point (we have
+ % advanced the '@no' counter)
+ \pgfplots@loc@tmptrue
+ \fi
+ \ifpgfplots@loc@tmp
+ #1\relax%
+ \else
+ #2\relax
+ \fi
+ },
+ first vertex=\expandafter\pgfplotspatchvertex\pgfplotspatchclass@cspline@A\endvertex,
+ foreach vertex={%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass@cspline@A\endvertex #1%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass@cspline@B\endvertex #1%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass@cspline@C\endvertex #1%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass@cspline@D\endvertex #1%
+ },
+ fill path={%
+ % Draw the patch boundary using a bezier curve.
+ \pgfplotsplothandlermesh@pathmoveto{\expandafter\pgfplotspointpatchvertex\pgfplotspatchclass@cspline@A\endvertex}%
+ \pgfpathcurveto {
+ \expandafter\pgfplotspointpatchvertex\pgfplotspatchclass@cspline@C\endvertex
+ }{
+ \expandafter\pgfplotspointpatchvertex\pgfplotspatchclass@cspline@D\endvertex
+ }{%
+ \expandafter\pgfplotspointpatchvertex\pgfplotspatchclass@cspline@B\endvertex
+ }%
+ \pgfplotsplothandlermesh@setlastpoint{\expandafter\pgfplotspointpatchvertex\pgfplotspatchclass@cspline@B\endvertex}%
+ },
+ triangulate class=\def\pgfplotsretval{line},
+ triangulate={%
+ \let\pgfplotsplothandlermesh@patchclass@=\pgfplotsplothandlermesh@patchclass
+ \def\pgfplotsplothandlermesh@patchclass{line}%
+ \pgfplotspatchclass{\pgfplotsplothandlermesh@patchclass}{new}%
+ % XXX : very poor quality ...
+ \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@cspline@A}%
+ \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@cspline@B}%
+ \let\pgfplotsplothandlermesh@patchclass=\pgfplotsplothandlermesh@patchclass@
+ },%
+ get pdf shading type=0,
+ get num vertices=\def\pgfplotsretval{4},
+}%
+
+
+
% make a linearized sequence around the edge of the quad.triangle.
% note the ordering: first 3 corners, then 3 mid nodes:
\def\pgfplots@qtri@next@A{D}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex new/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex
--- old/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex 2014-08-07 00:47:59.000000000 +0200
+++ new/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -598,6 +598,9 @@
}
\let\pgfplotspoint@initialisation@units@orig=\pgfplotspoint@initialisation@units
\def\pgfplotspoint@initialisation@units@smithchart{%
+ \ifpgfplots@smithchart@mirrored
+ \pgfplots@warning{The key 'smithchart mirrored' is based on a mistake of the author. It does NOT resemble Admittance Smith charts!}%
+ \fi
\pgfplotspoint@initialisation@units@orig
\def\pgfplotspointunity{%
\pgfplotspointouternormalvectorofaxisgetv{0v0}% x=0 (outer circle) and v varies (the yticks)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/numtable/pgfplotstable.code.tex new/tex/generic/pgfplots/numtable/pgfplotstable.code.tex
--- old/tex/generic/pgfplots/numtable/pgfplotstable.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/numtable/pgfplotstable.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -407,7 +407,7 @@
}%
},%
/pgfplots/table/verb string type/.style={%
- /pgfplots/table/text special chars={\#,\|},% FIXME: too limited ...
+ /pgfplots/table/text special chars={\#,\|,\_},% FIXME: too limited ...
/pgfplots/table/assign cell content/.code={%
\def\pgfplotstable@loc@TMPa{##1}%
% hm... this here might be more robust instead of the line
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex new/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex
--- old/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -62,6 +62,7 @@
\newif\ifpgfplots@tableread@to@listener
\newif\ifpgfplots@tableread@use@begingroup
\newif\ifpgfplotstable@trimcells
+\newif\ifpgfplotstable@percent@is@letter
\newif\ifpgfplotstable@search@path@implicit@CWD
\pgfkeys{%
@@ -146,6 +147,7 @@
/pgfplots/table/ignore chars/.initial=,
/pgfplots/table/white space chars/.initial=,
/pgfplots/table/text special chars/.initial=,
+ /pgfplots/table/percent is letter/.is if=pgfplotstable@percent@is@letter,
/pgfplots/table/comment chars/.initial=,
/pgfplots/table/skip first n/.initial=0,
/pgfplots/table/trim cells/.is if=pgfplotstable@trimcells,
@@ -156,6 +158,7 @@
/pgfplots/table/read completely/auto/.code=\pgfplots@addplotimpl@readcompletelyfalse\def\pgfplots@addplotimpl@readcompletely@auto{1},
/pgfplots/table/read completely/.default=true,
/pgfplots/table/read completely=auto,
+ /pgfplots/table/text indicator/.initial=,
/pgfplots/table/col sep/.is choice,
/pgfplots/table/col sep/space/.code = {\def\pgfplotstableread@COLSEP@CASE{0}},
/pgfplots/table/col sep/comma/.code = {\def\pgfplotstableread@COLSEP@CASE{1}},
@@ -651,6 +654,7 @@
\noexpand\catcode`\noexpand\ =\the\catcode`\ \noexpand\space
\noexpand\catcode`\noexpand\;=\the\catcode`\;\noexpand\space
\noexpand\catcode`\noexpand\:=\the\catcode`\:\noexpand\space
+ \noexpand\catcode`\noexpand\%=\the\catcode`\%\noexpand\space
\noexpand\catcode`\noexpand\^^I=\the\catcode`\^^I\noexpand\space
\noexpand\let\noexpand\pgfplotstablereadrestorecatcodes=\noexpand\relax
}%
@@ -664,6 +668,10 @@
\fi
}
\let\pgfplotstablereadrestorecatcodes=\relax
+
+% ATTENTION: the following catcodes are ONLY useful for <inline tables>!
+% tables read from file need catcode adaptions as well; this is done
+% elsewhere!
\def\pgfplotstablereadpreparecatcodes@{%
\if0\pgfplotstableread@ROWSEP@CASE\relax
% row sep = newline
@@ -1052,6 +1060,10 @@
\else
\pgfplotstableinstallignorechars@\pgfplotstable@loc@TMPa{12}%
\fi
+ \ifpgfplotstable@percent@is@letter
+ \def\pgfplotstable@loc@TMPa{\%}%
+ \pgfplotstableinstallignorechars@\pgfplotstable@loc@TMPa{12}%
+ \fi
\ifx\pgfplotstableuninstallignorechars\pgfutil@empty
\else
\expandafter\def\expandafter\pgfplotstableuninstallignorechars\expandafter{%
@@ -1115,6 +1127,8 @@
\pgfplotstableread@countreset\pgfplotstableread@curcol
%
\pgfplotstableread@impl@prepare@DO
+ \pgfplotstableread@impl@prepare@DO@textindicator
+ %
\def\pgfplotstableread@isgnuplotformat{0}%
\global\pgfplotslistnewempty\pgfplotstable@colnames@glob
\pgfplotsscanlinelengthinitzero
@@ -1218,6 +1232,7 @@
%\pgfplots@message{EOF}%
\else
\read\r@pgfplots@reada to\pgfplotstable@LINE
+%\message{read with \the\catcode`\%: \meaning\pgfplotstable@LINE^^J}%
\ifeof\r@pgfplots@reada
\else
\pgfplotstableread@loop@processnextline
@@ -1310,7 +1325,10 @@
\fi
\ifnum\pgfplotstableread@curcol=\pgfplotstableread@numcols\relax
\else
- \pgfplotsthrow{table columns unbalanced}{input table '\pgfplotstableread@filename' has an unbalanced number of columns in row '\thepgfplotstableread@lineno' (expected '\thepgfplotstableread@numcols' cols; got '\thepgfplotstableread@curcol'). Maybe the input table is corrupted? If you need unbalanced data, consider using 'nan' in empty cells (perhaps combined with 'unbounded coords=jump')}\pgfeov%
+ \begingroup
+ \t@pgfplots@tokc=\expandafter{\pgfplotstable@LINE}%
+ \pgfplotsthrow{table columns unbalanced}{input table '\pgfplotstableread@filename' has an unbalanced number of columns in row '\thepgfplotstableread@lineno' (expected '\thepgfplotstableread@numcols' cols; got '\thepgfplotstableread@curcol'). Maybe the input table is corrupted? If you need unbalanced data, consider using 'nan' in empty cells (perhaps combined with 'unbounded coords=jump'). The offending line is \the\t@pgfplots@tokc}\pgfeov%
+ \endgroup
\fi
\ifpgfplots@tableread@to@listener
\ifpgfplotstableread@curline@contains@colnames
@@ -1437,8 +1455,10 @@
\else
\let\pgfplotstableread@impl@ITERATE@NEXT@=#1\relax
\fi
+ %
\expandafter\pgfplotstableread@impl@DO@\expandafter{#2}%
}
+
{%
\catcode`\ =10
\catcode`\;=12
@@ -1480,6 +1500,62 @@
\fi
}%
}%
+\def\pgfplotstableread@impl@prepare@DO@textindicator{%
+ %
+ \pgfkeysgetvalue{/pgfplots/table/text indicator}\pgfplots@loc@TMPa
+ \ifx\pgfplots@loc@TMPa\pgfutil@empty
+ % ok, nothing special.
+ \else
+ % protect the text indicator such that it won't be expanded:
+ \t@pgfplots@tokc=\expandafter{\pgfplots@loc@TMPa}%
+ %
+ % compile macros which handle 'text indicator':
+ \let\pgfplotstableread@impl@ITERATE@NEXT@aftertextindicator=\pgfplotstableread@impl@ITERATE@NEXT
+ \edef\pgfplotstableread@impl@ITERATE@NEXT{%
+ % check if the cell starts with a text indicator:
+ \noexpand\pgfplotstableread@impl@ITERATE@NEXT@checkindicator{\the\t@pgfplots@tokc}%
+ }%
+ \edef\pgfplots@loc@TMPb{%
+ % compile this macro which reads everything up to the next
+ % text indicator char:
+ \noexpand\def\noexpand\pgfplotstableread@impl@ITERATE@NEXT@collect@text####1\the\t@pgfplots@tokc{%
+ % append. we assume that 'tokc' has been reset before
+ % starting to collect the cell content.
+ \t@pgfplots@tokc=\noexpand\expandafter{\noexpand\the\t@pgfplots@tokc####1}%
+ \noexpand\pgfutil@ifnextchar{\the\t@pgfplots@tokc}{%
+ % ah - a doubled text indicator. gobble this one
+ % and collect the following one!
+ \noexpand\pgfplotstableread@impl@ITERATE@NEXT@collect@text@collect@one
+ }{%
+ % ok, we found the entire cell content.
+ \noexpand\pgfplotstableread@impl@ITERATE@NEXT@collect@text@finish
+ }%
+ }%
+ }%
+ \pgfplots@loc@TMPb
+ %
+ \ifcase\pgfplotstableread@COLSEP@CASE\relax
+ \let\pgfplotstableread@impl@ITERATE@NEXT@collect@text@finish=\pgfplotstableread@impl@ITERATE@NEXT@collect@text@finish@APPENDSPACE
+ \fi
+ \fi
+}
+
+\def\pgfplotstableread@impl@ITERATE@NEXT@collect@text@collect@one#1{%
+ \t@pgfplots@tokc=\expandafter{\the\t@pgfplots@tokc#1}%
+ \pgfplotstableread@impl@ITERATE@NEXT@collect@text
+}%
+\def\pgfplotstableread@impl@ITERATE@NEXT@collect@text@finish{%
+ % enclose the collected items into curly braces. This suppresses
+ % interpretation of extra chars:
+ \expandafter\pgfplotstableread@impl@ITERATE@NEXT@aftertextindicator\expandafter{\expandafter{\the\t@pgfplots@tokc}}%
+}%
+\def\pgfplotstableread@impl@ITERATE@NEXT@collect@text@finish@APPENDSPACE{%
+ % enclose the collected items into curly braces. This suppresses
+ % interpretation of extra chars:
+ \expandafter\pgfplotstableread@impl@ITERATE@NEXT@aftertextindicator\expandafter{\expandafter{\the\t@pgfplots@tokc}} %
+}%
+
+
\long\def\pgfplotstableread@impl@ITERATE{%
\pgfutil@ifnextchar\pgfplotstable@EOI{%
\pgfplotstableread@impl@gobble
@@ -1487,6 +1563,24 @@
\pgfplotstableread@impl@ITERATE@NEXT
}%
}%
+
+\def\pgfplotstableread@impl@ITERATE@NEXT@checkindicator#1{%
+ \pgfutil@ifnextchar{#1}{%
+ % Ah! Our cell starts with a text indicator! Assume it is
+ % enclosed by text indicators.
+ \pgfplotstableread@impl@ITERATE@NEXT@checkindicator@gobble@one%
+ }{%
+ % ok, Cell does not start with a text indicator. collect
+ % as-is, assuming that a text indicator does not simply occur
+ % within a cell which is not enclosed by text indicators:
+ \pgfplotstableread@impl@ITERATE@NEXT@aftertextindicator
+ }%
+}%
+\def\pgfplotstableread@impl@ITERATE@NEXT@checkindicator@gobble@one#1{%
+ \t@pgfplots@tokc={}%
+ \pgfplotstableread@impl@ITERATE@NEXT@collect@text%
+}%
+
\long\def\pgfplotstableread@impl@ITERATE@NEXT#1 {%
\pgfplotstableread@impl@ITERATE@NEXT@{#1}%
\pgfplotstableread@impl@ITERATE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex
--- old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -113,8 +113,23 @@
}%
\fi
+\pgfutil@IfUndefined{pgfmathifexpression}{%
+ \def\pgfmathifexpression#1#2#3{%
+ \pgfmathparse{#1}%
+ \pgfmath@iftrue{#2}{#3}%
+ }
+ \def\pgfmath@iftrue{%
+ \ifdim\pgfmathresult pt=1.0pt %
+ \let\pgfmath@next=\pgfutil@firstoftwo
+ \else
+ \let\pgfmath@next=\pgfutil@secondoftwo
+ \fi
+ \pgfmath@next
+ }%
+ \gdef\pgfplots@glob@TMPa{1}%
+}{}%
-\pgfutil@ifundefined{pgfmathfloat@stack@push@operand@single@str}{
+\pgfutil@ifundefined{pgfmathfloat@iftrue@}{
\gdef\pgfplots@glob@TMPa{1}%
}
{}%
@@ -358,4 +373,8 @@
\input pgfplotsoldpgfsupp_leq.code.tex
}{}%
+\pgfutil@IfUndefined{pgfutilifstartswith}{%
+ \let\pgfutilifstartswith=\pgfplotsutilifstartswith
+}{}
+
\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex
--- old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex 2017-06-06 01:09:50.000000000 +0200
+++ new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -87,26 +87,6 @@
\let\pgfutil@insertatbegincurrentpagefrombox=\pgfutil@insertatbegincurrentpagefrombox@FIXED
\fi
-% check if \endtikzpicture deals with layerlist:
-\expandafter\pgfutil@in@\expandafter\pgf@remember@layerlist@globally\expandafter{\endtikzpicture}%
-\ifpgfutil@in@
-\else
- \def\endtikzpicture{%
- \tikz@atend@picture%
- \global\let\pgf@shift@baseline@smuggle=\pgf@baseline%
- \global\let\pgf@trimleft@final@smuggle=\pgf@trimleft%
- \global\let\pgf@trimright@final@smuggle=\pgf@trimright%
- \global\let\pgf@remember@smuggle=\ifpgfrememberpicturepositiononpage%
- \pgf@remember@layerlist@globally
- \endscope%
- \let\pgf@baseline=\pgf@shift@baseline@smuggle%
- \let\pgf@trimleft=\pgf@trimleft@final@smuggle%
- \let\pgf@trimright=\pgf@trimright@final@smuggle%
- \let\ifpgfrememberpicturepositiononpage=\pgf@remember@smuggle%
- \pgf@restore@layerlist@from@global
- \endpgfpicture}
-\fi
-
% ======================================================
% compatibility with PGF 2.0
% ======================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex
--- old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -19,7 +19,7 @@
% with the deployment of this patch or partial content of PGF. Note that the author and/or maintainer of pgfplots has no obligation to fix anything:
% This file comes without any warranty as the rest of pgfplots; there is no obligation for help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Date of this copy: Fr 10. Nov 17:18:26 CET 2017 %%%
+%%% Date of this copy: Mo 30. Apr 17:24:35 CEST 2018 %%%
@@ -95,9 +95,18 @@
% process. If 'scale results' is active, 'fixed' is assumed
% automatically.
fpu/output format/.is choice,
- fpu/output format/float/.code= {\let\pgfmathfloatparse@output=\relax},
- fpu/output format/sci/.code= {\def\pgfmathfloatparse@output{\pgfmathfloattosci@{\pgfmathresult}}},
- fpu/output format/fixed/.code= {\def\pgfmathfloatparse@output{\pgfmathfloattofixed@{\pgfmathresult}}},
+ fpu/output format/float/.code= {%
+ \def\pgfmathfloatparse@output@choice{Y}%
+ \let\pgfmathfloatparse@output=\relax
+ },
+ fpu/output format/sci/.code= {%
+ \def\pgfmathfloatparse@output@choice{S}%
+ \def\pgfmathfloatparse@output{\pgfmathfloattosci@{\pgfmathresult}}%
+ },
+ fpu/output format/fixed/.code= {%
+ \def\pgfmathfloatparse@output@choice{F}%
+ \def\pgfmathfloatparse@output{\pgfmathfloattofixed@{\pgfmathresult}}%
+ },
fpu/output format/float,
fpu/rel thresh/.code={%
\pgfmathfloatparsenumber{#1}%
@@ -108,6 +117,8 @@
\pgfmathfloatcreate{1}{1.0}{0}\let\pgfmathfloatscale=\pgfmathresult
+\let\pgfmathfloatone=\pgfmathresult
+
% This is the replacement parser invocation.
% It does two things which are different to \pgfmathparse:
% 1. it disables any dimension dependand scalings,
@@ -285,6 +296,7 @@
\pgfmathfloat@install\pgfmathcosh@=\pgfmathfloatcosh@
\pgfmathfloat@install\pgfmathsinh@=\pgfmathfloatsinh@
\pgfmathfloat@install\pgfmathtanh@=\pgfmathfloattanh@
+ \pgfmathfloat@install\pgfmath@iftrue=\pgfmathfloat@iftrue
\expandafter\pgfmathfloat@install\csname pgfmathatan2@\endcsname=\pgfmathfloatatantwo@
\pgfmathfloat@install@unimplemented{isprime}%
\pgfmathfloat@install@unimplemented{iseven}%
@@ -302,6 +314,38 @@
\pgfmathfloat@install\pgfmathscientific=\pgfmathfloatscientific%
}
+\def\pgfmathfloat@iftrue{%
+ \if Y\pgfmathfloatparse@output@choice
+ \let\pgfmathfloat@@iftrue@v=\pgfmathfloatone
+ \let\pgfmathfloat@@iftrue@next=\pgfmathfloat@iftrue@
+ \else
+ \if S\pgfmathfloatparse@output@choice
+ \def\pgfmathfloat@@iftrue@v{1.0e0}%
+ \let\pgfmathfloat@@iftrue@next=\pgfmathfloat@iftrue@
+ \else
+ \def\pgfmath@next{\pgfutilifstartswith{1.0}}%
+ \expandafter\pgfmath@next\expandafter{\pgfmathresult}{%
+ \ifdim\pgfmathresult pt=1.0pt %
+ \let\pgfmathfloat@@iftrue@next=\pgfutil@firstoftwo
+ \else
+ \let\pgfmathfloat@@iftrue@next=\pgfutil@secondoftwo
+ \fi
+ }{%
+ \let\pgfmathfloat@@iftrue@next=\pgfutil@secondoftwo
+ }%
+ \fi
+ \fi
+ \pgfmathfloat@@iftrue@next
+}%
+\def\pgfmathfloat@iftrue@{%
+ \ifx\pgfmathresult\pgfmathfloat@@iftrue@v
+ \let\pgfmath@next=\pgfutil@firstoftwo
+ \else
+ \let\pgfmath@next=\pgfutil@secondoftwo
+ \fi
+ \pgfmath@next
+}%
+
\def\pgfmathfloat@parser@install{%
\pgfmathfloat@plots@checkuninstallcmd
\pgfmathfloat@plots@install%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex
--- old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex 2017-06-06 01:09:50.000000000 +0200
+++ new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -19,7 +19,7 @@
% with the deployment of this patch or partial content of PGF. Note that the author and/or maintainer of pgfplots has no obligation to fix anything:
% This file comes without any warranty as the rest of pgfplots; there is no obligation for help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Date of this copy: Mi 8. Feb 20:49:06 CET 2017 %%%
+%%% Date of this copy: Mo 30. Apr 17:24:35 CEST 2018 %%%
@@ -33,7 +33,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
%
-% $Id: pgflibraryluamath.code.tex,v 1.20 2015/06/05 06:23:21 cfeuersaenger Exp $
+% $Id$
%
%
% This is a library for a LUA math parser and LUA math operations.
@@ -223,12 +223,16 @@
\else
\let\pgfluamath@pgfmathparse\pgfmathparse
\let\pgfmathparse\pgfluamathparse
+ \let\pgfmath@iftrue=\pgfmathluamath@iftrue
\pgfluamathparseractivetrue
\fi}
+\let\pgfmath@iftrue@basic=\pgfmath@iftrue
+
\def\pgfluamath@makeparserinactive{%
\ifpgfluamathparseractive
\let\pgfmathparse\pgfluamath@pgfmathparse
+ \let\pgfmath@iftrue=\pgfmath@iftrue@basic
\pgfluamathparseractivefalse
\fi}
@@ -320,6 +324,7 @@
\pgfluamath@install@function\pgfmathsubtract@=\pgfluamathsubtract@%
\pgfluamath@install@function\pgfmathneg@=\pgfluamathneg@%
\pgfluamath@install@function\pgfmathmultiply@=\pgfluamathmultiply@%
+ \pgfmathfloat@install\pgfmath@iftrue=\pgfmathluamath@iftrue
\pgfluamath@install@function\pgfmathdivide@=\pgfluamathdivide@%
% \pgfluamath@install@function\pgfmathdiv@=\pgfluamathdiv@%
\pgfluamath@install@function\pgfmathfactorial@=\pgfluamathfactorial@%
@@ -400,6 +405,25 @@
\def\pgfluamathgetresult#1{%
\edef\pgfmathresult{\pgfutil@directlua{tex.print(-1,#1)}}}
+\def\pgfmathluamath@iftrue{%
+ \if 0\pgfluamath@outputformat@choice
+ \let\pgfmathluamath@@iftrue@v=\pgfluamathone
+ \else
+ \let\pgfmathluamath@@iftrue@v=\pgfluamathfloatone
+ \fi
+ \pgfmathluamath@iftrue@
+}%
+\def\pgfluamathone{1.0}%
+\def\pgfluamathfloatone{1Y1.0e+00]}%
+\def\pgfmathluamath@iftrue@#1#2{%
+ \ifx\pgfmathresult\pgfmathluamath@@iftrue@v
+ \def\pgfmath@next{#1}%
+ \else
+ \def\pgfmath@next{#2}%
+ \fi
+ \pgfmath@next
+}%
+
\def\pgfluamathpi@{%
\pgfluamathgetresult{pgfluamathfunctions.pi()}}
\def\pgfluamathe@{%
@@ -543,15 +567,15 @@
\def\pgfluamathparse#1{%
\pgfluamathusedTeXfallbackfalse
\pgfutil@directlua{pgfluamathparser.texCallParser(
- "\pgfutil@luaescapestring{#1}",
- \pgfluamath@outputformat@choice,
- \ifpgfluamathshowerrormessage true\else false\fi)%
+ "\pgfutil@luaescapestring{#1}",
+ \pgfluamath@outputformat@choice,
+ \ifpgfluamathshowerrormessage true\else false\fi)%
}%
\ifx\pgfmathresult\pgfutil@empty
- \ifpgfluamathenableTeXfallback
- \pgfluamathusedTeXfallbacktrue
- \pgfluamath@pgfmathparse{#1}%
- \fi
+ \ifpgfluamathenableTeXfallback
+ \pgfluamathusedTeXfallbacktrue
+ \pgfluamath@pgfmathparse{#1}%
+ \fi
\fi
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex
--- old/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -19,7 +19,7 @@
% with the deployment of this patch or partial content of PGF. Note that the author and/or maintainer of pgfplots has no obligation to fix anything:
% This file comes without any warranty as the rest of pgfplots; there is no obligation for help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Date of this copy: Fr 10. Nov 17:18:26 CET 2017 %%%
+%%% Date of this copy: Mo 30. Apr 17:24:35 CEST 2018 %%%
@@ -95,7 +95,7 @@
% [FLAGS] MANTISSE EXPONENT
% meaning
% [+-]X.XXXXXXX*10^C
-% where
+% where
% X.XXXXXX is a mantissa with first number != 0, C is an integer and
% FLAGS contains the sign and some other special cases.
%
@@ -103,7 +103,7 @@
% computation is COMPLETELY STRING BASED.
% This allows numbers such at 10000000 or 5.23e-10 to be represented
% properly, although TeX-registers would produce overflow/underflow
-% errors in these cases.
+% errors in these cases.
%
% It is to be used to compute logs, because log(X*10^Y) = log(X) + log(10)*Y
%
@@ -124,7 +124,7 @@
% where
% FLAGS is a number in [0-5] where
% 0 == '0' (the number is +- 0.0),
-% 1 == '+',
+% 1 == '+',
% 2 == '-',
% 3 == 'not a number'
% 4 == '+ infinity'
@@ -419,7 +419,7 @@
% Converts a float to an integer (in integer format).
%
-% @see \pgfmathfloatint
+% @see \pgfmathfloatint
\def\pgfmathfloattoint#1{%
\pgfmathfloattofixed{#1}%
\expandafter\pgfmathfloattoint@@\pgfmathresult\relax
@@ -521,7 +521,7 @@
}
-% Overloaded method.
+% Overloaded method.
%
% This variant always uses a FIXED number behind the period and fills
% in zeros if necessary.
@@ -707,7 +707,7 @@
% \else
% \pgfmath@error{INTERNAL ERROR in fixed style - The input sequence did not terminate as expected; which indicates a wrong exponent argument provided to \string\pgfmathprintnumber@fixed@style}{}%
% \fi
- %--------------------------------------------------
+ %--------------------------------------------------
\let\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT=\relax
\fi
\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT
@@ -782,7 +782,7 @@
% Arguments:
% #1#2#3e#4\relax
-% Input:
+% Input:
% #1 the fixed point number to be displayed (maybe a macro).
% #2#3e#4: the (possibly unformatted) floating point representation
% which belongs to #1. This format is returned (only!) by
@@ -791,7 +791,7 @@
\let\pgfmathprintnumber@fixed@style=\pgfmathprintnumber@fixed@styleDEFAULT
-% Rounds a normalized floating point number to \pgfmathfloat@round@precision
+% Rounds a normalized floating point number to \pgfmathfloat@round@precision
% digits precision and writes the result to \pgfmathresult.
%
% This method uses \pgfmathroundto for the mantissa.
@@ -836,7 +836,7 @@
% #2: mantissa
% #3: exponent
% #4: CODE to display if the mantissa is drawn.
-% This code will be shown just before the exponent.
+% This code will be shown just before the exponent.
% Example: #4=\cdot
% #5: CODE to display if the mantissa is NOT draw. (unused currently)
% Might be used to display '10^1' instead of '1*10^1'.
@@ -1160,7 +1160,7 @@
\if0\pgfmathprintnumber@RELATIVE@choice@roundtofixed
% relative round mode=mantissa
\def\b@round@fixed{0}%
- \else
+ \else
\if1\pgfmathprintnumber@RELATIVE@choice@roundtofixed
% relative round mode=fixed
\def\b@round@fixed{1}%
@@ -1196,7 +1196,7 @@
\fi
\edef\pgfmathresultX{%
\the\pgfmathfloat@a@S
- \the\pgfmathfloat@a@Mtok
+ \the\pgfmathfloat@a@Mtok
\ifpgfmathfloatroundhasperiod\else.0\fi
e\the\pgfmathfloat@a@E}%
% call another formatter for the result (but avoid rounding inside of it):
@@ -1235,7 +1235,7 @@
\fi
\edef\pgfmathresultX{%
\the\pgfmathfloat@a@S
- \the\pgfmathfloat@a@Mtok
+ \the\pgfmathfloat@a@Mtok
\ifpgfmathfloatroundhasperiod\else.0\fi
e\the\pgfmathfloat@a@E}%
\let\pgfmathfloat@round@precision@orig=\pgfmathfloat@round@precision
@@ -1705,7 +1705,7 @@
\pgfkeys{/pgf/number format/std}
%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
+%
% IMPL
%
%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1747,7 +1747,7 @@
% \pgfmathroundto implementation in WORDS:
%
-% coarse idea:
+% coarse idea:
% 1. collect all digits/sign BEFORE the first period in REVERSE order
% 2. then, collect UP TO \prec digits after the period in REVERSE order
% Steps 1. and 2. lead to the digit [sign] sequence
@@ -1781,7 +1781,7 @@
% fi
% ++q
% if q=0
-% discard the period
+% discard the period
% fi
% end while
% if q = r+1
@@ -1991,7 +1991,7 @@
\fi
}
-% PRECONDITION:
+% PRECONDITION:
% \c@pgfmathroundto@lastzeros > 0
\def\pgfmathroundto@impl@discard@suffix@zeros@ITERATE#1{%
\advance\c@pgfmathroundto@lastzeros by-1
@@ -2183,7 +2183,7 @@
% \pgfmathfloattofixed@impl@collectmantissa#2\count\pgfmathfloat@a@E
% \edef\pgfmathresult{\the\pgfmathfloat@a@Mtok}%
% \fi
- %--------------------------------------------------
+ %--------------------------------------------------
\pgfmathfloat@a@Mtok{#1}%
\pgfmathfloattofixed@impl@pos#2000000000\pgfmathfloat@EOI
\edef\pgfmathresult{\the\pgfmathfloat@a@Mtok}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/pgfplots.code.tex new/tex/generic/pgfplots/pgfplots.code.tex
--- old/tex/generic/pgfplots/pgfplots.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/pgfplots.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -3187,59 +3187,14 @@
/pgfplots/scatter/true*,%
/pgfplots/set point meta if empty=f(x),%
scatter/@post marker code/.append code={%
- % determine default alignment:
- \pgfkeysgetvalue{/pgfplots/nodes near coords align}{\pgfplots@nodes@near@coords@align}%
- \edef\pgfplots@nodes@near@coords@align{\pgfplots@nodes@near@coords@align}%
- \def\pgfplots@loc@TMPa{auto}%
- \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa
- \def\pgfplots@loc@TMPa{x}%
- \ifx\pgfplotspointmetainputhandler\pgfplots@loc@TMPa%
- % point meta=x:
- \def\pgfplots@nodes@near@coords@align{horizontal}%
- \else
- \def\pgfplots@nodes@near@coords@align{vertical}%
- \fi
- \fi
- % check for sign-dependand alignment options:
- \def\pgfplots@loc@TMPa{horizontal}%
- \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa
- \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
- \def\pgfplots@nodes@near@coords@align{above}%
- \else
- \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
- % \pgfplotspointmeta < 0
- \def\pgfplots@nodes@near@coords@align{left}%
- }{%
- % \pgfplotspointmeta >= 0
- \def\pgfplots@nodes@near@coords@align{right}%
- }%
- \fi
- \else
- \def\pgfplots@loc@TMPa{vertical}%
- \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa
- \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
- \def\pgfplots@nodes@near@coords@align{above}%
- \else
- \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
- % \pgfplotspointmeta < 0
- \def\pgfplots@nodes@near@coords@align{below}%
- }{%
- % \pgfplotspointmeta >= 0
- \def\pgfplots@nodes@near@coords@align{above}%
- }%
- \fi
- \else
- \pgfutil@ifundefined{pgfplots@nodesnearcoordsalign@isanchor@\pgfplots@nodes@near@coords@align}
- {}%
- {%
- \t@pgfplots@toka=\expandafter{\pgfplots@nodes@near@coords@align}%
- \edef\pgfplots@nodes@near@coords@align{anchor=\the\t@pgfplots@toka}%
- }%
- \fi
- \fi
% ok, place the node.
- \expandafter\node\expandafter[\pgfplots@nodes@near@coords@align,%
- /pgfplots/every node near coord]
+ \t@pgfplots@tokb=\expandafter{\pgfplots@current@point@coordinatestyle}% see 'coordinate style'%
+ \edef\pgfplots@loc@TMPa{%
+ /pgfplots/nodes near coords/@@eval alignment,%
+ \the\t@pgfplots@tokb,%
+ /pgfplots/every node near coord%
+ }%
+ \expandafter\node\expandafter[\pgfplots@loc@TMPa]%
{%
\if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
% point meta=explicit symbolic
@@ -3359,7 +3314,7 @@
/pgfplots/scatter/@pre marker code/.append code={%
\edef\pgfplots@loc@TMPa{\noexpand\pgfutil@definecolor{mapped color}{#1}{\pgfplotspointmeta}}%
\pgfplots@loc@TMPa
- \scope[#2]%
+ \pgfplots@scope@with@coord@styles[#2]%
},%
/pgfplots/scatter/@post marker code/.prefix code={%
\endscope
@@ -3381,6 +3336,31 @@
/pgfplots/scatter cmyk*/.style={/pgfplots/scatter explicit color*={cmyk}{#1}},
/pgfplots/scatter cmyk*/.default={draw=mapped color!80!black,fill=mapped color},
%
+ %
+ % allows to specify something like
+ % coordinate style/.condition={x==4}{color=red},
+ % coordinate style/.condition={x > 5}{color=black, mark=*},
+ % it is only evaluated in specific plot handlers.
+ % Each conditionession is added to the available list.
+ /pgfplots/coordinate style/.condition/.code 2 args={%
+ \pgfplotsapplistXpushback{E}{#1}{#2},\to\pgfplots@coordinate@style@list
+ \def\b@has@pgfplots@colordinate@style{1}%
+ },
+ % example:
+ % coordinate style/.from={\thisrow{row with styles}},
+ /pgfplots/coordinate style/.from/.code={%
+ \pgfplotsapplistXpushback{V}{#1}{},\to\pgfplots@coordinate@style@list
+ \def\b@has@pgfplots@colordinate@style{1}%
+ },
+ % clears all such styles.
+ /pgfplots/coordinate style/.clear/.code={%
+ \pgfplotsapplistXnewempty{\pgfplots@coordinate@style@list}%
+ \def\b@has@pgfplots@colordinate@style{0}%
+ },
+ /pgfplots/coordinate style/.clear,%
+ %
+ %
+ %
/pgfplots/visualization depends on/list/.initial=,%
/pgfplots/visualization depends on/.style={%
/pgfplots/visualization depends on/list/.add={}{,{#1}}%
@@ -4110,7 +4090,7 @@
/pgfplots/const color of colormap/.code={%
\pgfplots@color@of@colormap{const color of colormap={#1}}%
},%
- /tikz/color of colormap/.style={/pgfplots/color of colormap={#1}},
+ /tikz/const color of colormap/.style={/pgfplots/const color of colormap={#1}},
% index of colormap={4}
% index of colormap={4 of viridis}
/pgfplots/index of colormap/.code={%
@@ -4174,7 +4154,7 @@
/pgfplots/scatter/use mapped color*/.style={
/pgfplots/scatter/@pre marker code/.append code={
\pgfplotscolormapdefinemappedcolor\pgfplotspointmetatransformed
- \scope[#1]%
+ \pgfplots@scope@with@coord@styles[#1]%
},
/pgfplots/scatter/@post marker code/.prefix code={\endscope}
},
@@ -4337,6 +4317,7 @@
/pgfplots/compat/anchors/1.14/.style= {/pgfplots/compat/anchors/1.13},%
/pgfplots/compat/anchors/1.15/.style= {/pgfplots/compat/anchors/1.13},%
/pgfplots/compat/anchors/1.16/.style= {/pgfplots/compat/anchors/1.13},%
+ /pgfplots/compat/anchors/1.17/.style= {/pgfplots/compat/anchors/1.13},%
/pgfplots/compat/anchors/default/.style={/pgfplots/compat/anchors/1.3},%
%
/pgfplots/compat/empty line/.is choice,
@@ -4356,6 +4337,7 @@
/pgfplots/compat/empty line/1.14/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/1.15/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/1.16/.style= {/pgfplots/compat/empty line/1.4},%
+ /pgfplots/compat/empty line/1.17/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/default/.style= {/pgfplots/compat/empty line/1.4},%
%
/pgfplots/compat/path replacement/.is choice,
@@ -4375,6 +4357,7 @@
/pgfplots/compat/path replacement/1.14/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/1.15/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/1.16/.style= {/pgfplots/compat/path replacement/1.5.1},
+ /pgfplots/compat/path replacement/1.17/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/default/.style= {/pgfplots/compat/path replacement/pre 1.3},%
%
/pgfplots/compat/pgfpoint substitution/.is choice,
@@ -4394,6 +4377,7 @@
/pgfplots/compat/pgfpoint substitution/1.14/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/1.15/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/1.16/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
+ /pgfplots/compat/pgfpoint substitution/1.17/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/default/.style= {/pgfplots/compat/pgfpoint substitution/pre 1.3},%
%ellipse/.is if=pgfplots@path@replace@ellipse,
%
@@ -4423,6 +4407,7 @@
/pgfplots/compat/labels/1.14/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/1.15/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/1.16/.style= {/pgfplots/compat/labels/1.8},%
+ /pgfplots/compat/labels/1.17/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/default/.style= {/pgfplots/compat/labels/pre 1.3},% maintain backwards compatibility
%
/pgfplots/compat/bar nodes/.is choice,
@@ -4477,6 +4462,7 @@
/pgfplots/compat/bar nodes/1.14/.style= {/pgfplots/compat/bar nodes/1.13},%
/pgfplots/compat/bar nodes/1.15/.style= {/pgfplots/compat/bar nodes/1.13},%
/pgfplots/compat/bar nodes/1.16/.style= {/pgfplots/compat/bar nodes/1.13},%
+ /pgfplots/compat/bar nodes/1.17/.style= {/pgfplots/compat/bar nodes/1.13},%
/pgfplots/compat/bar nodes/default/.style= {/pgfplots/compat/bar nodes/pre 1.3},% maintain backwards compatibility
/pgfplots/compat/bar nodes/default,
%
@@ -4511,6 +4497,7 @@
/pgfplots/compat/scaling/1.14/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/1.15/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/1.16/.style={/pgfplots/compat/scaling/1.6},
+ /pgfplots/compat/scaling/1.17/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/default/.style={/pgfplots/compat/scaling/1.4},
%
/pgfplots/compat/scale mode/.is choice,
@@ -4530,6 +4517,7 @@
/pgfplots/compat/scale mode/1.14/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/1.15/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/1.16/.style={/pgfplots/compat/scale mode/1.6},
+ /pgfplots/compat/scale mode/1.17/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/default/.style={/pgfplots/compat/scale mode/1.5},
%
%
@@ -4550,6 +4538,7 @@
/pgfplots/compat/plot3graphics/1.14/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/1.15/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/1.16/.style= {/pgfplots/compat/plot3graphics/1.6},%
+ /pgfplots/compat/plot3graphics/1.17/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/default/.style= {/pgfplots/compat/plot3graphics/1.5},%
%
% ATTENTION: there is a compatibility issue which slipped through
@@ -4596,6 +4585,7 @@
/pgfplots/compat/bar width by units/1.14/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/1.15/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/1.16/.style= {/pgfplots/compat/bar width by units/1.7},
+ /pgfplots/compat/bar width by units/1.17/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/default/.style={/pgfplots/compat/bar width by units/pre 1.3},
%
/pgfplots/compat/BB/.is choice,
@@ -4615,6 +4605,7 @@
/pgfplots/compat/BB/1.14/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/1.15/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/1.16/.style= {/pgfplots/compat/BB/1.8},%
+ /pgfplots/compat/BB/1.17/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/default/.style={/pgfplots/compat/BB/pre 1.3},
%
/pgfplots/compat/general/.is choice,
@@ -4630,6 +4621,7 @@
/pgfplots/colorbar=false,
/pgfplots/3d log sampling=false,
/pgfplots/clip limits compat=true,
+ /pgfplots/table/percent is letter=false,
},%
/pgfplots/compat/general/1.3/.style= {/pgfplots/compat/general/pre 1.3},
/pgfplots/compat/general/1.4/.style= {/pgfplots/compat/general/pre 1.3},%
@@ -4674,6 +4666,10 @@
/pgfplots/clip limits compat=false,
},%
/pgfplots/compat/general/1.16/.style= {/pgfplots/compat/general/1.15},%
+ /pgfplots/compat/general/1.17/.style= {
+ /pgfplots/compat/general/1.15,
+ %/pgfplots/table/percent is letter=true,
+ },%
/pgfplots/compat/general/default/.style={/pgfplots/compat/general/1.11},
%
/pgfplots/enable tick line clipping/.is if=pgfplots@enable@tick@line@clipping,
@@ -4691,7 +4687,7 @@
/pgfplots/compat/show suggested version/.is if=pgfplots@show@suggested@version,
/pgfplots/compat/show suggested version=true,
/pgfplots/compat/current/.initial=,
- /pgfplots/compat/mostrecent/.initial=1.16,
+ /pgfplots/compat/mostrecent/.initial=1.17,
/utils/exec={%
\pgfplotsutilforeachcommasep{%
/pgfplots/compat/current,%
@@ -4838,6 +4834,60 @@
\def\pgfplots@tickwidth{\pgfkeysvalueof{/pgfplots/major tick length}}%
\def\pgfplots@subtickwidth{\pgfkeysvalueof{/pgfplots/minor tick length}}%
+\pgfkeysdef{/pgfplots/nodes near coords/@@eval alignment}{%
+ % determine default alignment:
+ \pgfkeysgetvalue{/pgfplots/nodes near coords align}{\pgfplots@nodes@near@coords@align}%
+ \edef\pgfplots@nodes@near@coords@align{\pgfplots@nodes@near@coords@align}%
+ \def\pgfplots@loc@TMPa{auto}%
+ \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa
+ \def\pgfplots@loc@TMPa{x}%
+ \ifx\pgfplotspointmetainputhandler\pgfplots@loc@TMPa%
+ % point meta=x:
+ \def\pgfplots@nodes@near@coords@align{horizontal}%
+ \else
+ \def\pgfplots@nodes@near@coords@align{vertical}%
+ \fi
+ \fi
+ % check for sign-dependand alignment options:
+ \def\pgfplots@loc@TMPa{horizontal}%
+ \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa
+ \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
+ \def\pgfplots@nodes@near@coords@align{above}%
+ \else
+ \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
+ % \pgfplotspointmeta < 0
+ \def\pgfplots@nodes@near@coords@align{left}%
+ }{%
+ % \pgfplotspointmeta >= 0
+ \def\pgfplots@nodes@near@coords@align{right}%
+ }%
+ \fi
+ \else
+ \def\pgfplots@loc@TMPa{vertical}%
+ \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa
+ \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
+ \def\pgfplots@nodes@near@coords@align{above}%
+ \else
+ \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
+ % \pgfplotspointmeta < 0
+ \def\pgfplots@nodes@near@coords@align{below}%
+ }{%
+ % \pgfplotspointmeta >= 0
+ \def\pgfplots@nodes@near@coords@align{above}%
+ }%
+ \fi
+ \else
+ \pgfutil@ifundefined{pgfplots@nodesnearcoordsalign@isanchor@\pgfplots@nodes@near@coords@align}
+ {}%
+ {%
+ \t@pgfplots@toka=\expandafter{\pgfplots@nodes@near@coords@align}%
+ \edef\pgfplots@nodes@near@coords@align{anchor=\the\t@pgfplots@toka}%
+ }%
+ \fi
+ \fi
+ \expandafter\pgfkeysalso\expandafter{\pgfplots@nodes@near@coords@align}%
+}%
+
\begingroup
\pgfkeys{/pgfplots/colorbar pgfshading}
\pgfkeysgetvalue{/pgfplots/colorbar/draw/.@cmd}\pgfplots@loc@TMPa
@@ -4887,6 +4937,18 @@
\pgfplots@cmdkey@alias ztick style=z tick style;
+\def\pgfplots@scope@with@coord@styles[#1]{%
+ \if1\b@has@pgfplots@colordinate@style
+ \def\pgfplots@loc@TMPa{\scope[#1}%
+ \t@pgfplots@toka=\expandafter{\pgfplots@loc@TMPa}%
+ \t@pgfplots@tokb=\expandafter{\pgfplots@current@point@coordinatestyle}%
+ \edef\pgfplots@loc@TMPa{\the\t@pgfplots@toka,\the\t@pgfplots@tokb]}%
+ \else
+ \def\pgfplots@loc@TMPa{\scope[#1]}%
+ \fi
+ \pgfplots@loc@TMPa
+}%
+
% A backwards compatibility method which works as follows:
% if any user specified arguments exist for the 'domain' or 'samples
% at' or 'samples' keys, nothing is done.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/pgfplots.markers.code.tex new/tex/generic/pgfplots/pgfplots.markers.code.tex
--- old/tex/generic/pgfplots/pgfplots.markers.code.tex 2017-06-06 01:09:50.000000000 +0200
+++ new/tex/generic/pgfplots/pgfplots.markers.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -323,7 +323,7 @@
}{%
\expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfp@scatter@class@\pgfplotspointmeta\endcsname
}%
- \expandafter\scope\expandafter[\pgfplots@loc@TMPa]%
+ \expandafter\pgfplots@scope@with@coord@styles\expandafter[\pgfplots@loc@TMPa]%
}%
% validates 'mark layer' such that it can be queried afterwards.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/pgfplots.paths.code.tex new/tex/generic/pgfplots/pgfplots.paths.code.tex
--- old/tex/generic/pgfplots/pgfplots.paths.code.tex 2011-12-30 23:58:39.000000000 +0100
+++ new/tex/generic/pgfplots/pgfplots.paths.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -30,17 +30,39 @@
\def\pgfplots@install@path@replacements{%
\ifpgfplots@path@replace@ellipse
\let\tikz@do@circle=\pgfplots@path@@tikz@do@circle
+ \let\tikz@do@ellipse=\pgfplots@path@@tikz@do@ellipse
\expandafter\def\expandafter\pgfinterruptpicture\expandafter{\pgfinterruptpicture
\let\tikz@do@circle=\pgfplots@path@@tikz@do@circle@orig
+ \let\tikz@do@ellipse=\pgfplots@path@@tikz@do@ellipse@orig
}%
\fi
}%
\let\pgfplots@path@@tikz@do@circle@orig=\tikz@do@circle
+\let\pgfplots@path@@tikz@do@ellipse@orig=\tikz@do@ellipse
% This is a replacement for \tikz@do@circle which replaces the "xy"
% coordinate system by one which is compatible with pgfplots.
-\def\pgfplots@path@@tikz@do@circle#1#2{%
+\def\pgfplots@path@@tikz@do@circle#1{%
+ \begingroup
+ \ifpgfplots@usefpu
+ \pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
+ \fi
+ \pgfmathparse{#1}%
+ \let\tikz@ellipse@x=\pgfmathresult%
+ \ifpgfmathunitsdeclared
+ \pgfpathellipse{\pgfpointorigin}%
+ {\pgfqpoint{\tikz@ellipse@x pt}{0pt}}%
+ {\pgfpoint{0pt}{\tikz@ellipse@x pt}}%
+ \else
+ \pgfpathellipse{\pgfpointorigin}%
+ {\pgfplotspointaxisdirectionxy{\tikz@ellipse@x}{0}}%
+ {\pgfplotspointaxisdirectionxy{0}{\tikz@ellipse@x}}%
+ \fi
+ \endgroup
+}
+
+\def\pgfplots@path@@tikz@do@ellipse#1#2{%
\begingroup
\ifpgfplots@usefpu
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
@@ -69,3 +91,12 @@
\fi%
\endgroup
}
+
+% Older versions of TikZ did not define \tikz@do@ellipse but only
+% \tikz@do@circle which took the place of \tikz@do@ellipse, i.e. the same code
+% was used for both paths. In that case, we override the new circle code with
+% the ellipse code to retain the behaviour of using the same code on both
+% paths.
+\ifdefined\tikz@do@ellipse\else
+ \let\pgfplots@path@@tikz@do@circle=\pgfplots@path@@tikz@do@ellipse
+\fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/pgfplots.revision.tex new/tex/generic/pgfplots/pgfplots.revision.tex
--- old/tex/generic/pgfplots/pgfplots.revision.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/pgfplots.revision.tex 2020-03-03 23:58:29.000000000 +0100
@@ -5,10 +5,10 @@
\catcode`\:=12
\catcode`\+=12
\catcode`\-=12
-\gdef\pgfplotsrevision{1.16}
-\gdef\pgfplotsversion{1.16}
-\gdef\pgfplotsversiondatetime{2018-03-28 20:42:04 +0200}
-\gdef\pgfplotsrevisiondatetime{2018-03-28 20:42:04 +0200}
+\gdef\pgfplotsrevision{1.17}
+\gdef\pgfplotsversion{1.17}
+\gdef\pgfplotsversiondatetime{2020-02-29 09:43:25 +0100}
+\gdef\pgfplotsrevisiondatetime{2020-02-29 09:43:25 +0100}
\gdef\pgfplots@glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3}
\xdef\pgfplotsversiondate{\expandafter\pgfplots@glob@TMPa\pgfplotsversiondatetime\relax}
\xdef\pgfplotsrevisiondate{\expandafter\pgfplots@glob@TMPa\pgfplotsrevisiondatetime\relax}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex new/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex
--- old/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -2844,6 +2844,7 @@
\let\pgfplots@current@point@y=\pgfutil@empty
\let\pgfplots@current@point@z=\pgfutil@empty
\let\pgfplots@current@point@meta=\pgfutil@empty
+ \let\pgfplots@current@point@coordinatestyle=\pgfutil@empty
\let\pgfplots@current@point@error@x@plus=\pgfutil@empty
\let\pgfplots@current@point@error@x@minus=\pgfutil@empty
\let\pgfplots@current@point@error@y@plus=\pgfutil@empty
@@ -3286,6 +3287,10 @@
\E\pgfplots@errorbars@survey@point
\fi
%
+ \if1\b@has@pgfplots@colordinate@style
+ \E\pgfplots@get@matching@coordinate@styles@surveyphase
+ \fi
+ %
\ifpgfplots@collect@firstplot@astick
\ifnum\pgfplots@numplots=0
\E\ifx\E\pgfplots@firstplot@coords@x\E\pgfutil@empty
@@ -3818,6 +3823,11 @@
\fi
\fi
%
+ \if1\b@has@pgfplots@colordinate@style
+ \pgfplots@LUA@survey@log@deactivation{coordinate style currently unsupported}%
+ \pgfplots@LUA@backend@supportedfalse
+ \fi
+ %
\ifpgfplots@LUA@backend@supported
\edef\pgfplots@LUA@backend@plotnum{\pgfutil@directlua{tex.sprint(\pgfplotsHASH pgfplots.gca.plothandlers)}}%
\begingroup
@@ -4179,7 +4189,12 @@
\let\protect=\pgfplots@oldprotect
\t@pgfplots@toka=\expandafter{\pgfplotsaxisserializedatapoint@val}%
\t@pgfplots@tokb=\expandafter{\pgfplotsretval}%
- \edef\pgfplotsretval{{\the\t@pgfplots@tokb;\the\t@pgfplots@toka}}%
+ \if1\b@has@pgfplots@colordinate@style
+ \t@pgfplots@tokc\expandafter{\expandafter{\pgfplots@current@point@coordinatestyle}}%
+ \else
+ \t@pgfplots@tokc={}%
+ \fi
+ \edef\pgfplotsretval{{\the\t@pgfplots@tokb;\the\t@pgfplots@tokc\the\t@pgfplots@toka}}%
}%
\def\pgfplotsaxisserializedatapoint{%
@@ -4200,7 +4215,15 @@
% parts which can be read with
% \pgfplotsaxisdeserializedatapointfrom@private)
\def\pgfplotsaxisdeserializedatapointfrom#1{%
- \expandafter\pgfplotsaxisdeserializedatapointfrom@#1\pgfplots@EOI
+ \if1\b@has@pgfplots@colordinate@style
+ \expandafter\pgfplotsaxisdeserializedatapointfrom@@#1\pgfplots@EOI
+ \else
+ \expandafter\pgfplotsaxisdeserializedatapointfrom@#1\pgfplots@EOI
+ \fi
+}%
+\def\pgfplotsaxisdeserializedatapointfrom@@#1;#2#3\pgfplots@EOI{%
+ \pgfplotsaxisdeserializedatapointfrom@{#1};{#3}\pgfplots@EOI
+ \def\pgfplots@current@point@coordinatestyle{#2}%
}%
\def\pgfplotsaxisdeserializedatapointfrom@#1;#2\pgfplots@EOI{%
\def\pgfplotsaxisdeserializedatapointfrom@private@lastvalue{#1}%
@@ -9719,3 +9742,42 @@
\pgfplots@shellescape{sh #1.sh > #1.out}
\fi%
}
+
+% Defines \pgfplots@current@point@coordinatestyle to be the list of options resulting from the evaluation of all matching 'coordinate style' expressions.
+\def\pgfplots@get@matching@coordinate@styles@surveyphase{%
+ \let\pgfplots@current@point@coordinatestyle=\pgfutil@empty
+ % ##1: operation mode
+ % ##2: key
+ % ##3: value
+ \def\pgfplots@coordinate@style@process##1##2##3{%
+ \if E##1% Ah : an expression.
+ \pgfmathifexpression{##2}{%
+ \expandafter\def\expandafter\pgfplots@current@point@coordinatestyle\expandafter{\pgfplots@current@point@coordinatestyle,%
+ ##3%
+ }%
+ }{}%
+ \else
+ \if V##1% Ah : an .from
+ \edef\pgfplots@loc@TMPc{##2}%
+ \t@pgfplots@toka=\expandafter{\pgfplots@current@point@coordinatestyle}%
+ \t@pgfplots@tokb=\expandafter{\pgfplots@loc@TMPc}%
+ \edef\pgfplots@current@point@coordinatestyle{%
+ \the\t@pgfplots@toka,%
+ \the\t@pgfplots@tokb
+ }%
+ \else
+ \pgfplots@get@matching@coordinate@styles@surveyphase@err{##1}%
+ \fi
+ \fi
+ }%
+ \pgfplotsapplistXlet\pgfplots@loc@TMPb=\pgfplots@coordinate@style@list
+ \expandafter\pgfplotsutilforeachcommasep\pgfplots@loc@TMPb\as\pgfplots@loc@TMPa{%
+ \ifx\pgfplots@loc@TMPa\pgfutil@empty
+ \else
+ \expandafter\pgfplots@coordinate@style@process\pgfplots@loc@TMPa
+ \fi
+ }%
+}%
+\def\pgfplots@get@matching@coordinate@styles@surveyphase@err#1#2#3{%
+ \pgfplots@error{Encountered unexpected internal value of 'coordinate style: #1}%
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/pgfplotsplothandlers.code.tex new/tex/generic/pgfplots/pgfplotsplothandlers.code.tex
--- old/tex/generic/pgfplots/pgfplotsplothandlers.code.tex 2017-06-06 01:09:50.000000000 +0200
+++ new/tex/generic/pgfplots/pgfplotsplothandlers.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -427,6 +427,19 @@
%
\pgfplotsplothandlers@init@map@to@patched@versions
%
+ %
+% \pgfkeys{%
+% /pgf/at begin bar/.add={}{%
+% \if1\b@has@pgfplots@colordinate@style
+% \expandafter\pgfplots@bar@extra
+% \fi
+% },%
+% }%
+ %
+}%
+
+\def\pgfplots@bar@extra#1\pgfkeysvalueof#2{%
+ \expandafter\tikz\expandafter[\pgfplots@current@point@coordinatestyle] \pgfextra{#1};%
}%
\def\pgfplots@xbar@width{pgfplotsxbarwidth}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/pgfplotsticks.code.tex new/tex/generic/pgfplots/pgfplotsticks.code.tex
--- old/tex/generic/pgfplots/pgfplotsticks.code.tex 2018-04-08 21:45:42.000000000 +0200
+++ new/tex/generic/pgfplots/pgfplotsticks.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -2532,7 +2532,10 @@
% '#3' is some macro. Its input is '\pgfmathresult', its expected output is '\pgfmathresult'
\long\def\pgfplots@transform@csv@list#1\to#2\with#3{%
\let#2=\pgfutil@empty
- \foreach \pgfplots@loc@TMPb in {#1} {%
+ \begingroup
+ \pgfkeys{/pgf/fpu,/pgf/fpu/output format=float}%
+ % \pgfplotsforeachungrouped is more powerful than \foreach
+ \pgfplotsforeachungrouped \pgfplots@loc@TMPb in {#1} {%
\let\pgfmathresult=\pgfplots@loc@TMPb
#3%
\ifx#2\pgfutil@empty
@@ -2541,6 +2544,7 @@
\xdef#2{#2,\pgfmathresult}%
\fi
}%
+ \endgroup
%
}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/pgfplots/util/pgfplotsutil.code.tex new/tex/generic/pgfplots/util/pgfplotsutil.code.tex
--- old/tex/generic/pgfplots/util/pgfplotsutil.code.tex 2017-06-06 01:09:50.000000000 +0200
+++ new/tex/generic/pgfplots/util/pgfplotsutil.code.tex 2020-03-03 23:58:29.000000000 +0100
@@ -673,7 +673,7 @@
\pgfmathparse{(##4-##2)/\pgfplots@h + 1}%
\pgfmathfloattofixed\pgfmathresult
\afterassignment\pgfplotsforeachtodomain@@
- \c@pgf@counta=\pgfmathresult
+ \c@pgf@counta=\pgfmathresult\relax
}%
\edef\pgfplots@loc@TMPa{\noexpand\pgfplotsforeachungrouped \noexpand\x\space in{#1}{}}%
\pgfplots@loc@TMPa
@@ -699,6 +699,9 @@
\fi
}%
+\newif\ifpgfplotsforeachungroupedassumenumeric
+\pgfplotsforeachungroupedassumenumerictrue
+
\long\def\pgfplotsforeachungrouped@@#1#2#3#4{%
\pgfplots@for@reset@break{%
%
@@ -710,8 +713,27 @@
% \foreach #1 in {a,b,...,c} can be improved:
\pgfplotsforeachungroupeduniform@{#1}#3\relax{#4}%
\else
- % invoke \foreach #1 in {#3} and transport results:
- \pgfplotsforeachungroupednonuniform@#1{#3}{#4}%
+ \ifpgfplotsforeachungroupedassumenumeric
+ \pgfplotsforeachungrouped@isuniform@dist@one{#3}%
+ \ifpgfplots@loc@tmp
+ % special handling:
+ % \foreach #1 in {a,...,n} can be improved. Let us
+ % hope it is numeric ...
+ \pgfmathifexpression{\pgfplotsretval < \pgfplotsretvalb}{%
+ \edef\pgfplots@foreach@loc@TMPa{\pgfplotsretval,\pgfplotsretval+1,...,\pgfplotsretvalb}%
+ }{%
+ \edef\pgfplots@foreach@loc@TMPa{\pgfplotsretval,\pgfplotsretval-1,...,\pgfplotsretvalb}%
+ }%
+ \def\pgfplots@foreach@loc@TMPb{\pgfplotsforeachungroupeduniform@{#1}}%
+ \expandafter\pgfplots@foreach@loc@TMPb\pgfplots@foreach@loc@TMPa\relax{#4}%
+ \else
+ % invoke \foreach #1 in {#3} and transport results:
+ \pgfplotsforeachungroupednonuniform@#1{#3}{#4}%
+ \fi
+ \else
+ % invoke \foreach #1 in {#3} and transport results:
+ \pgfplotsforeachungroupednonuniform@#1{#3}{#4}%
+ \fi
\fi
\else
% invoke \foreach #1/#2 in {#3} and transport results:
@@ -889,6 +911,34 @@
\fi
}%
+% Sets \ifpgfplots@loc@tmp to true if and only if '#1' is of the form
+% #1 = <number1>,...,<number2>
+%
+% In that case, \pgfplotsretval = <number1> and \pgfplotsretvalb = <number2>
+\def\pgfplotsforeachungrouped@isuniform@dist@one#1{%
+ \edef\pgfplots@foreach@loc@TMPa{#1}%
+ \expandafter\pgfplotsforeachungrouped@isuniform@dist@one@\pgfplots@foreach@loc@TMPa,,,\relax
+}%
+\def\pgfplotsforeachungrouped@isuniform@dist@one@#1,#2,#3,#4\relax{%
+ \def\pgfplots@foreach@loc@TMPa{#4}%
+ \def\pgfplots@foreach@loc@TMPb{,,}%
+ \pgfplots@loc@tmpfalse
+ \ifx\pgfplots@foreach@loc@TMPa\pgfplots@foreach@loc@TMPb
+ \def\pgfplots@foreach@loc@TMPa{#2}%
+ \def\pgfplots@foreach@loc@TMPb{...}%
+ \ifx\pgfplots@foreach@loc@TMPa\pgfplots@foreach@loc@TMPb
+ \pgfutil@in@,{#3}%
+ \ifpgfutil@in@
+ \else
+ \pgfplots@loc@tmptrue
+ \def\pgfplotsretval{#1}%
+ \def\pgfplotsretvalb{#3}%
+ \fi
+ \fi
+ \fi
+}%
+
+
% A variant of \pgfplotsforeachungrouped ( or \foreach ) which
% *invokes* with #1 set to the current iterate.
%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pgfplots.tlpobj new/tlpkg/tlpobj/pgfplots.tlpobj
--- old/tlpkg/tlpobj/pgfplots.tlpobj 2019-02-28 03:59:34.000000000 +0100
+++ new/tlpkg/tlpobj/pgfplots.tlpobj 2020-03-04 23:53:19.000000000 +0100
@@ -1,6 +1,6 @@
name pgfplots
category Package
-revision 47373
+revision 54080
shortdesc Create normal/logarithmic plots in two and three dimensions
relocated 1
longdesc PGFPlots draws high-quality function plots in normal or
@@ -12,7 +12,8 @@
longdesc plots, bar plots, area plots, mesh-- and surface plots and some
longdesc more. Pgfplots is based on PGF/TikZ (PGF); it runs equally for
longdesc LaTeX/TeX/ConTeXt.
-runfiles size=901
+depend pgf
+runfiles size=905
RELOC/scripts/pgfplots/matlab2pgfplots.m
RELOC/scripts/pgfplots/matlab2pgfplots.sh
RELOC/scripts/pgfplots/pgf2pdf.sh
@@ -125,7 +126,6 @@
catalogue-contact-repository http://pgfplots.sourceforge.net/
catalogue-contact-support https://sourceforge.net/projects/pgfplots/
catalogue-ctan /graphics/pgf/contrib/pgfplots
-catalogue-date 2018-04-07 06:21:57 +0200
-catalogue-license gpl3
-catalogue-topics graphics-plot pgf-tikz
-catalogue-version 1.16
+catalogue-license gpl3+
+catalogue-topics graphics graphics-plot pgf-tikz
+catalogue-version 1.17
++++++ phonenumbers.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/phonenumbers/README new/doc/latex/phonenumbers/README
--- old/doc/latex/phonenumbers/README 2018-08-05 23:02:09.000000000 +0200
+++ new/doc/latex/phonenumbers/README 2019-08-22 22:23:49.000000000 +0200
@@ -9,8 +9,8 @@
numbers using the hyperref package.
Package author: K. Wehr
-Version: 2.1
-Date: 5th August 2018
+Version: 2.2
+Date: 18th August 2019
The phonenumbers package is subject to the LaTeX Project Public License,
version 1.3 or later.
Binary files old/doc/latex/phonenumbers/phonenumbers-de.pdf and new/doc/latex/phonenumbers/phonenumbers-de.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/phonenumbers/phonenumbers-de.tex new/doc/latex/phonenumbers/phonenumbers-de.tex
--- old/doc/latex/phonenumbers/phonenumbers-de.tex 2018-08-05 23:02:09.000000000 +0200
+++ new/doc/latex/phonenumbers/phonenumbers-de.tex 2019-08-22 22:23:49.000000000 +0200
@@ -1,11 +1,12 @@
% phonenumbers package: German manual
-% Version 2.1
-% Datum: 5. August 2018
+% Version 2.2
+% Datum: 18. August 2019
\documentclass[numbers=noenddot]{scrreprt}
\usepackage[french,ngerman]{babel}
\usepackage{fontspec}
\usepackage[link=off]{phonenumbers}
\usepackage{biblatex}
+\usepackage{csquotes}
\usepackage{array}
\usepackage{enumitem}
\usepackage{scrlayer-scrpage}
@@ -191,7 +192,7 @@
\large
\smallskip
-\url{keno.wehr@abgol.de}
+\url{wehr@abgol.de}
\end{center}
\vfill
@@ -1177,6 +1178,11 @@
\item Ergänzung der neuen nordamerikanischen Vorwahlen 326, 521, 658 und 672
\item Entfernung der nordamerikanischen Vorwahl 456
\end{itemize}
+\item[2.2] \printdate{18.8.2019}
+\begin{itemize}
+\item Ermöglichung von Makros als Befehlsargumenten
+\item leichte Veränderung der Warnmeldungen
+\end{itemize}
\end{description}
\end{document}
Binary files old/doc/latex/phonenumbers/phonenumbers-en.pdf and new/doc/latex/phonenumbers/phonenumbers-en.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/phonenumbers/phonenumbers-en.tex new/doc/latex/phonenumbers/phonenumbers-en.tex
--- old/doc/latex/phonenumbers/phonenumbers-en.tex 2018-08-05 23:02:09.000000000 +0200
+++ new/doc/latex/phonenumbers/phonenumbers-en.tex 2019-08-22 22:23:49.000000000 +0200
@@ -1,11 +1,12 @@
% phonenumbers package: English manual
-% Version 2.1
-% Datum: 5. August 2018
+% Version 2.2
+% Datum: 18. August 2019
\documentclass[numbers=noenddot]{scrreprt}
\usepackage[french,UKenglish]{babel}
\usepackage{fontspec}
\usepackage[link=off]{phonenumbers}
\usepackage{biblatex}
+\usepackage{csquotes}
\usepackage{array}
\usepackage{enumitem}
\usepackage{scrlayer-scrpage}
@@ -191,7 +192,7 @@
\large
\smallskip
-\url{keno.wehr@abgol.de}
+\url{wehr@abgol.de}
\end{center}
\vfill
@@ -1177,6 +1178,11 @@
\item Addition of the new North American area codes 326, 521, 658, and 672
\item Removal of the North American area code 456
\end{itemize}
+\item[2.2] \printdate{18.8.2019}
+\begin{itemize}
+\item Making macros possible as command arguments
+\item Slight change of the warning messages
+\end{itemize}
\end{description}
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/phonenumbers.doc.tlpobj new/tlpkg/tlpobj/phonenumbers.doc.tlpobj
--- old/tlpkg/tlpobj/phonenumbers.doc.tlpobj 2019-02-28 03:59:38.000000000 +0100
+++ new/tlpkg/tlpobj/phonenumbers.doc.tlpobj 2019-08-23 01:53:40.000000000 +0200
@@ -1,6 +1,6 @@
name phonenumbers.doc
category Package
-revision 48355
+revision 51933
shortdesc doc files of phonenumbers
relocated 1
docfiles size=952
++++++ phonenumbers.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/phonenumbers/phonenumbers.sty new/tex/latex/phonenumbers/phonenumbers.sty
--- old/tex/latex/phonenumbers/phonenumbers.sty 2018-08-05 23:02:09.000000000 +0200
+++ new/tex/latex/phonenumbers/phonenumbers.sty 2019-08-22 22:23:49.000000000 +0200
@@ -2,8 +2,8 @@
% LaTeX-Paket zur Formatierung von Telefonnummern
% LaTeX package for formatting telephone numbers
% Autor: K. Wehr
-% Version: 2.1
-% Datum: 5. August 2018
+% Version: 2.2
+% Datum: 18. August 2019
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -15,7 +15,7 @@
\RequirePackage{xparse}
-\ProvidesExplPackage {phonenumbers} {2018/08/05} {2.1} {Telephone number package}
+\ProvidesExplPackage {phonenumbers} {2019/08/18} {2.2} {Telephone number package}
\RequirePackage{l3keys2e}
\RequirePackage{ltxcmds}
@@ -66,22 +66,22 @@
\cs_generate_variant:Nn \msg_warning:nnn {nnV}
-\msg_new:nnn {phonenumbers} {illegal~character}
+\msg_new:nnn {phonenumbers} {illegal character}
{
illegal~character~'#1'~in~phone~number~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {empty~input}
+\msg_new:nnn {phonenumbers} {empty input}
{
empty~phone~number~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {empty~extension}
+\msg_new:nnn {phonenumbers} {empty extension}
{
empty~extension~(Durchwahl)~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {illegal~extension}
+\msg_new:nnn {phonenumbers} {illegal extension}
{
extension~(Durchwahl)~of~
\phone_landesadjektiv:V \l_phone_land_str
@@ -90,7 +90,7 @@
\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {odd~extension}
+\msg_new:nnn {phonenumbers} {odd extension}
{
\phone_landesadjektiv:V \l_phone_land_str
\c_space_tl
@@ -98,7 +98,7 @@
\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {subscriber~number~too~short}
+\msg_new:nnn {phonenumbers} {subscriber number too short}
{
subscriber~number~(Teilnehmerrufnummer)~has~less~than~#1~digits~in~
\phone_landesadjektiv:V \l_phone_land_str
@@ -107,7 +107,7 @@
\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {subscriber~number~too~long}
+\msg_new:nnn {phonenumbers} {subscriber number too long}
{
subscriber~number~(Teilnehmerrufnummer)~has~more~than~#1~digits~in~
\phone_landesadjektiv:V \l_phone_land_str
@@ -116,52 +116,52 @@
\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {illegal~start~of~subscriber~number}
+\msg_new:nnn {phonenumbers} {illegal start of subscriber number}
{
subscriber~number~(Teilnehmerrufnummer)~starts~with~#1~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {missing~subscriber~number}
+\msg_new:nnn {phonenumbers} {missing subscriber number}
{
no~subscriber~number~(Teilnehmerrufnummer)~given~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {invalid~area~code}
+\msg_new:nnn {phonenumbers} {invalid area code}
{
unknown~area~code~(Vorwahl)~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {number~too~short}
+\msg_new:nnn {phonenumbers} {number too short}
{
\phone_landesadjektiv:V \l_phone_land_str\ #1~number~has~less~than~#2~digits~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {number~too~long}
+\msg_new:nnn {phonenumbers} {number too long}
{
\phone_landesadjektiv:V \l_phone_land_str\ #1~number~has~more~than~#2~digits~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {home~country~set}
+\msg_new:nnn {phonenumbers} {home country set}
{
home~country~set~to~\l_phone_heimatland_str\ \msg_line_context:
}
-\msg_new:nnn {phonenumbers} {home~country~cleared}
+\msg_new:nnn {phonenumbers} {home country cleared}
{
home~country~\l_phone_heimatland_str\ has~been~deleted~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {home~area~code~set}
+\msg_new:nnn {phonenumbers} {home area code set}
{
Your~home~is~in~\tl_use:c {c_phone_\l_phone_heimatland_str _ortsname_#1_tl}~(area~code~#1)~according~to~line~\msg_line_number:.
}
-\msg_new:nnn {phonenumbers} {home~area~code~cleared}
+\msg_new:nnn {phonenumbers} {home area code cleared}
{
home~area~code~\l_phone_heimatvorwahl_str\ has~been~deleted~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {invalid~home~area~code}
+\msg_new:nnn {phonenumbers} {invalid home area code}
{
#1~unknown~as~
\phone_landesadjektiv:V \l_phone_heimatland_str
@@ -170,12 +170,12 @@
\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {invalid~country~code}
+\msg_new:nnn {phonenumbers} {invalid country code}
{
illegal~country~code~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {country~code~only}
+\msg_new:nnn {phonenumbers} {country code only}
{
phone~number~consists~of~a~country~code~only~\msg_line_context:
}
@@ -216,18 +216,18 @@
{
\str_if_empty:NF \l_phone_heimatland_str
{
- \msg_info:nn {phonenumbers} {home~country~cleared}
+ \msg_info:nn {phonenumbers} {home country cleared}
\str_clear:N \l_phone_heimatland_str
}
}
{
\str_set_eq:NN \l_phone_heimatland_str \l_keys_choice_tl
- \msg_info:nn {phonenumbers} {home~country~set}
+ \msg_info:nn {phonenumbers} {home country set}
}
\str_if_empty:NF \l_phone_heimatvorwahl_str
{
- \msg_info:nn {phonenumbers} {home~area~code~cleared}
+ \msg_info:nn {phonenumbers} {home area code cleared}
\str_clear:N \l_phone_heimatvorwahl_str
}
},
@@ -299,7 +299,7 @@
{
\str_if_empty:NF \l_phone_heimatvorwahl_str
{
- \msg_info:nn {phonenumbers} {home~area~code~cleared}
+ \msg_info:nn {phonenumbers} {home area code cleared}
\str_clear:N \l_phone_heimatvorwahl_str
}
}
@@ -307,14 +307,14 @@
\str_if_empty:NT \l_phone_heimatland_str
{
\str_set_eq:NN \l_phone_heimatland_str \l_phone_land_str
- \msg_info:nn {phonenumbers} {home~country~set}
+ \msg_info:nn {phonenumbers} {home country set}
}
\phone_heimatvorwahl_erlaubt:nT {#1}
{
% Auslassen der Vorwahl möglich, Heimatvorwahl setzen:
\str_set:Nn \l_phone_heimatvorwahl_str {#1}
- \msg_info:nnn {phonenumbers} {home~area~code~set} {#1}
+ \msg_info:nnn {phonenumbers} {home area code set} {#1}
}
}
},
@@ -340,7 +340,7 @@
{
\str_if_eq:nnTF {#1} {0508} { \prg_return_true: }
{
- \msg_warning:nnn {phonenumbers/FR} {illegal~home~area~code} {#1}
+ \msg_warning:nnn {phonenumbers} {FR/illegal home area code} {#1}
\prg_return_false:
}
}
@@ -354,7 +354,7 @@
{
\clist_if_in:cnTF {\l_tmpa_str} {#1}
{
- \msg_warning:onn {phonenumbers/\l_phone_heimatland_str} {illegal~home~area~code} {#1}
+ \msg_warning:onn {phonenumbers} {\l_phone_heimatland_str/illegal home area code} {#1}
\prg_return_false:
}
{
@@ -367,7 +367,7 @@
}
}
{
- \msg_warning:nnn {phonenumbers} {invalid~home~area~code} {#1}
+ \msg_warning:nnn {phonenumbers} {invalid home area code} {#1}
\prg_return_false:
}
}
@@ -440,7 +440,7 @@
{
\tl_if_blank:nTF {#1}
{
- \msg_warning:nn {phonenumbers} {empty~input}
+ \msg_warning:nn {phonenumbers} {empty input}
\bool_set_true:N \l_phone_eingabe_leer_bool
}
{
@@ -485,7 +485,7 @@
}
{
% keine Ziffer eingelesen
- \bool_lazy_and:nnTF {\l_phone_erstes_zeichen_bool} {\str_if_eq_p:nn {##1} {+}}
+ \bool_lazy_and:nnTF {\l_phone_erstes_zeichen_bool} { \str_if_eq_p:nn {##1} {+} }
{
% führendes + eingelesen
\bool_set_true:N \l_phone_auslandsnummer_bool
@@ -501,7 +501,7 @@
}
{
% unerlaubtes Zeichen (z. B. Buchstaben) eingelesen
- \msg_warning:nnx {phonenumbers} {illegal~character} {##1}
+ \msg_warning:nnx {phonenumbers} {illegal character} {##1}
}
}
}
@@ -622,12 +622,15 @@
\tl_remove_all:Nn \l_phone_bereinigte_nummer_str {-}
}
+\cs_generate_variant:Nn \phone_nummer_ueberpruefen:n {x}
+
+
% #1: eingebene Durchwahl
\cs_new:Npn \phone_durchwahl_ueberpruefen:n #1
{
\tl_if_blank:nTF {#1}
{
- \msg_warning:nn {phonenumbers} {empty~extension}
+ \msg_warning:nn {phonenumbers} {empty extension}
\bool_set_true:N \l_phone_durchwahl_leer_bool
}
{
@@ -643,7 +646,7 @@
\str_put_right:Nn \l_phone_bereinigte_durchwahl_str {##1}
}
{
- \msg_warning:nnx {phonenumbers} {illegal~character} {##1}
+ \msg_warning:nnx {phonenumbers} {illegal character} {##1}
}
}
}
@@ -741,7 +744,7 @@
\NewDocumentCommand \setphonenumbers {m}
{
- \keys_set:nn {phonenumbers} {#1}
+ \keys_set:no {phonenumbers} {#1}
}
\NewDocumentCommand \phonenumber {omo}
@@ -749,15 +752,15 @@
\group_begin:
\IfValueT {#1}
{
- \keys_set:nn {phonenumbers} {#1}
+ \keys_set:no {phonenumbers} {#1}
}
\IfValueT {#3}
{
- \phone_durchwahl_ueberpruefen:n {#3}
+ \phone_durchwahl_ueberpruefen:x {#3}
}
- \phone_nummer_ueberpruefen:n {#2}
+ \phone_nummer_ueberpruefen:x {#2}
\IfValueT {#3}
{
@@ -765,7 +768,7 @@
{
\bool_if:NF \l_phone_durchwahl_leer_bool
{
- \msg_warning:nn {phonenumbers} {illegal~extension}
+ \msg_warning:nn {phonenumbers} {illegal extension}
}
}
}
@@ -779,7 +782,7 @@
\group_begin:
\IfValueT {#1}
{
- \keys_set:nn {phonenumbers} {#1}
+ \keys_set:no {phonenumbers} {#1}
}
\phone_vorwahlliste_ausgeben:n {ortsvorwahlen}
@@ -791,7 +794,7 @@
\group_begin:
\IfValueT {#1}
{
- \keys_set:nn {phonenumbers} {#1}
+ \keys_set:no {phonenumbers} {#1}
}
\phone_vorwahlliste_ausgeben:n {sondervorwahlen}
@@ -953,12 +956,12 @@
\int_compare:nNnTF {\l_tmpa_int} < {#2}
{
- \msg_warning:nnnn {phonenumbers} {number~too~short} {#4} {#2}
+ \msg_warning:nnnn {phonenumbers} {number too short} {#4} {#2}
}
{
\int_compare:nNnTF {\l_tmpa_int} > {#3}
{
- \msg_warning:nnnn {phonenumbers} {number~too~long} {#4} {#3}
+ \msg_warning:nnnn {phonenumbers} {number too long} {#4} {#3}
}
{
\bool_set_true:N \l_phone_teilnehmerrufnummer_gueltig_bool
@@ -1152,7 +1155,7 @@
\int_compare:nNnTF {\l_tmpa_int} > {13}
{
% Gesamtnummer hat mehr als 13 Stellen
- \msg_warning:nnnn {phonenumbers} {number~too~long} {landline} {13}
+ \msg_warning:nnnn {phonenumbers} {number too long} {landline} {13}
}
{
\int_set:Nn \l_tmpa_int {\str_count:n {#2}}
@@ -1161,7 +1164,7 @@
\int_compare:nNnTF {\l_tmpa_int} < {3}
{
% Teilnehmerrufnummer hat weniger als 3 Stellen
- \msg_warning:nnn {phonenumbers} {subscriber~number~too~short} {3}
+ \msg_warning:nnn {phonenumbers} {subscriber number too short} {3}
}
{
\bool_set_true:N \l_phone_teilnehmerrufnummer_gueltig_bool
@@ -1178,13 +1181,13 @@
\int_compare:nNnTF {\l_tmpa_int} > {11}
{
% Gesamtnummer hat mehr als 11 Stellen
- \msg_warning:nnnn {phonenumbers} {number~too~long} {0137~(MABEZ)} {11}
+ \msg_warning:nnnn {phonenumbers} {number too long} {0137~(MABEZ)} {11}
}
{
\int_compare:nNnTF {\l_tmpa_int} < {11}
{
% Gesamtnummer hat weniger als 11 Stellen
- \msg_warning:nnnn {phonenumbers} {number~too~short} {0137~(MABEZ)} {11}
+ \msg_warning:nnnn {phonenumbers} {number too short} {0137~(MABEZ)} {11}
}
{
\bool_set_true:N \l_phone_teilnehmerrufnummer_gueltig_bool
@@ -1210,7 +1213,7 @@
% Festnetznummer
\str_if_eq:xnTF {\str_head:n {#2}} {0}
{
- \msg_warning:nnn {phonenumbers} {illegal~start~of~subscriber~number} {0}
+ \msg_warning:nnn {phonenumbers} {illegal start of subscriber number} {0}
}
{
\phone_DE_festnetzteilnehmerrufnummernlaenge_ueberpruefen:Nn #1 {#2}
@@ -1261,7 +1264,7 @@
% Mobilfunk- und Sondernummern dürfen keine Durchwahl enthalten (ausgenommen MABEZ-Nummern)
\str_if_eq:xnF {\str_range:Nnn #1 {1} {4}} {0137}
{
- \msg_warning:nn {phonenumbers} {odd~extension}
+ \msg_warning:nn {phonenumbers} {odd extension}
}
}
}
@@ -1315,7 +1318,7 @@
\int_compare:nNnTF {\l_phone_DE_AT_vorwahllaenge_int} = {\l_phone_DE_AT_hauptnummerlaenge_int}
{
- \msg_warning:nn {phonenumbers} {missing~subscriber~number}
+ \msg_warning:nn {phonenumbers} {missing subscriber number}
}
{
\use:c {phone_\l_phone_land_str _teilnehmerrufnummer_schreiben:Nx} \l_phone_vorwahl_str
@@ -1325,7 +1328,7 @@
}
}
{
- \msg_warning:nn {phonenumbers} {invalid~area~code}
+ \msg_warning:nn {phonenumbers} {invalid area code}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_durchwahl_str
}
@@ -1355,7 +1358,7 @@
\int_compare:nNnTF {\l_tmpa_int} > {13}
{
% Gesamtnummer hat mehr als 13 Stellen
- \msg_warning:nnnn {phonenumbers} {number~too~long} {landline} {13}
+ \msg_warning:nnnn {phonenumbers} {number too long} {landline} {13}
}
{
\int_set:Nn \l_tmpa_int {\str_count:n {#2}}
@@ -1364,13 +1367,13 @@
\int_compare:nNnTF {\l_tmpa_int} < {5}
{
% Teilnehmerrufnummer hat weniger als 5 Stellen
- \msg_warning:nnn {phonenumbers} {subscriber~number~too~short} {5}
+ \msg_warning:nnn {phonenumbers} {subscriber number too short} {5}
}
{
\bool_lazy_and:nnTF {\str_if_eq_p:Vn #1 {01}} {\int_compare_p:nNn {\l_tmpa_int} < {7}}
{
% Wiener Teilnehmerrufnummer hat weniger als 7 Stellen
- \msg_warning:nnn {phonenumbers} {subscriber~number~too~short} {7}
+ \msg_warning:nnn {phonenumbers} {subscriber number too short} {7}
}
{
\bool_lazy_and:nnTF
@@ -1393,13 +1396,13 @@
}
{
% Teilnehmerrufnummer in bestimmten Ortsnetzen hat weniger als 6 Stellen
- \msg_warning:nnn {phonenumbers} {subscriber~number~too~short} {6}
+ \msg_warning:nnn {phonenumbers} {subscriber number too short} {6}
}
{
\int_compare:nNnTF {\l_tmpa_int} > {9}
{
% Teilnehmerrufnummer hat mehr als 9 Stellen
- \msg_warning:nnn {phonenumbers} {subscriber~number~too~long} {9}
+ \msg_warning:nnn {phonenumbers} {subscriber number too long} {9}
}
{
\bool_set_true:N \l_phone_teilnehmerrufnummer_gueltig_bool
@@ -1417,7 +1420,7 @@
\bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_tmpa_str {0}} {\str_if_eq_p:Vn \l_tmpa_str {1}}
{
- \msg_warning:nnV {phonenumbers} {illegal~start~of~subscriber~number} \l_tmpa_str
+ \msg_warning:nnV {phonenumbers} {illegal start of subscriber number} \l_tmpa_str
}
{
\phone_AT_festnetzteilnehmerrufnummernlaenge_ueberpruefen:Nn #1 {#2}
@@ -1480,7 +1483,7 @@
\str_if_empty:NF \l_phone_bereinigte_durchwahl_str
{
- \msg_warning:nn {phonenumbers} {odd~extension}
+ \msg_warning:nn {phonenumbers} {odd extension}
}
}
@@ -1522,12 +1525,12 @@
\clist_new:N \c_phone_FR_vorwahlen_clist
\clist_concat:NNN \c_phone_FR_vorwahlen_clist \c_phone_FR_ortsvorwahlen_clist \c_phone_FR_sondervorwahlen_clist
-\msg_new:nnn {phonenumbers} {FR/illegal~home~area~code}
+\msg_new:nnn {phonenumbers} {FR/illegal home area code}
{
The~only~legal~home~area~code~in~France~is~0508~(Saint-Pierre-et-Miquelon).~#1~cannot~be~set~as~home~area~code~\msg_line_context:.
}
-\msg_new:nnn {phonenumbers} {FR/missing~zero}
+\msg_new:nnn {phonenumbers} {FR/missing zero}
{
French~phone~number~has~no~zero~in~the~beginning~\msg_line_context:
}
@@ -1640,13 +1643,13 @@
{
\int_compare:nNnTF {\l_phone_nummerlaenge_int} < {4}
{
- \msg_warning:nnnn {phonenumbers} {number~too~short} {short} {4}
+ \msg_warning:nnnn {phonenumbers} {number too short} {short} {4}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
{
\int_compare:nNnTF {\l_phone_nummerlaenge_int} > {4}
{
- \msg_warning:nnnn {phonenumbers} {number~too~long} {short} {4}
+ \msg_warning:nnnn {phonenumbers} {number too long} {short} {4}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
{
@@ -1656,14 +1659,14 @@
}
}
{
- \msg_warning:nnnn {phonenumbers} {number~too~short} {phone} {10}
+ \msg_warning:nnnn {phonenumbers} {number too short} {phone} {10}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
}
{
\int_compare:nNnTF {\l_phone_nummerlaenge_int} > {10}
{
- \msg_warning:nnnn {phonenumbers} {number~too~long} {phone} {10}
+ \msg_warning:nnnn {phonenumbers} {number too long} {phone} {10}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
{
@@ -1695,12 +1698,12 @@
\bool_if:NF \l_phone_vorwahl_gefunden_bool
{
- \msg_warning:nn {phonenumbers} {invalid~area~code}
+ \msg_warning:nn {phonenumbers} {invalid area code}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
}
{
- \msg_warning:nn {phonenumbers/FR} {missing~zero}
+ \msg_warning:nn {phonenumbers} {FR/missing zero}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
}
@@ -1716,12 +1719,12 @@
\clist_new:N \c_phone_UK_vorwahlen_clist
\clist_concat:NNN \c_phone_UK_vorwahlen_clist \c_phone_UK_ortsvorwahlen_clist \c_phone_UK_sondervorwahlen_clist
-\msg_new:nnn {phonenumbers} {UK/illegal~home~area~code}
+\msg_new:nnn {phonenumbers} {UK/illegal home area code}
{
National~dialling~is~required~in~\tl_use:c {c_phone_UK_ortsname_#1_tl}.~#1~cannot~be~set~as~home~area~code~\msg_line_context:.
}
-\msg_new:nnn {phonenumbers} {UK/national~dialling~required}
+\msg_new:nnn {phonenumbers} {UK/national dialling required}
{
British~subscriber~number~starting~with~0~or~1~requires~an~area~code~\msg_line_context:
}
@@ -1866,7 +1869,7 @@
{1} { }
}
{
- \msg_warning:nn {phonenumbers/UK} {national~dialling~required}
+ \msg_warning:nn {phonenumbers} {UK/national dialling required}
}
}
{
@@ -1957,7 +1960,7 @@
\int_compare:nNnTF {##1} = {\l_phone_nummerlaenge_int}
{
- \msg_warning:nn {phonenumbers} {missing~subscriber~number}
+ \msg_warning:nn {phonenumbers} {missing subscriber number}
}
{
\phone_UK_teilnehmerrufnummer_schreiben:Nx \l_phone_vorwahl_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {##1 + 1} {-1}}
@@ -1969,7 +1972,7 @@
\bool_if:NF \l_phone_vorwahl_gefunden_bool
{
- \msg_warning:nn {phonenumbers} {invalid~area~code}
+ \msg_warning:nn {phonenumbers} {invalid area code}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
}
@@ -1987,17 +1990,17 @@
\clist_new:N \c_phone_US_vorwahlen_clist
\clist_concat:NNN \c_phone_US_vorwahlen_clist \c_phone_US_ortsvorwahlen_clist \c_phone_US_sondervorwahlen_clist
-\msg_new:nnn {phonenumbers} {US/illegal~home~area~code}
+\msg_new:nnn {phonenumbers} {US/illegal home area code}
{
10-digit~dialling~is~required~in~\tl_use:c {c_phone_US_ortsname_#1_tl}.~#1~cannot~be~set~as~home~area~code~\msg_line_context:.
}
-\msg_new:nnn {phonenumbers} {US/invalid~area~code}
+\msg_new:nnn {phonenumbers} {US/invalid area code}
{
unknown~area~code~#1~in~North~American~phone~number~\msg_line_context:
}
-\msg_new:nnn {phonenumbers} {US/invalid~central~office~code}
+\msg_new:nnn {phonenumbers} {US/invalid central office code}
{
invalid~central~office~code~#1~in~North~American~phone~number~\msg_line_context:
}
@@ -2207,7 +2210,7 @@
{1} { }
}
{
- \msg_warning:nnn {phonenumbers/US} {invalid~central~office~code} {#2}
+ \msg_warning:nnn {phonenumbers} {US/invalid central office code} {#2}
}
{
\bool_set_false:N \l_tmpa_bool % Regionalnummer?
@@ -2227,13 +2230,13 @@
{
\str_if_eq:xnT {\str_range:nnn {#2} {2} {3}} {11}
{
- \msg_warning:nnn {phonenumbers/US} {invalid~central~office~code} {#2}
+ \msg_warning:nnn {phonenumbers} {US/invalid central office code} {#2}
}
}
{
\str_if_eq:nnT {#2} {911}
{
- \msg_warning:nnn {phonenumbers/US} {invalid~central~office~code} {#2}
+ \msg_warning:nnn {phonenumbers} {US/invalid central office code} {#2}
}
}
}
@@ -2272,10 +2275,10 @@
{
\clist_if_in:NVTF \c_phone_US_vorwahlen_clist \l_phone_bereinigte_nummer_str
{
- \msg_warning:nn {phonenumbers} {missing~subscriber~number}
+ \msg_warning:nn {phonenumbers} {missing subscriber number}
}
{
- \msg_warning:nnV {phonenumbers/US} {invalid~area~code} \l_phone_bereinigte_nummer_str
+ \msg_warning:nnV {phonenumbers} {US/invalid area code} \l_phone_bereinigte_nummer_str
}
\phone_US_vorwahl_schreiben:VN \l_phone_bereinigte_nummer_str \c_false_bool
@@ -2292,7 +2295,7 @@
\clist_if_in:NVF \c_phone_US_vorwahlen_clist \l_tmpa_str
{
- \msg_warning:nnx {phonenumbers/US} {invalid~area~code} {\l_tmpa_str}
+ \msg_warning:nnx {phonenumbers} {US/invalid area code} {\l_tmpa_str}
}
\phone_US_vorwahl_schreiben:VN \l_tmpa_str \c_true_bool
@@ -2306,10 +2309,10 @@
{
\int_compare:nNnTF {\str_count:N \l_phone_bereinigte_nummer_str} < {10}
{
- \msg_warning:nnnn {phonenumbers} {number~too~short} {phone} {10}
+ \msg_warning:nnnn {phonenumbers} {number too short} {phone} {10}
}
{
- \msg_warning:nnnn {phonenumbers} {number~too~long} {phone} {10}
+ \msg_warning:nnnn {phonenumbers} {number too long} {phone} {10}
}
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
@@ -2341,7 +2344,7 @@
\int_compare:nNnTF {##1} = {\l_phone_nummerlaenge_int}
{
- \msg_warning:nn {phonenumbers} {country~code~only}
+ \msg_warning:nn {phonenumbers} {country code only}
}
{
\tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl
@@ -2357,7 +2360,7 @@
\bool_if:NF \l_phone_vorwahl_gefunden_bool
{
- \msg_warning:nnn {phonenumbers} {invalid~country~code}
+ \msg_warning:nnn {phonenumbers} {invalid country code}
\tl_put_right:NV \l_phone_ausgabetext_tl \c_phone_pluszeichen_tl
\tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/phonenumbers.tlpobj new/tlpkg/tlpobj/phonenumbers.tlpobj
--- old/tlpkg/tlpobj/phonenumbers.tlpobj 2019-02-28 03:59:39.000000000 +0100
+++ new/tlpkg/tlpobj/phonenumbers.tlpobj 2019-08-23 01:53:41.000000000 +0200
@@ -1,6 +1,6 @@
name phonenumbers
category Package
-revision 48355
+revision 51933
shortdesc Typesetting telephone numbers with LaTeX
relocated 1
longdesc The phonenumbers package makes it possible to typeset telephone
@@ -26,7 +26,7 @@
RELOC/tex/latex/phonenumbers/phn-US_Vorwahlen.tex
RELOC/tex/latex/phonenumbers/phonenumbers.sty
catalogue-ctan /macros/latex/contrib/phonenumbers
-catalogue-date 2018-08-05 12:59:26 +0200
+catalogue-date 2019-08-19 08:40:21 +0200
catalogue-license lppl1.3
catalogue-topics addr-list numbers
-catalogue-version 2.1
+catalogue-version 2.2
++++++ pict2e.doc.tar.xz ++++++
Binary files old/doc/latex/pict2e/p2e-drivers.pdf and new/doc/latex/pict2e/p2e-drivers.pdf differ
Binary files old/doc/latex/pict2e/pict2e.pdf and new/doc/latex/pict2e/pict2e.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pict2e.doc.tlpobj new/tlpkg/tlpobj/pict2e.doc.tlpobj
--- old/tlpkg/tlpobj/pict2e.doc.tlpobj 2019-02-28 03:59:40.000000000 +0100
+++ new/tlpkg/tlpobj/pict2e.doc.tlpobj 2019-08-21 01:53:48.000000000 +0200
@@ -1,6 +1,6 @@
name pict2e.doc
category Package
-revision 39591
+revision 51918
shortdesc doc files of pict2e
relocated 1
docfiles size=196
++++++ pict2e.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pict2e/pict2e.sty new/tex/latex/pict2e/pict2e.sty
--- old/tex/latex/pict2e/pict2e.sty 2016-02-06 00:35:03.000000000 +0100
+++ new/tex/latex/pict2e/pict2e.sty 2019-08-20 22:45:38.000000000 +0200
@@ -24,7 +24,7 @@
%% This work consists of all files listed in `manifest.txt'.
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{pict2e}[2016/02/05 v0.3b Improved picture commands (HjG,RN,JT)]
+\ProvidesPackage{pict2e}[2019/08/20 v0.3c Improved picture commands (HjG,RN,JT)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
@@ -383,14 +383,14 @@
\newcommand*\pIIe@checkslopeargsvector[2]{%
\pIIe@checkslopeargs{#1}{#2}{1000}}
\newcommand*\pIIe@checkslopeargs[3]{%
- \def\@tempa{#1}\expandafter\pIIe@checkslopearg\@tempa.:{#3}%
- \def\@tempa{#2}\expandafter\pIIe@checkslopearg\@tempa.:{#3}%
+ \edef\@tempa{#1}\expandafter\pIIe@checkslopearg\@tempa.:{#3}%
+ \edef\@tempa{#2}\expandafter\pIIe@checkslopearg\@tempa.:{#3}%
\ifdim #1\p@=\z@ \ifdim #2\p@=\z@ \@badlinearg \fi\fi}
\def\pIIe@checkslopearg #1.#2:#3{%
\def\@tempa{#1}%
\ifx\@tempa\empty\def\@tempa{0}\fi
\ifx\@tempa\space\def\@tempa{0}\fi
- \ifnum\ifnum\@tempa<\z@-\fi\@tempa>#3\@badlinearg \fi}
+ \ifnum\ifnum\@tempa<\z@-\fi\@tempa>#3 \@badlinearg \fi}
\def\@badlinearg{\PackageError
{pict2e}{Bad \protect\line\space or \protect\vector\space argument}{}}
\def\line(#1,#2)#3{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pict2e.tlpobj new/tlpkg/tlpobj/pict2e.tlpobj
--- old/tlpkg/tlpobj/pict2e.tlpobj 2019-02-28 03:59:40.000000000 +0100
+++ new/tlpkg/tlpobj/pict2e.tlpobj 2019-08-21 01:53:48.000000000 +0200
@@ -1,6 +1,6 @@
name pict2e
category Package
-revision 39591
+revision 51918
shortdesc New implementation of picture commands
relocated 1
longdesc This package was described in the 2nd edition of 'LaTeX: A
@@ -10,8 +10,8 @@
longdesc error message. The new package extends the existing LaTeX
longdesc picture environment, using the familiar technique (cf. the
longdesc graphics and color packages) of driver files (at present,
-longdesc drivers for PostScript output from LaTeX, and for use with
-longdesc pdfLaTeX are available). The package documentation has a fair
+longdesc drivers for dvips, pdfTeX, LuaTeX, XeTeX, VTeX, dvipdfm, and
+longdesc dvipdfmx are available). The package documentation has a fair
longdesc number of examples of use, showing where things are improved by
longdesc comparison with the LaTeX picture environment.
runfiles size=18
@@ -28,8 +28,10 @@
RELOC/tex/latex/pict2e/pict2e.cfg
RELOC/tex/latex/pict2e/pict2e.sty
catalogue-also curve2e xpicture
+catalogue-contact-bugs https://github.com/rolfn/pict2e/issues
+catalogue-contact-home https://github.com/rolfn/pict2e
catalogue-ctan /macros/latex/contrib/pict2e
-catalogue-date 2016-06-24 19:18:15 +0200
+catalogue-date 2019-08-20 15:36:48 +0200
catalogue-license lppl1.3
catalogue-topics graphics-in-tex
-catalogue-version 0.3b
+catalogue-version 0.3c
++++++ pkuthss.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/README.txt new/doc/latex/pkuthss/README.txt
--- old/doc/latex/pkuthss/README.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/pkuthss/README.txt 2019-11-17 23:30:56.000000000 +0100
@@ -0,0 +1,18 @@
+pkuthss: LaTeX template for dissertations in Peking University
+--------------------------------------------------------------
+
+Maintainer: Casper Ti. Vector
+Homepage: https://gitea.com/CasperVector/pkuthss
+
+Licence:
+* New BSD Licence for `copy.tex' and `origin.tex'.
+* LaTeX Project Public Licence 1.3 or later for files in `tex/' and
+ `doc/readme/', except for those mentioned above.
+* Public domain for all other files.
+
+This package provides a simple, clear and flexible LaTeX template for
+dissertations in Peking University.
+
+This file (`README.txt') is *NOT* intended as the documentation for this
+package; please see the file `pkuthss.pdf' instead.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/example/Make.bat new/doc/latex/pkuthss/example/Make.bat
--- old/doc/latex/pkuthss/example/Make.bat 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/example/Make.bat 2019-11-15 22:37:15.000000000 +0100
@@ -1,32 +1,19 @@
@echo off
@rem Copyright (c) 2008-2009 solvethis
-@rem Copyright (c) 2010-2012 Casper Ti. Vector
+@rem Copyright (c) 2010-2012,2019 Casper Ti. Vector
@rem Public domain.
-set JOB=thesis
-@rem ���������ֵ����Ϊ latex��pdflatex �� xelatex��
-set LATEX=latex
-set BIBTEX=biber -l zh__pinyin --output-safechars
-set DVIPDF=dvipdfmx
-
-if "%LATEX%"=="latex" (set DODVIPDF=%DVIPDF% %JOB%
-) else (set DODVIPDF=echo No need to run %DVIPDF%.)
if "%1"=="" goto doc
if "%1"=="doc" goto doc
if "%1"=="clean" (goto clean) else (goto usage)
:doc
-%LATEX% %JOB%
-%BIBTEX% %JOB%
-%LATEX% %JOB%
-%LATEX% %JOB%
-%DODVIPDF%
+latexmk
goto end
:clean
-del *.aux *.bbl *.bcf *.blg *.dvi *.lof *.log *.lot *.run.xml *.toc *.out
-del missfont.log chap\*.aux
+latexmk -c
goto end
:usage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/example/ctex-fontset-pkuthss.def new/doc/latex/pkuthss/example/ctex-fontset-pkuthss.def
--- old/doc/latex/pkuthss/example/ctex-fontset-pkuthss.def 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/example/ctex-fontset-pkuthss.def 2019-11-15 22:37:15.000000000 +0100
@@ -36,13 +36,13 @@
}
{
\setCJKmainfont
- [ BoldFont = SimHei , ItalicFont = [ simkai.ttf ] ] { SimSun }
+ [ BoldFont = SimHei , ItalicFont = KaiTi ] { SimSun }
\setCJKsansfont { SimHei }
- \setCJKmonofont { [ simfang.ttf ] }
+ \setCJKmonofont { FangSong }
\setCJKfamilyfont { zhsong } { SimSun }
\setCJKfamilyfont { zhhei } { SimHei }
- \setCJKfamilyfont { zhkai } { [ simkai.ttf ] }
- \setCJKfamilyfont { zhfs } { [ simfang.ttf ] }
+ \setCJKfamilyfont { zhkai } { KaiTi }
+ \setCJKfamilyfont { zhfs } { FangSong }
%\setCJKfamilyfont { zhli } { LiSu }
%\setCJKfamilyfont { zhyou } { YouYuan }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/example/latexmkrc new/doc/latex/pkuthss/example/latexmkrc
--- old/doc/latex/pkuthss/example/latexmkrc 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/pkuthss/example/latexmkrc 2019-11-15 22:37:15.000000000 +0100
@@ -0,0 +1,14 @@
+# Copyright (c) 2019 Casper Ti. Vector
+# Public domain.
+
+@default_files = ('thesis');
+# 5:xelatex;3:latex(+ dvipdfmx);1:pdflatex。
+$pdf_mode = 5;
+# 用 latex 模式编译时,使用 dvipdfmx 而非默认的 dvipdf。
+$dvipdf = "dvipdfmx %O -o %D %S";
+# 此选项相关说明见 texdoc latexmk。
+$bibtex_use = 1.5;
+$biber = "biber -l zh__pinyin --output-safechars %O %S";
+# latexmk -c 时自动删除 .run.xml 文件。
+$clean_ext = "run.xml";
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/example/spine.tex new/doc/latex/pkuthss/example/spine.tex
--- old/doc/latex/pkuthss/example/spine.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/example/spine.tex 2019-11-15 22:37:15.000000000 +0100
@@ -1,13 +1,13 @@
-% Copyright (c) 2018 Casper Ti. Vector
+% Copyright (c) 2018-2019 Casper Ti. Vector
% Public domain.
-\documentclass[zihao = -4]{ctexart}
+\documentclass[UTF8, zihao = -4]{ctexart}
\usepackage{calc, geometry, graphicx}
\usepackage[defaultsups]{newtxtext}
\usepackage[cmintegrals, varg]{newtxmath}
\pagestyle{empty}
\newlength{\colpad}
-\newcommand{\colwidth}{\ccwd}
+\newcommand{\colwidth}{0.99\ccwd}
% 设定论文纸尺寸。
\geometry{paperwidth = 460mm, paperheight = 297mm, margin = 0cm}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/example/thesis.tex new/doc/latex/pkuthss/example/thesis.tex
--- old/doc/latex/pkuthss/example/thesis.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/example/thesis.tex 2019-11-15 22:37:15.000000000 +0100
@@ -1,5 +1,5 @@
% Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2016,2018 Casper Ti. Vector
+% Copyright (c) 2010-2016,2018-2019 Casper Ti. Vector
% Public domain.
%
% 使用前请先仔细阅读 pkuthss 和 biblatex-caspervector 的文档,
@@ -9,12 +9,8 @@
% texdoc biblatex-caspervector
% 调出。
-% 采用了自定义的(包括大小写不同于原文件的)字体文件名,
-% 并改动 ctex.cfg 等配置文件的用户请自行加入 nofonts 选项;
-% 其它用户不用加入 nofonts 选项,加入之后反而会产生错误。
\documentclass[UTF8]{pkuthss}
% 如果的确须要使脚注按页编号的话,可以去掉后面 footmisc 包的注释。
-% 注意:在启用此设定的情况下,可能要多编译一次以产生正确的脚注编号。
%\usepackage[perpage]{footmisc}
% 使用 biblatex 排版参考文献,并规定其格式(详见 biblatex-caspervector 的文档)。
Binary files old/doc/latex/pkuthss/example.pdf and new/doc/latex/pkuthss/example.pdf differ
Binary files old/doc/latex/pkuthss/pkuthss.pdf and new/doc/latex/pkuthss/pkuthss.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/ChangeLog.txt new/doc/latex/pkuthss/readme/ChangeLog.txt
--- old/doc/latex/pkuthss/readme/ChangeLog.txt 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/ChangeLog.txt 2019-11-17 23:30:56.000000000 +0100
@@ -1,3 +1,32 @@
+2019-11-17, v1.8.2
+
+ * Misc:
+ - CTAN now also wants README in the TDS archive.
+ - `README' -> `README.txt' do avoid collision with the `readme' directory.
+ - Fix ignored `\docversion' update.
+
+2019-11-15, v1.8.1
+
+ * Changes to example template:
+ - Migrate to latexmk (also for packaging).
+ - ctex-fontset-pkuthss.def: `[ simkai.ttf ]' etc is no longer supported.
+ - spine.tex: fix garbled characters and hbox warnings with pdflatex.
+
+ * Changes to package code:
+ - pkuthss.cls: work around the `\lvert already defined' error.
+ - pkuthss.cls: fix section title spacing below the page header.
+ - pkuthss.cls: adjust titlepage spacing.
+
+ * Changes to documentation:
+ - Synchronise with the current code.
+ - Use \mbox around \supercite by default.
+ - Improve verbatims.
+
+ * Misc:
+ - Completion of some previous commits.
+ - Migrate to Gitea, "for obvious reasons".
+ - Minor fixes and cosmetics.
+
2018-07-02, v1.8.0
* Changes to example template:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/Makefile new/doc/latex/pkuthss/readme/Makefile
--- old/doc/latex/pkuthss/readme/Makefile 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/Makefile 1970-01-01 01:00:00.000000000 +0100
@@ -1,38 +0,0 @@
-# Copyright (c) 2008-2009 solvethis
-# Copyright (c) 2010-2012,2014-2015,2018 Casper Ti. Vector
-# Public domain.
-
-JOB = pkuthss
-BIBTEX = biber -l zh__pinyin --output-safechars
-DVIPDF = dvipdfmx
-MAKE = make
-RM = rm -f
-
-ifndef LATEX
- LATEX1 = latex
- LATEX2 = xelatex
-else
- LATEX1 = $(LATEX)
- LATEX2 = $(LATEX)
-endif
-
-ifeq ($(LATEX), latex)
- DODVIPDF = $(DVIPDF) $(JOB)
-endif
-
-doc:
- $(LATEX1) $(JOB)
- $(BIBTEX) $(JOB)
- $(LATEX2) $(JOB)
- $(LATEX2) $(JOB)
- $(DODVIPDF)
-
-clean:
- $(RM) $(JOB).aux $(JOB).bbl $(JOB).bcf $(JOB).blg $(JOB).dvi \
- $(JOB).lof $(JOB).log $(JOB).lot $(JOB).run.xml $(JOB).toc \
- $(JOB).out $(JOB).out.bak missfont.log texput.log chap/*.aux
-
-distclean: clean
- $(RM) $(JOB).pdf
-
-# vim:ts=4:sw=4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/chap/pkuthss-chap1.tex new/doc/latex/pkuthss/readme/chap/pkuthss-chap1.tex
--- old/doc/latex/pkuthss/readme/chap/pkuthss-chap1.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/chap/pkuthss-chap1.tex 2019-11-17 23:30:56.000000000 +0100
@@ -1,7 +1,7 @@
% Documentation for pkuthss.
%
% Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2018 Casper Ti. Vector
+% Copyright (c) 2010-2019 Casper Ti. Vector
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at
@@ -33,24 +33,23 @@
\begin{itemize}
\item 一个基本的 \hologo{TeX} 发行版。
\item CJK 或 XeCJK(供 \hologo{XeLaTeX} 使用)宏包。
- \item ctex\supercite{ctex} 宏包(提供了 ctexbook 文档类)。
+ \item ctex\cupercite{ctex} 宏包(提供了 ctexbook 文档类)。
\item 中文字体。
\item 如果要使用 biblatex 进行文献列表和引用的排版的话,
- 还需要 biblatex\supercite{biblatex} 宏包;
+ 还需要 biblatex\cupercite{biblatex} 宏包;
\item 如果要对中文文献进行按汉语拼音的排序的话,
- 还需要 biber\supercite{biber} 程序。
+ 还需要 biber\cupercite{biber} 程序。
\item 如果使用默认的文献列表和引用样式的话,还需要作者编写的 biblatex 样式
- (biblatex-caspervector\supercite{biblatex-caspervector}),
+ (biblatex-caspervector\cupercite{biblatex-caspervector}),
此样式要求使用 biber 程序。
- \item 如果须要使用 Makefile 来实现自动编译,还需要 Make 工具;
- 但如果使用由批处理实现的伪“Makefile”就不用了。
+ \item 如果须要使用 latexmk 来实现自动编译,还需要 latexmk 工具。
\end{itemize}
\myemph{最新}的\myemph{完全版} \hologo{TeX} Live 系统(\myemph{%
注:某些 Linux 发行版软件仓库中的 \hologo{TeX} Live 有问题,
建议使用独立安装版的 \hologo{TeX} Live%
\unemph{\footnote{\url{https://www.tug.org/texlive/}.}}。%
-})都已经包含除中文字体和 Make 之外所有要求的项目。%
+})都已经包含除中文字体之外所有要求的项目。%
\myemph{%
为了获得最好的支持,
我们建议用户使用最新、完全版的 \hologo{TeX} 系统和各宏包。%
@@ -66,22 +65,16 @@
这些字体是 GB18030 字符集的,不存在上述问题。%
}
-Linux 用户可以从软件源获得 GNU 的 make;
-其它类 UNIX 系统应该也会提供 make 工具,请参阅相应的文档以获得帮助。%
-Windows 用户可以从以下地址下载 Windows 下的 GNU make 工具:\\
-\hspace*{\parindent}%
-\url{http://gnuwin32.sourceforge.net/packages/make.htm}
-
\section{模版文件}\label{sec:doc-dir}
在正确安装 pkuthss 文档模版之后,在终端/命令提示符中执行
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
texdoc pkuthss
\end{Verbatim}
所打开的 pdf 文件所在的同一目录中包含两个子目录和相应的两个 pdf 文件,
其中 \verb|readme/| 为说明文档(即本文档)的源代码,%
\verb|example/| 为文档模版的源代码,%
-\verb|readme.pdf| 和 \verb|example.pdf|
+\verb|pkuthss.pdf| 和 \verb|example.pdf|
分别为说明文档和文档模版的 pdf 文件。
\verb|example/| 目录下的源代码使用的是 UTF-8 编码,
@@ -98,44 +91,32 @@
因此 pkuthss 文档模版的作者建议用户使用支持 LF 换行的文本编辑器编辑文件。%
}
-模版中的重要文件有:
+模版中的关键文件有:
\begin{itemize}
- \item \verb|Makefile|:
- 被 Make 工具调用的 Makefile,用于使编译工作自动化。
+ \item \verb|ctexopts.cfg|、\verb|ctex-fontset-pkuthss.def|:
+ 比较常用的字体配置,适用于 2.0 及以后版本的
+ ctex\cupercite{ctex} 宏包。
+ \item \verb|latexmkrc|:
+ 被 latexmk 工具读取的配置文件,用于使编译工作自动化。
\item \verb|Make.bat|:%
- Windows 下的伪“Makefile”,用 Windows 批处理实现。
+ 方便 Windows 用户使用的批处理文件,会调用 latexmk。
+ \item \verb|spine.tex|:书脊的源文件,具体用法请参考其中代码。
+ \item \verb|thesis.tex|:示例模版的主文件。
\item \verb|chap/|:目录,包含各章节内容:
\begin{itemize}
- \item \verb|copyright.tex|:版权声明部分。
- \item \verb|originauth.tex|:
- 原创性声明和使用授权说明部分\supercite{pku-originauth}。
+ \item \verb|copy.tex|:版权声明部分。
+ \item \verb|origin.tex|:
+ 原创性声明和使用授权说明部分\cupercite{pku-originauth}。
\end{itemize}
\myemph{%
- 注:pkuthss 文档模版支持排版学校要求的二维码,
- 请参考 \texttt{copyright.tex} 和
- \texttt{originauth.tex} 中的相关注释。%
+ 注:pkuthss 文档模版可排版学校要求的二维码,
+ 请参考 \texttt{copy.tex} 和 \texttt{origin.tex} 中的相关注释。%
}
-
- \item \verb|misc/|:
- 目录,目前包含比较常用的字体配置:
- \begin{itemize}
- \item \verb|ctexopts.cfg|、\verb|ctex-fontset-pkuthss.def|:
- 适用于 2.0 及以后版本的 ctex\supercite{ctex} 宏包。
- \item \verb|ctex-xecjk-windows.def|:
- 适用于 2.0 以前版本的 ctex 宏包。
- \end{itemize}
- 使用时,
- 请将和用户系统中 ctex 宏包版本相匹配的\myemph{所有}配置文件
- 复制到模版的主目录中。
\end{itemize}
\section{编译方式}\label{sec:compile}
-首次编译前,请将 \verb|misc/| 目录中和用户系统中
-ctex 宏包版本相匹配的配置文件复制到模版的主目录中,
-详见第 \ref{sec:doc-dir} 节。
-
pkuthss 文档模版支持三种编译方式,即
\begin{itemize}
\item \hologo{LaTeX} -- dvipdfmx 方式:\\
@@ -149,42 +130,36 @@
\verb|xelatex| 和 \verb|xelatex|。
\end{itemize}
\myemph{%
- 注意:\hologo{XeLaTeX} 对非 UTF-8 编码的支持不好,
+ 注意:在特定情形下,\texttt{latex}/\texttt{pdflatex}/\texttt{xelatex}
+ 步骤可能须要执行多于 2 次,而下文推荐的 latexmk 工具会自动处理这类情形。
+ 此外,\hologo{XeLaTeX} 对非 UTF-8 编码的支持不好,
因此 \hologo{XeLaTeX} 方式的编译不支持 GBK 编码。%
}
-pkuthss 文档模版附带的 Makefile 中已经对这三种编译方式进行了完整的配置。
-用户只须要在 Makefile 中通过设定变量 \verb|JOB| 的值指定被编译的主文件名,
-并通过设定变量 \verb|LATEX| 的值指定采用哪种编译方式,
-即可通过在主文件所在目录调用 Make 工具来实现自动编译:
-如果是在类 UNIX 环境下,则用户应该调用的命令名为 \verb|make|:
-\begin{Verbatim}[frame = single]
+pkuthss 文档模版附带的 \verb|latexmkrc| 中已经对这三种编译方式进行了完整的
+配置。用户只须要在 \verb|latexmkrc| 中通过设定变量 \verb|default_files|
+的值指定被编译的主文件名,并通过设定变量 \verb|pdf_mode| 的值指定采用
+哪种编译方式,即可通过在主文件所在目录调用 latexmk 工具来实现自动编译:
+类 UNIX 环境下大致如下
+\begin{Verbatim}
cd /path/to/directory/with/thesis.tex
-make
+latexmk
\end{Verbatim}
-而如果是在 Windows 环境下,则用户应该调用的命令名可能为 \verb|mingw32-make|:
-\begin{Verbatim}[frame = single]
+而在 Windows 环境下大致如下
+\begin{Verbatim}
cd \path\to\directory\with\thesis.tex
-mingw32-make
+latexmk
\end{Verbatim}
-用户如果不想配置 Windows 下的 GNU Make,
-则也可以使用由 Windows 批处理实现的伪“Makefile”,
-通过在主文件所在目录调用 \verb|make|\footnote{%
- Windows 将批处理文件作为可执行文件,调用时可以不显式地指出扩展名。%
-}:
-\begin{Verbatim}[frame = single]
-cd \path\to\directory\with\thesis.tex
-make
-\end{Verbatim}
-\myemph{%
+Windows 用户也可以使用批处理文件 \verb|Make.bat|:
+在主文件所在目录双击此文件,它便会调用 latexmk 进行编译。\myemph{%
注意:%
Windows 批处理对于 LF(\texttt{\string\n})换行的批处理文件支持有问题。
在命令提示符(cmd)下执行这些批处理文件时没有问题,
但双击文件图标执行时可能就会出错。
\hologo{TeX} Live 中安装的 \texttt{Make.bat} 和
CTAN 上提供的压缩包里的 \texttt{Make.bat}
- 有可能是 LF(\texttt{\string\n})换行的。%
+ 在正常情况下应该是 CRLF(\texttt{\string\r\string\n})换行的。%
}
% vim:ts=4:sw=4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/chap/pkuthss-chap2.tex new/doc/latex/pkuthss/readme/chap/pkuthss-chap2.tex
--- old/doc/latex/pkuthss/readme/chap/pkuthss-chap2.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/chap/pkuthss-chap2.tex 2019-11-17 23:30:56.000000000 +0100
@@ -1,7 +1,7 @@
% Documentation for pkuthss.
%
% Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2018 Casper Ti. Vector
+% Copyright (c) 2010-2019 Casper Ti. Vector
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at
@@ -46,7 +46,7 @@
}。
\item \textbf{\texttt{[no]pkufont}}:
- 是否根据学校对论文格式的要求\mbox{\supercite{pku-thesisstyle}}%
+ 是否根据学校对论文格式的要求\cupercite{pku-thesisstyle}%
将西文字体改为类似于 Times New Roman / Arial 的字体。
\item \textbf{\texttt{[no]pkufoot}}\footnote{%
@@ -54,7 +54,7 @@
\texttt{[no]footfmt} 选项;
更改名称是为了使文档类选项名更加规则。%
}:
- 是否根据学校对论文格式的要求\mbox{\supercite{pku-thesisstyle}}%
+ 是否根据学校对论文格式的要求\cupercite{pku-thesisstyle}%
修改和脚注相关的一些格式。
具体地说,启用 \verb|pkufoot| 选项后会进行以下几项设置:
\begin{itemize}
@@ -64,7 +64,7 @@
\end{itemize}
\item \textbf{\texttt{[no]pkuspace}}:
- 是否根据学校对论文格式的要求\mbox{\supercite{pku-thesisstyle}}%
+ 是否根据学校对论文格式的要求\cupercite{pku-thesisstyle}%
修改排版中的一些间距及相关设置。
具体地说,启用 \verb|pkuspace| 选项后会按
\parencite{pku-thesisstyle} 中的要求修改以下几项设置:
@@ -89,8 +89,6 @@
是否采用一些常用的调整间距的额外版式设定。
具体地说,启用 \verb|spacing| 选项后会进行以下几项设置:
\begin{itemize}
- \item 自动忽略 CJK 文字之间的空白而
- 保留(CJK 文字与西文之间等的)其它空白。
\item 调用 setspace 宏包以使某些细节处的空间安排更美观。
\item 采用比 \hologo{LaTeX} 默认设定更加紧密的枚举环境%
\footnote{%
@@ -100,6 +98,7 @@
启用 \texttt{spacing} 选项后,
将去掉这些环境中额外增加的(垂直)间隔。%
}。
+ \item 调整枚举环境的缩进,以适应中文排版中的习惯。
\end{itemize}
\item \textbf{\texttt{[no]spechap}}\footnote{%
@@ -139,13 +138,13 @@
例如,如果须要使用 UTF-8 编码撰写论文,
则应在载入 pkuthss 文档类时加上 \verb|UTF8| 选项:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\documentclass[UTF8, ...]{pkuthss} % “...”代表其它的选项。
\end{Verbatim}
又例如,文档默认情况下是双面模式,每章都从右页(奇数页)开始。
如果希望改成一章可以从任意页开始,可以这样设置:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\documentclass[openany, ...]{pkuthss} % 每章从任意页开始。
\end{Verbatim}
@@ -153,7 +152,7 @@
\subsection{设定文档信息的命令}
这一类命令的语法为
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\commandname{具体信息} % commandname 为具体命令的名称。
\end{Verbatim}
@@ -176,7 +175,7 @@
\end{itemize}
例如,如果要设定专业为“化学”(“Chemistry”),则可以使用以下命令:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\cmajor{化学}
\emajor{Chemistry}
\end{Verbatim}
@@ -184,7 +183,7 @@
\subsection{自身存储文档信息的命令}
这一类命令的语法为
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
% commandname 为具体的命令名。
\renewcommand{\commandname}{具体信息}
\end{Verbatim}
@@ -202,7 +201,7 @@
例如,
如果要设定论文的类别为“本科生毕业论文”(“Undergraduate Thesis”),
则可以使用以下命令:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\renewcommand{\cthesisname}{本科生毕业论文}
\renewcommand{\ethesisname}{Undergraduate Thesis}
\end{Verbatim}
@@ -210,7 +209,7 @@
\subsection{以“key = value”格式设置文档信息}
用户可以通过 \verb|\pkuthssinfo| 命令集中设定文档信息,其语法为:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
% key1、key2、value1、value2 等为具体文档信息的项目名和内容。
\pkuthssinfo{key1 = value1, key2 = value2, ...}
\end{Verbatim}
@@ -224,7 +223,7 @@
}
例如,前面提到的文档信息的设置可以集中地写成:
-\begin{Verbatim}[frame = single, tabsize = 4]
+\begin{Verbatim}
\pkuthssinfo{
..., % “...”代表其它的设定。
cthesisname = {本科生毕业论文},
@@ -260,46 +259,46 @@
\section{从其它文档类和宏包继承的功能}\label{sec:thirdparty}
-pkuthss 文档类建立在 ctexbook\supercite{ctex} 文档类之上,
-并调用了 geometry\supercite{geometry}、fancyhdr\supercite{fancyhdr}、%
-hyperref\supercite{hyperref}、graphicx\supercite{graphicx}
-和 ulem\supercite{ulem} 等几个宏包。
+pkuthss 文档类建立在 ctexbook\cupercite{ctex} 文档类之上,
+并调用了 geometry\cupercite{geometry}、fancyhdr\cupercite{fancyhdr}、%
+hyperref\cupercite{hyperref}、graphicx\cupercite{graphicx}
+和 ulem\cupercite{ulem} 等几个宏包。
因此,ctexbook 文档类和这些宏包所提供的功能均可以使用。
例如,用户如果想将目录的标题改为“目{\quad\quad}录”,
则可以使用 ctexbook 文档类提供的 \verb|\ctexset| 命令:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\ctexset[contentsname = {目{\quad\quad}录}]
\end{Verbatim}
在默认的配置下,%
-pkuthss 文档模版使用作者编写的 biblatex\supercite{biblatex} 样式%
-\mbox{\supercite{biblatex-caspervector}}进行参考文献和引用的排版,
+pkuthss 文档模版使用作者编写的 biblatex\cupercite{biblatex} 样式%
+\cupercite{biblatex-caspervector}进行参考文献和引用的排版,
用户可以使用它以及 biblatex 本身所提供的功能。
例如,用户可以分别使用 \verb|\cite|、\verb|\parencite| 和 \verb|\supercite|
生成未格式化的、带方括号的和上标且带方括号的引用标记:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\cite{ctex},\parencite{ctex},\supercite{ctex}
\end{Verbatim}
在本文中将产生“\cite{ctex},\parencite{ctex},\supercite{ctex}”。
-就目前而言,在\myemph{除 3.0--3.3 之外版本的} biblatex 中,
-通过更复杂的设置,还可以满足例如被引用的文献按照引用顺序排序,
+就目前而言,在 biblatex 中,通过更复杂的设置,
+还可以满足例如被引用的文献按照引用顺序排序,
而未引用的文献按照西文文献在前、中文文献在后排序这样的需求,
-详见 biblatex-caspervector 的文档\supercite{biblatex-caspervector}。
+详见 biblatex-caspervector 的文档\cupercite{biblatex-caspervector}。
除此之外,pkuthss 文档类还可能调用以下这些宏包:
\begin{itemize}
\item 启用 \verb|pkufont| 选项时会调用
- newtxtext 和 newtxmath\supercite{newtx} 宏包,
- 否则会调用 latexsym\supercite{latexsym} 宏包。
+ newtxtext 和 newtxmath\cupercite{newtx} 宏包,
+ 否则会调用 latexsym\cupercite{latexsym} 宏包。
\item 启用 \verb|pkufoot| 选项时会调用
- tikz\supercite{tikz} 和 scrextend\supercite{scrextend} 宏包。
+ tikz\cupercite{tikz} 和 scrextend\cupercite{scrextend} 宏包。
\item 启用 \verb|pkuspace| 选项时会调用
- tocloft\supercite{tocloft}、caption\supercite{caption} 和
- subcaption\supercite{subcaption} 宏包。
+ tocloft\cupercite{tocloft}、caption\cupercite{caption} 和
+ subcaption\cupercite{subcaption} 宏包。
\item 启用 \verb|spacing| 选项时会调用 setspace 和
- enumitem\supercite{enumitem} 宏包。
+ enumitem\cupercite{enumitem} 宏包。
\end{itemize}
因此在启用相应选项时,用户可以使用对应宏包所提供的功能。
@@ -311,7 +310,7 @@
通过修改 pkuthss 文档类的源文件进行自定义。
在目前常用的 \hologo{TeX} 系统中,
假设 pkuthss 的说明文档所在目录具有下述形式的路径:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
# 说明文档所在目录($TEXMFDIST 的形式见下面几行):
$TEXMFDIST/doc/latex/pkuthss/
# 若用户使用 Windows 下的 TeX Live 系统,则 $TEXMFDIST 一般类似于:
@@ -320,7 +319,7 @@
/usr/local/texlive/2015/texmf-dist
\end{Verbatim}
则其源文件所在目录应该位于以下目录:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
$TEXMFDIST/tex/latex/pkuthss/
\end{Verbatim}
@@ -340,16 +339,16 @@
此时,用户可以修改 \verb|pkuthss.cls| 里 \verb|\maketitle| 定义中
\verb|\thss@int@fillinblank| 宏的参数来改变
带下划线的空白的行数和行宽,其语法为:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\thss@int@fillinblank{行数}{行宽}{内容}
\end{Verbatim}
例如,如果“研究方向”一栏需要两行的空白,
可以将 \verb|pkuthss.cls| 里的
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\thss@int@fillinblank{1}{\thss@tmp@len}{\kaishu\@direction}
\end{Verbatim}
改为
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\thss@int@fillinblank{2}{\thss@tmp@len}{\kaishu\@direction}
\end{Verbatim}
当然,为了美观,可以将多于一行的部分移到封面中作者信息部分的最下方。
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/chap/pkuthss-chap3.tex new/doc/latex/pkuthss/readme/chap/pkuthss-chap3.tex
--- old/doc/latex/pkuthss/readme/chap/pkuthss-chap3.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/chap/pkuthss-chap3.tex 2019-11-17 23:30:56.000000000 +0100
@@ -1,7 +1,7 @@
% Documentation for pkuthss.
%
% Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2018 Casper Ti. Vector
+% Copyright (c) 2010-2019 Casper Ti. Vector
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at
@@ -46,7 +46,7 @@
可能引起一些问题,详见第 \ref{sec:req} 节。
Windows 批处理对于 LF(\texttt{\string\n})换行的批处理文件支持有问题,
-解决方式见第 \ref{sec:compile} 节。
+诊断方式见第 \ref{sec:compile} 节。
Windows 的“记事本”程序在查看 LF(\texttt{\string\n})
换行的文本文件时存在着一些问题,
因此建议用户使用支持 LF 换行的文本编辑器编辑文件,
@@ -54,41 +54,22 @@
\section{上游宏包可能引起的问题}
-biblatex\supercite{biblatex} 宏包会自行设定 \verb|\bibname|,
+biblatex\cupercite{biblatex} 宏包会自行设定 \verb|\bibname|,
故会覆盖通过 \verb|\ctexset| 设定的参考文献列表标题。
使用 biblatex 的用户可以使用 \verb|\printbibliography| 的
\verb|title| 选项来手动设定参考文献列表的标题,例如:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
\printbibliography[title = {文献}, ...] % “...”为其它选项。
\end{Verbatim}
-hyperref\supercite{hyperref} 宏包和一些宏包可能发生冲突。
+hyperref\cupercite{hyperref} 宏包和一些宏包可能发生冲突。
关于如何避免这些冲突,
可以参考 hyperref 宏包 README 文件中的“Package Compatibility”一节。
此文件通常和执行 \verb|texdoc hyperref|
时打开的 pdf 文件位于同一目录中。
-使用 \hologo{XeLaTeX} 的用户可能在已经安装字体的情况下遇到形如(其中
-\verb|xxxxxxxx| 为具体字体名)
-\begin{Verbatim}[frame = single, fontsize = {\small}]
-! fontspec error: "font-not-found"
-! The font "xxxxxxxx" cannot be found.
-! See the fontspec documentation for further information.
-! For immediate help type H <return>.
-\end{Verbatim}
-的错误。
-这种错误一般是(主要是非 Windows 平台的)用户采用了自定义的
-(包括大小写不同于原文件的)字体文件名,
-并改动 \verb|ctex.cfg| 等配置文件之后没有在调用
-pkuthss 文档类时加入 \verb|nofonts| 选项,
-又使用 \verb|xelatex| 编译造成的,使用
-\begin{Verbatim}[frame = single]
-\documentclass[nofonts, ...]{pkuthss} % “...”代表其它的选项。
-\end{Verbatim}
-即可解决此问题。
-
biber 运行时有一定概率出现形如(目录名可能稍有不同)
-\begin{Verbatim}[frame = single, fontsize = {\small}]
+\begin{Verbatim}
data source .../par-xxxxxxxx/cache-xxxxxxxx/
inc/lib/Biber/LaTeX/recode_data.xml not found in .
\end{Verbatim}
@@ -98,25 +79,29 @@
遇到这种情况时,删除掉上述临时目录及其所有内容,
再重新运行 biber 通常便可解决问题。
-caption\supercite{caption} 宏包对于其不认识的宏包均会提示
-\begin{Verbatim}[frame = single, fontsize = {\small}]
-Package caption Warning: Unsupported document class (or package) detected,
-(caption) usage of the caption package is not recommended.
-See the caption package documentation for explanation.
+就目前而言,amsthm\cupercite{amsthm} 宏包在后于 newtxmath\cupercite{newtx}
+宏包被调用时会导致以下的错误:
+\begin{Verbatim}
+! LaTeX Error: Command \openbox already defined.
+ Or name \end... illegal, see p.192 of the manual.
+\end{Verbatim}
+解决此问题的最简单方法是在通过
+\begin{Verbatim}
+\usepackage{amsthm}
+\end{Verbatim}
+调用 amsthm 宏包之前加入以下命令:
+\begin{Verbatim}
+\let\openbox\relax
\end{Verbatim}
-pkuthss 文档模版基于 ctexbook 文档类,而后者基于标准的 book 文档类,
-因此这个警告并不影响用户正常使用\footnote{%
- \url{http://bbs.ctex.org/forum.php?mod=redirect&goto=findpost&ptid=63117&pid=402145}.%
-}。
\section{文档格式可能存在的问题}
-学校对学位论文格式的规定\mbox{\supercite{pku-thesisstyle}}%
+学校对学位论文格式的规定\cupercite{pku-thesisstyle}%
显然没有考虑到非 MS Word 类排版工具的工作方式,
因此 pkuthss 文档模版只是对其要求的格式进行模仿,
而在一些小的细节上可能有所出入。
-biblatex-caspervector\supercite{biblatex-caspervector} 所实现的格式和
+biblatex-caspervector\cupercite{biblatex-caspervector} 所实现的格式和
\parencite{pku-thesisstyle} 的规定并不一致,
但其作者暂时没有精力也不愿意去实现后者所规定的比原格式更丑陋得多的格式。
@@ -124,7 +109,7 @@
关于 pkuthss 文档模版的意见和建议,
请在北大未名 BBS 的 MathTools 版或 pkuthss 项目主页的 issue tracker%
-\footnote{\url{https://gitlab.com/CasperVector/pkuthss/issues}.}%
+\footnote{\url{https://gitea.com/CasperVector/pkuthss/issues}.}%
上提出,
或通过电子邮件\footnote%
{\href{mailto:CasperVector@gmail.com}{\texttt{CasperVector@gmail.com}}.}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/chap/pkuthss-copy.tex new/doc/latex/pkuthss/readme/chap/pkuthss-copy.tex
--- old/doc/latex/pkuthss/readme/chap/pkuthss-copy.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/chap/pkuthss-copy.tex 2019-11-17 23:30:56.000000000 +0100
@@ -31,14 +31,14 @@
版权所有 \copyright\ 2008--2009 solvethis
\par
-版权所有 \copyright\ 2010--2017 Casper Ti. Vector
+版权所有 \copyright\ 2010--2019 Casper Ti. Vector
\vskip 1em
pkuthss 文档类及其说明文档均以 \hologo{LaTeX} Project Public License 发布。
随 pkuthss 提供的模版源代码中,除以下文件
\begin{itemize}
- \item \verb|chap/copyright.tex|
- \item \verb|chap/originauth.tex|
+ \item \verb|chap/copy.tex|
+ \item \verb|chap/origin.tex|
\end{itemize}
以 New BSD License 发布,
以及参考文献和引用列表使用的样式文件版权声明见相应文件中说明以外,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/chap/pkuthss-encl1.tex new/doc/latex/pkuthss/readme/chap/pkuthss-encl1.tex
--- old/doc/latex/pkuthss/readme/chap/pkuthss-encl1.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/chap/pkuthss-encl1.tex 2019-11-17 23:30:56.000000000 +0100
@@ -30,14 +30,10 @@
\raggedbottom
\section{1.3 版以后的更新记录}
-\VerbatimInput[
- tabsize = 4, fontsize = {\small}, baselinestretch = 1
-]{ChangeLog.txt}
+\VerbatimInput{ChangeLog.txt}
\section{1.3 及其以前版本的更新记录}
-\VerbatimInput[
- tabsize = 4, fontsize = {\small}, baselinestretch = 1.1
-]{ChangeLog-upto-1.3.txt}
+\VerbatimInput[baselinestretch = 1.1]{ChangeLog-upto-1.3.txt}
\flushbottom
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/chap/pkuthss-intro.tex new/doc/latex/pkuthss/readme/chap/pkuthss-intro.tex
--- old/doc/latex/pkuthss/readme/chap/pkuthss-intro.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/chap/pkuthss-intro.tex 2019-11-17 23:30:56.000000000 +0100
@@ -1,7 +1,7 @@
% Documentation for pkuthss.
%
% Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2012,2014-2015,2018 Casper Ti. Vector
+% Copyright (c) 2010-2012,2014-2015,2018-2019 Casper Ti. Vector
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at
@@ -33,7 +33,7 @@
pkuthss 文档模版由三部分构成:
\begin{itemize}
\item \textbf{pkuthss 文档类}:
- 其中根据学校的格式规范\mbox{\supercite{pku-thesisstyle}}%
+ 其中根据学校的格式规范\cupercite{pku-thesisstyle}%
实现了学位论文所需的基本格式要求,
主要包括对排版格式的设定和提供设置论文信息的命令;
此外也实现了学位论文中用户可能较多用到的一些额外功能,
@@ -43,7 +43,7 @@
说明文档即本文档,
在安装(见第 \ref{sec:req} 节)之后应该可以用 \hologo{TeX} 系统提供的
\verb|texdoc| 命令调出:
-\begin{Verbatim}[frame = single]
+\begin{Verbatim}
texdoc pkuthss
\end{Verbatim}
\item \textbf{论文模版}:
@@ -52,16 +52,16 @@
用户只须按照模版中的框架修改代码,即可写出自己的论文。
\end{itemize}
-在此之前,包括 dypang\supercite{dypang}、FerretL\supercite{FerretL}、%
-lwolf\supercite{lwolf}、Langpku\supercite{Langpku}、%
-solvethis\supercite{solvethis} 等的数位网友均做过学位论文模版的工作。
+在此之前,包括 dypang\cupercite{dypang}、FerretL\cupercite{FerretL}、%
+lwolf\cupercite{lwolf}、Langpku\cupercite{Langpku}、%
+solvethis\cupercite{solvethis} 等的数位网友均做过学位论文模版的工作。
本论文模版是 solvethis 的 pkuthss 模版的更新版本,
更新的重点是重构和对新文档类、宏包的支持。
pkuthss 文档模版现在的维护者是 Casper Ti. Vector\footnote%
{\href{mailto:CasperVector@gmail.com}{\texttt{CasperVector@gmail.com}}.}。%
-pkuthss 文档模版目前托管在 GitLab 上,
+pkuthss 文档模版目前托管在 Gitea 上,
其项目主页是:\\
-\hspace*{\parindent}\url{https://gitlab.com/CasperVector/pkuthss}
+\hspace*{\parindent}\url{https://gitea.com/CasperVector/pkuthss}
% vim:ts=4:sw=4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/latexmkrc new/doc/latex/pkuthss/readme/latexmkrc
--- old/doc/latex/pkuthss/readme/latexmkrc 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/pkuthss/readme/latexmkrc 2019-11-17 23:30:56.000000000 +0100
@@ -0,0 +1,10 @@
+# Copyright (c) 2019 Casper Ti. Vector
+# Public domain.
+
+@default_files = ('pkuthss');
+$pdf_mode = 5;
+$dvipdf = "dvipdfmx %O -o %D %S";
+$bibtex_use = 1.5;
+$biber = "biber -l zh__pinyin --output-safechars %O %S";
+$clean_ext = "run.xml";
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/pkuthss-english.patch new/doc/latex/pkuthss/readme/pkuthss-english.patch
--- old/doc/latex/pkuthss/readme/pkuthss-english.patch 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/pkuthss-english.patch 2019-11-17 23:30:56.000000000 +0100
@@ -1,12 +1,12 @@
diff --git a/doc/example/chap/abs.tex b/doc/example/chap/abs.tex
-index b930654..cfa6cd3 100644
+index 305792f..cfa6cd3 100644
--- a/doc/example/chap/abs.tex
+++ b/doc/example/chap/abs.tex
@@ -2,7 +2,7 @@
% Public domain.
\begin{cabstract}
-- \pkuthssffaq % 中文测试文字
+- \pkuthssffaq % 中文测试文字。
+ 中文摘要。
\end{cabstract}
@@ -100,13 +100,14 @@
-
% vim:ts=4:sw=4
diff --git a/doc/example/thesis.tex b/doc/example/thesis.tex
-index d7a575f..baed091 100644
+index 30e05de..4d6ee53 100644
--- a/doc/example/thesis.tex
+++ b/doc/example/thesis.tex
-@@ -14,53 +14,44 @@
- % 其它用户不用加入 nofonts 选项,加入之后反而会产生错误。
- \documentclass[UTF8]{pkuthss}
-
+@@ -16,54 +16,44 @@
+ % 如果的确须要使脚注按页编号的话,可以去掉后面 footmisc 包的注释。
+ % 注意:在启用此设定的情况下,可能要多编译一次以产生正确的脚注编号。
+ %\usepackage[perpage]{footmisc}
+-
-% 使用 biblatex 排版参考文献,并规定其格式(详见 biblatex-caspervector 的文档)。
-% 这里按照西文文献在前,中文文献在后排序(“sorting = ecnyt”);
-% 若须按照中文文献在前,西文文献在后排序,请设置“sorting = cenyt”;
@@ -116,10 +117,10 @@
+% 使用 biblatex 排版参考文献,并规定其格式(详见 biblatex 的文档)。
+\usepackage[backend = biber]{biblatex}
- % 按学校要求设定参考文献列表中的条目之内及之间的距离。
- \setlength{\bibitemsep}{3bp}
% 对于 linespread 值的计算过程有兴趣的同学可以参考 pkuthss.cls。
\renewcommand*{\bibfont}{\zihao{5}\linespread{1.27}\selectfont}
+ % 按学校要求设定参考文献列表的段间距。
+ \setlength{\bibitemsep}{3bp}
+\ctexset{
+ contentsname = {Contents},
@@ -180,21 +181,12 @@
\begin{document}
% 以下为正文之前的部分,默认不进行章节编号。
\frontmatter
-@@ -94,7 +85,7 @@
- \appendix
- % 排版参考文献列表。bibintoc 选项使“参考文献”出现在目录中;
- % 如果同时要使参考文献列表参与章节编号,可将“bibintoc”改为“bibnumbered”。
-- \printbibliography[heading = bibintoc]
-+ \printbibliography[heading = bibintoc, title = Reference]
- % 各附录。
- \include{chap/encl1}
-
diff --git a/tex/pkuthss-utf8.def b/tex/pkuthss-utf8.def
-index c2c951b..d453918 100644
+index b699685..e4e58b6 100644
--- a/tex/pkuthss-utf8.def
+++ b/tex/pkuthss-utf8.def
@@ -25,13 +25,13 @@
- [2017/03/01 v1.7.4 Labels and captions in UTF-8 encoding
+ [2018/07/02 v1.8.0 Labels and captions in UTF-8 encoding
for the pkuthss document class]
-\def\label@ctitle{题目:}
@@ -215,10 +207,10 @@
\def\label@ckeywords{关键词:}
\def\label@ekeywords{KEYWORDS:\ }
diff --git a/tex/pkuthss.cls b/tex/pkuthss.cls
-index 6208799..a785d69 100644
+index 9e68dc3..4b8cb00 100644
--- a/tex/pkuthss.cls
+++ b/tex/pkuthss.cls
-@@ -300,7 +300,7 @@
+@@ -301,7 +301,7 @@
\fancyhf{}\renewcommand*{\headrulewidth}{0.75bp}
\fancyfoot[C]{\zihao{5}\normalfont{\thepage}}
\if@twoside
@@ -227,49 +219,49 @@
\fancyhead[CO]{\zihao{5}\normalfont\thss@int@setcase{\leftmark}}
\else
\fancyhead[C]{\zihao{5}\normalfont\thss@int@setcase{\leftmark}}
-@@ -349,13 +349,13 @@
- \zihao{1}%
- \includegraphics[height = 2.4em]{pkulogo}\hspace{0.4em}%
- \raisebox{0.4em}{\includegraphics[height = 1.6em]{pkuword}}\\[0.8em]
-- {\bfseries{\cthesisname}}%
-+ {\bfseries{\ethesisname}}%
- }
- \vfill
- % Title of the thesis.
- {%
- \zihao{2}{\label@ctitle}%
-- \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@ctitle}}%
-+ \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@etitle}}%
- }
- \vfill
- % Information about the author.
-@@ -363,19 +363,19 @@
- % Slightly adjust the line skip when using new font size.
- \zihao{3}\linespread{1.75}\selectfont
- \def\thss@tmp@len{0.56\textwidth}
-- \begin{tabular}{l@{\extracolsep{0.2em}}c}
-- {\bfseries\label@cauthor} &
-- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cauthor} \\
-- {\bfseries\label@studentid} &
-+ \begin{tabular}{c@{\extracolsep{0.2em}}c@{\extracolsep{0.2em}}c}
-+ {\bfseries\label@cauthor} & : &
-+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@eauthor} \\
-+ {\bfseries\label@studentid} & : &
- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@studentid} \\
-- {\bfseries\label@school} &
-+ {\bfseries\label@school} & : &
- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@school} \\
-- {\bfseries\label@cmajor} &
-- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmajor} \\
-- {\bfseries\label@direction} &
-+ {\bfseries\label@cmajor} & : &
-+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@emajor} \\
-+ {\bfseries\label@direction} & : &
- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@direction} \\
-- {\bfseries\label@cmentor} &
-- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmentor} \\
-+ {\bfseries\label@cmentor} & : &
-+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@ementor} \\
- \end{tabular}%
- }
- \vfill
+@@ -347,13 +347,13 @@
+ \zihao{1}%
+ \includegraphics[height = 2.4em]{pkulogo}\hspace{0.4em}%
+ \raisebox{0.4em}{\includegraphics[height = 1.6em]{pkuword}}\\[0.8em]
+- {\bfseries{\cthesisname}}%
++ {\bfseries{\ethesisname}}%
+ }
+ \vfill
+ % Title of the thesis.
+ {%
+ \zihao{2}{\label@ctitle}\linespread{1.6}\selectfont%
+- \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@ctitle}}%
++ \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@etitle}}%
+ }
+ \vfill
+ % Information about the author.
+@@ -361,19 +361,19 @@
+ % Slightly adjust the line skip when using new font size.
+ \zihao{3}\linespread{1.75}\selectfont
+ \def\thss@tmp@len{0.56\textwidth}
+- \begin{tabular}{l@{\extracolsep{0.2em}}c}
+- {\bfseries\label@cauthor} &
+- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cauthor} \\
+- {\bfseries\label@studentid} &
++ \begin{tabular}{c@{\extracolsep{0.2em}}c@{\extracolsep{0.2em}}c}
++ {\bfseries\label@cauthor} & : &
++ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@eauthor} \\
++ {\bfseries\label@studentid} & : &
+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@studentid} \\
+- {\bfseries\label@school} &
++ {\bfseries\label@school} & : &
+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@school} \\
+- {\bfseries\label@cmajor} &
+- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmajor} \\
+- {\bfseries\label@direction} &
++ {\bfseries\label@cmajor} & : &
++ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@emajor} \\
++ {\bfseries\label@direction} & : &
+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@direction} \\
+- {\bfseries\label@cmentor} &
+- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmentor} \\
++ {\bfseries\label@cmentor} & : &
++ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@ementor} \\
+ \end{tabular}%
+ }
+ \vfill
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/pkuthss.bib new/doc/latex/pkuthss/readme/pkuthss.bib
--- old/doc/latex/pkuthss/readme/pkuthss.bib 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/pkuthss.bib 2019-11-17 23:30:56.000000000 +0100
@@ -1,3 +1,14 @@
+@online{amsthm,
+ author = {{Publications Technical Group, American Mathematical Society}},
+ title = {Using the amsthm Package},
+ edition = {Ver.\ 2.20.3},
+ type = {M/OL},
+ date = {2017-09},
+ url = {https://ctan.org/pkg/amsthm},
+ urldate = {2019-11-15},
+ language = {english},
+}
+
@online{biber,
author = {Kime, Philip and Charette, Fran\c{c}ois},
title = {Biber: A backend bibliography processor for biblatex},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/pkuthss/readme/pkuthss.tex new/doc/latex/pkuthss/readme/pkuthss.tex
--- old/doc/latex/pkuthss/readme/pkuthss.tex 2018-07-02 22:40:31.000000000 +0200
+++ new/doc/latex/pkuthss/readme/pkuthss.tex 2019-11-17 23:30:56.000000000 +0100
@@ -1,7 +1,7 @@
% Documentation for pkuthss.
%
% Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2016,2018 Casper Ti. Vector
+% Copyright (c) 2010-2016,2018-2019 Casper Ti. Vector
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at
@@ -31,18 +31,25 @@
backend = biber, style = caspervector, utf8,
sorting = ecnyt, giveninits = true, sortgiveninits = true
]{biblatex}
-\usepackage{fancyvrb, hologo}
+\usepackage{iftex, fancyvrb, hologo}
-\setlength{\hfuzz}{3pt}
+\hypersetup{colorlinks = true, allcolors = blue}
\ctexset{linestretch = 2\ccwd}
-\renewcommand*{\bibfont}{\zihao{5}\linespread{1.27}\selectfont}
+\setlength{\hfuzz}{3pt}
\setlength{\bibitemsep}{3bp}
+\renewcommand*{\bibfont}{\zihao{5}\linespread{1.27}\selectfont}
-\hypersetup{colorlinks = true, allcolors = blue}
+\newcommand*{\cupercite}[1]{\supercite{#1}\mbox{}}
\newcommand{\myemph}[1]{\emph{\textcolor{red}{#1}}}
\newcommand{\unemph}[1]{\textup{\textcolor{black}{#1}}}
-\newcommand{\docversion}{v1.8.0}
+\RecustomVerbatimEnvironment{Verbatim}{Verbatim}%
+ {frame = single, tabsize = 4, formatcom = {\ifXeTeX\xeCJKVerbAddon\fi}}
+\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{
+ fontsize = {\small}, baselinestretch = 1,
+ tabsize = 4, formatcom = {\ifXeTeX\xeCJKVerbAddon\fi}
+}
+\newcommand*{\docversion}{v1.8.2}
\pkuthssinfo{
cthesisname = {本科生毕业论文}, ethesisname = {Undergraduate Thesis},
ctitle = {北京大学学位论文模版\\pkuthss \docversion},
@@ -53,7 +60,7 @@
cauthor = {盖茨波·钛·维克托},
eauthor = {Casper Ti.\ Vector},
studentid = {00910???},
- date = {\zhdigits{2018}年\zhnumber{7}月},
+ date = {\zhdigits{2019} 年 \zhnumber{11} 月},
school = {化学与分子工程学院},
cmajor = {化学(?)}, emajor = {Chemistry ... ?},
direction = {据说 Casper 自己也不知道},
Binary files old/doc/latex/pkuthss/readme.pdf and new/doc/latex/pkuthss/readme.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pkuthss.doc.tlpobj new/tlpkg/tlpobj/pkuthss.doc.tlpobj
--- old/tlpkg/tlpobj/pkuthss.doc.tlpobj 2019-02-28 03:59:43.000000000 +0100
+++ new/tlpkg/tlpobj/pkuthss.doc.tlpobj 2020-03-24 02:03:13.000000000 +0100
@@ -1,9 +1,10 @@
name pkuthss.doc
category Package
-revision 48124
+revision 54512
shortdesc doc files of pkuthss
relocated 1
-docfiles size=165
+docfiles size=166
+ RELOC/doc/latex/pkuthss/README.txt
RELOC/doc/latex/pkuthss/example.pdf
RELOC/doc/latex/pkuthss/example/Make.bat
RELOC/doc/latex/pkuthss/example/Makefile
@@ -17,13 +18,13 @@
RELOC/doc/latex/pkuthss/example/chap/origin.tex
RELOC/doc/latex/pkuthss/example/ctex-fontset-pkuthss.def
RELOC/doc/latex/pkuthss/example/ctexopts.cfg
+ RELOC/doc/latex/pkuthss/example/latexmkrc
RELOC/doc/latex/pkuthss/example/spine.tex
RELOC/doc/latex/pkuthss/example/thesis.bib
RELOC/doc/latex/pkuthss/example/thesis.tex
- RELOC/doc/latex/pkuthss/readme.pdf
+ RELOC/doc/latex/pkuthss/pkuthss.pdf
RELOC/doc/latex/pkuthss/readme/ChangeLog-upto-1.3.txt
RELOC/doc/latex/pkuthss/readme/ChangeLog.txt
- RELOC/doc/latex/pkuthss/readme/Makefile
RELOC/doc/latex/pkuthss/readme/chap/origin.tex
RELOC/doc/latex/pkuthss/readme/chap/pkuthss-abs.tex
RELOC/doc/latex/pkuthss/readme/chap/pkuthss-ack.tex
@@ -34,6 +35,7 @@
RELOC/doc/latex/pkuthss/readme/chap/pkuthss-copy.tex
RELOC/doc/latex/pkuthss/readme/chap/pkuthss-encl1.tex
RELOC/doc/latex/pkuthss/readme/chap/pkuthss-intro.tex
+ RELOC/doc/latex/pkuthss/readme/latexmkrc
RELOC/doc/latex/pkuthss/readme/pkuthss-english.patch
RELOC/doc/latex/pkuthss/readme/pkuthss.bib
RELOC/doc/latex/pkuthss/readme/pkuthss.tex
++++++ pkuthss.tar.xz ++++++
Binary files old/tex/latex/pkuthss/pkulogo.pdf and new/tex/latex/pkuthss/pkulogo.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pkuthss/pkuthss-gbk.def new/tex/latex/pkuthss/pkuthss-gbk.def
--- old/tex/latex/pkuthss/pkuthss-gbk.def 2018-07-02 22:40:31.000000000 +0200
+++ new/tex/latex/pkuthss/pkuthss-gbk.def 2019-11-17 23:30:56.000000000 +0100
@@ -22,7 +22,7 @@
% pkuword.eps
\ProvidesFile{pkuthss-gbk.def}
- [2018/07/02 v1.8.0 Labels and captions in GBK encoding
+ [2019/11/17 v1.8.2 Labels and captions in GBK encoding
for the pkuthss document class]
\def\label@ctitle{��Ŀ��}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pkuthss/pkuthss-utf8.def new/tex/latex/pkuthss/pkuthss-utf8.def
--- old/tex/latex/pkuthss/pkuthss-utf8.def 2018-07-02 22:40:31.000000000 +0200
+++ new/tex/latex/pkuthss/pkuthss-utf8.def 2019-11-17 23:30:56.000000000 +0100
@@ -22,7 +22,7 @@
% pkuword.eps
\ProvidesFile{pkuthss-utf8.def}
- [2018/07/02 v1.8.0 Labels and captions in UTF-8 encoding
+ [2019/11/17 v1.8.2 Labels and captions in UTF-8 encoding
for the pkuthss document class]
\def\label@ctitle{题目:}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/pkuthss/pkuthss.cls new/tex/latex/pkuthss/pkuthss.cls
--- old/tex/latex/pkuthss/pkuthss.cls 2018-07-02 22:40:31.000000000 +0200
+++ new/tex/latex/pkuthss/pkuthss.cls 2019-11-17 23:30:56.000000000 +0100
@@ -1,7 +1,7 @@
% Peking University dissertation document class
%
% Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2018 Casper Ti. Vector
+% Copyright (c) 2010-2019 Casper Ti. Vector
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at
@@ -23,7 +23,7 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{pkuthss}
- [2018/07/02 v1.8.0 Peking University dissertation document class]
+ [2019/11/17 v1.8.2 Peking University dissertation document class]
% eg. `\thss@int@boolopt{spacing}{true}' will expand to:
% \newif\ifthss@opt@spacing \thss@opt@spacingtrue
@@ -65,6 +65,9 @@
% Prevent fontspec (loaded by xeCJK) from interfering with newtxmath.
\ifthss@opt@pkufont\PassOptionsToPackage{no-math}{fontspec}\fi
+% Work around the `\lvert already defined' error.
+% cf. https://github.com/CTeX-org/ctex-kit/issues/454.
+\ifthss@opt@pkufont\RequirePackage{amsmath}\fi
% pkuthss is based on ctexbook; we use `xiao 4' as default font size.
\LoadClass[zihao = -4]{ctexbook}[2014/03/06]
% ctex 2.x no longer loads ifpdf and ifxetex by itself.
@@ -123,7 +126,7 @@
}
% Use circled numbers as footnote symbols. Does not affect title page, but
% footnote is rarely used in dissertation covers ;)
- \renewcommand\thefootnote%
+ \renewcommand*{\thefootnote}%
{\protect\thss@int@circled{\arabic{footnote}}}
% Provides utility to modify footnote spacing.
% Option used to make sure it does not render interleaf pages totally blank.
@@ -167,7 +170,7 @@
\ifthss@opt@spechap
% This command is used to start a chapter without numbering, and correctly set
% up the headers and footers in the chapter.
- \newcommand\specialchap[1]{%
+ \newcommand{\specialchap}[1]{%
\chapter*{#1}\addcontentsline{toc}{chapter}{#1}
\markboth{#1}{}\phantomsection%
}
@@ -201,7 +204,7 @@
\let\thss@tmp@maketitle\maketitle
% NOTE: `\hypersetup' must appear before `\maketitle', otherwise it might
% not act as expected.
- \renewcommand\maketitle{\setpdfproperties\thss@tmp@maketitle}
+ \renewcommand{\maketitle}{\setpdfproperties\thss@tmp@maketitle}
\fi
}
@@ -244,7 +247,7 @@
% Set up page layout.
\geometry{
a4paper, hmargin = 2.6cm, top = 2.92cm, bottom = 3.03cm,
- headheight = 0.45cm, headsep = 0.55cm, footskip = 1.05cm
+ headheight = 0.45cm, headsep = 0.59cm, footskip = 1.05cm
}
% Set up chapter/section/... captions.
@@ -259,11 +262,11 @@
beforeskip = {0bp}, afterskip = {18bp plus 0.2ex},
nameformat = {}, titleformat = {}
}, section =
- {beforeskip = {20bp plus 1ex minus 0.2ex}, afterskip = {6bp plus 0.2ex}},
+ {beforeskip = {20bp plus 1ex minus 0.2ex}, afterskip = {5bp plus 0.2ex}},
subsection =
- {beforeskip = {12bp plus 1ex minus 0.2ex}, afterskip = {6bp plus 0.2ex}},
+ {beforeskip = {12bp plus 1ex minus 0.2ex}, afterskip = {5bp plus 0.2ex}},
subsubsection =
- {beforeskip = {12bp plus 1ex minus 0.2ex}, afterskip = {6bp plus 0.2ex}}
+ {beforeskip = {12bp plus 1ex minus 0.2ex}, afterskip = {5bp plus 0.2ex}}
}
\ifthss@opt@ugly
\ctexset{
@@ -341,7 +344,7 @@
\renewcommand{\maketitle}{%
\thss@int@pdfmark{\titlepagename}{titlepage}
% Make the title page centered.
- \begin{titlepage}\begin{center}
+ \begin{titlepage}\begingroup\centering
% Emblem and inscription of the university, and type of thesis.
{%
\zihao{1}%
@@ -379,7 +382,7 @@
\vfill
% Date.
{\zihao{-2}\@date}
- \end{center}\end{titlepage}%
+ \par\endgroup\end{titlepage}%
}
% Typeset the Chinese abstract.
Binary files old/tex/latex/pkuthss/pkuword.pdf and new/tex/latex/pkuthss/pkuword.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/pkuthss.tlpobj new/tlpkg/tlpobj/pkuthss.tlpobj
--- old/tlpkg/tlpobj/pkuthss.tlpobj 2019-02-28 03:59:43.000000000 +0100
+++ new/tlpkg/tlpobj/pkuthss.tlpobj 2020-03-24 02:03:13.000000000 +0100
@@ -1,6 +1,6 @@
name pkuthss
category Package
-revision 48124
+revision 54512
shortdesc LaTeX template for dissertations in Peking University
relocated 1
longdesc The package provides a simple, clear and flexible LaTeX
@@ -13,9 +13,8 @@
RELOC/tex/latex/pkuthss/pkuthss.cls
RELOC/tex/latex/pkuthss/pkuword.eps
RELOC/tex/latex/pkuthss/pkuword.pdf
-catalogue-contact-repository https://gitlab.com/CasperVector/pkuthss
+catalogue-contact-repository https://gitea.com/CasperVector/pkuthss
catalogue-ctan /macros/latex/contrib/pkuthss
-catalogue-date 2018-07-02 09:18:23 +0200
-catalogue-license other-free
+catalogue-license lppl1.3 bsd pd
catalogue-topics dissertation class chinese
-catalogue-version 1.8.0
+catalogue-version 1.8.2
++++++ plantuml.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/lualatex/plantuml/CHANGELOG.md new/doc/lualatex/plantuml/CHANGELOG.md
--- old/doc/lualatex/plantuml/CHANGELOG.md 2018-06-04 22:52:57.000000000 +0200
+++ new/doc/lualatex/plantuml/CHANGELOG.md 2019-09-24 22:07:49.000000000 +0200
@@ -1,14 +1,22 @@
# Changelog
+
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
+## [0.3.0] - 2019-09-23
+
+## Added
+
+- Added support for UTF-8 filenames.
+- Added `example-component-diagram.tex`. Refs [#2](https://github.com/latextemplates/plantuml/issues/9).
+
## [0.2.3] - 2018-06-04
## Added
-- Add `release.sh` to CTAN upload-
+- Add `release.sh` to CTAN upload
## Removed
@@ -43,7 +51,8 @@
Initial public release
-[unreleased]: https://github.com/latextemplates/plantuml/compare/0.2.3...HEAD
+[unreleased]: https://github.com/latextemplates/plantuml/compare/0.3.0...HEAD
+[0.3.0]: https://github.com/latextemplates/plantuml/compare/0.2.3...0.3.0
[0.2.3]: https://github.com/latextemplates/plantuml/compare/0.2.2...0.2.3
[0.2.2]: https://github.com/latextemplates/plantuml/compare/0.2.1...0.2.2
[0.2.1]: https://github.com/latextemplates/plantuml/compare/0.2.0...0.2.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/lualatex/plantuml/README.md new/doc/lualatex/plantuml/README.md
--- old/doc/lualatex/plantuml/README.md 2018-06-04 22:52:57.000000000 +0200
+++ new/doc/lualatex/plantuml/README.md 2019-09-24 22:07:49.000000000 +0200
@@ -1,6 +1,6 @@
# plantuml
-Version 0.2.3
+Version 0.3.0
A LuaLaTeX package for PlantUML in LaTeX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/lualatex/plantuml/example-component-diagram.tex new/doc/lualatex/plantuml/example-component-diagram.tex
--- old/doc/lualatex/plantuml/example-component-diagram.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/lualatex/plantuml/example-component-diagram.tex 2019-09-24 22:07:49.000000000 +0200
@@ -0,0 +1,32 @@
+\documentclass{scrartcl}
+\usepackage{graphics}
+
+% Enables inclusion of SVG graphics - 1:1 approach
+% This is NOT the approach of https://ctan.org/pkg/svg-inkscape
+% which allows text in SVG to be typeset using LaTeX.
+% We just include the SVG as is.
+\usepackage{epstopdf}
+\epstopdfDeclareGraphicsRule{.svg}{pdf}{.pdf}{%
+ inkscape -z --file=#1 --export-pdf=\OutputFile
+}
+
+\usepackage[output=svg]{plantuml}
+
+\begin{document}
+\begin{plantuml}
+@startuml
+() "Interface 2" as I2
+() "Interface 3" as I3
+
+[component 1] as c1
+[component 2] as c2
+[component 3] as c3
+
+c1 -- I2
+c1 -- I3
+
+I2 )-- c2
+I3 )-- c3
+@enduml
+\end{plantuml}
+\end{document}
Binary files old/doc/lualatex/plantuml/plantuml.pdf and new/doc/lualatex/plantuml/plantuml.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/plantuml.doc.tlpobj new/tlpkg/tlpobj/plantuml.doc.tlpobj
--- old/tlpkg/tlpobj/plantuml.doc.tlpobj 2019-02-28 03:59:46.000000000 +0100
+++ new/tlpkg/tlpobj/plantuml.doc.tlpobj 2019-09-25 01:53:59.000000000 +0200
@@ -1,14 +1,15 @@
name plantuml.doc
category Package
-revision 47924
+revision 52175
shortdesc doc files of plantuml
relocated 1
-docfiles size=24
+docfiles size=25
RELOC/doc/lualatex/plantuml/CHANGELOG.md
RELOC/doc/lualatex/plantuml/README.md
RELOC/doc/lualatex/plantuml/example-class-relations--latex.tex
RELOC/doc/lualatex/plantuml/example-class-relations--svg.png
RELOC/doc/lualatex/plantuml/example-class-relations--svg.tex
+ RELOC/doc/lualatex/plantuml/example-component-diagram.tex
RELOC/doc/lualatex/plantuml/example-minimal.png
RELOC/doc/lualatex/plantuml/example-minimal.tex
RELOC/doc/lualatex/plantuml/plantuml.pdf
++++++ plantuml.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/lualatex/plantuml/plantuml.lua new/tex/lualatex/plantuml/plantuml.lua
--- old/tex/lualatex/plantuml/plantuml.lua 2018-03-08 23:56:58.000000000 +0100
+++ new/tex/lualatex/plantuml/plantuml.lua 2019-09-24 22:07:49.000000000 +0200
@@ -22,7 +22,7 @@
end
texio.write("Executing PlantUML... ")
- local cmd = "java -jar " .. plantUmlJar .. " -t"
+ local cmd = "java -jar " .. plantUmlJar .. " -charset UTF-8 -t"
if (mode == "latex") then
cmd = cmd .. "latex:nopreamble"
else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/lualatex/plantuml/plantuml.sty new/tex/lualatex/plantuml/plantuml.sty
--- old/tex/lualatex/plantuml/plantuml.sty 2018-06-04 22:52:57.000000000 +0200
+++ new/tex/lualatex/plantuml/plantuml.sty 2019-09-24 22:07:49.000000000 +0200
@@ -24,6 +24,11 @@
\RequirePackage{adjustbox}
+% \jobname has a probrem of encodeing
+% if your latex filename include multibyte string
+% you need to redefine PlantUMLJobname to fix
+\def\PlantUMLJobname{\jobname}
+
\ExplSyntaxOn
\keys_define:nn { plantuml } {
output .choices:nn = {
@@ -68,12 +73,12 @@
}
\fi
\NewDocumentEnvironment{plantuml}{}{%
- \VerbatimOut{\jobname-plantuml.txt}}
+ \VerbatimOut{\PlantUMLJobname-plantuml.txt}}
{%
\endVerbatimOut
\ifluatex
\directlua{
- local jobname=\luastring{\jobname}
+ local jobname=\luastring{\PlantUMLJobname}
local plantUmlMode=\luastring{\PlantUmlMode}
require("plantuml.lua")
convertPlantUmlToTikz(jobname, plantUmlMode)
@@ -85,10 +90,10 @@
\fi
\ifthenelse{\equal{\PlantUmlMode}{latex}}{
\begin{adjustbox}{max width=\linewidth}
- \input{\jobname-plantuml.latex}
+ \input{\PlantUMLJobname-plantuml.latex}
\end{adjustbox}
}{
- \includegraphics[width=\maxwidth{\textwidth}]{\jobname-plantuml.\PlantUmlMode}
+ \includegraphics[width=\maxwidth{\textwidth}]{\PlantUMLJobname-plantuml.\PlantUmlMode}
}
}
\or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/plantuml.tlpobj new/tlpkg/tlpobj/plantuml.tlpobj
--- old/tlpkg/tlpobj/plantuml.tlpobj 2019-02-28 03:59:46.000000000 +0100
+++ new/tlpkg/tlpobj/plantuml.tlpobj 2019-09-25 01:53:59.000000000 +0200
@@ -1,6 +1,6 @@
name plantuml
category Package
-revision 47924
+revision 52175
shortdesc Support for rendering UML diagrams using the syntax and tool of PlantUML
relocated 1
longdesc The package provides support for rendering UML diagrams using
@@ -10,11 +10,11 @@
runfiles size=2
RELOC/tex/lualatex/plantuml/plantuml.lua
RELOC/tex/lualatex/plantuml/plantuml.sty
-catalogue-contact-bugs https://github.com/latextemplates/plantuml/issues
-catalogue-contact-home https://latextemplates.github.io/plantuml/
-catalogue-contact-repository https://github.com/latextemplates/plantuml
+catalogue-contact-bugs https://github.com/koppor/plantuml/issues
+catalogue-contact-home https://koppor.github.io/plantuml/
+catalogue-contact-repository https://github.com/koppor/plantuml/
catalogue-ctan /macros/luatex/latex/plantuml
-catalogue-date 2018-06-04 06:15:17 +0200
+catalogue-date 2019-09-23 22:24:38 +0200
catalogue-license lppl1.3c
catalogue-topics uml luatex use-lua
-catalogue-version 0.2.3
+catalogue-version 0.3.0