Hello community,
here is the log from the commit of package texlive-specs-i for openSUSE:Factory checked in at 2020-05-29 21:17:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive-specs-i (Old)
and /work/SRC/openSUSE:Factory/.texlive-specs-i.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-specs-i"
Fri May 29 21:17:34 2020 rev:39 rq:806895 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive-specs-i/texlive-specs-i.changes 2019-11-07 23:10:34.368139453 +0100
+++ /work/SRC/openSUSE:Factory/.texlive-specs-i.new.3606/texlive-specs-i.changes 2020-05-29 21:26:25.140692539 +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
+
+-------------------------------------------------------------------
New:
----
etbb.doc.tar.xz
etbb.tar.xz
etexcmds.doc.tar.xz
etexcmds.tar.xz
euclideangeometry.doc.tar.xz
euclideangeometry.tar.xz
expkv-cs.doc.tar.xz
expkv-cs.tar.xz
expkv-def.doc.tar.xz
expkv-def.tar.xz
expkv.doc.tar.xz
expkv.tar.xz
expose-expl3-dunkerque-2019.doc.tar.xz
fewerfloatpages.doc.tar.xz
fewerfloatpages.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-specs-i.spec ++++++
++++ 13176 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/texlive-specs-i/texlive-specs-i.spec
++++ and /work/SRC/openSUSE:Factory/.texlive-specs-i.new.3606/texlive-specs-i.spec
++++++ etoc.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/README.md new/doc/latex/etoc/README.md
--- old/doc/latex/etoc/README.md 2019-03-10 22:00:10.000000000 +0100
+++ new/doc/latex/etoc/README.md 2019-11-17 23:36:06.000000000 +0100
@@ -1,6 +1,6 @@
<!-- -->
- Source: etoc.dtx (v1.09-2019/03/09)
+ Source: etoc.dtx (v1.09b-2019/11/17)
Author: Jean-Francois Burnol
Author: Christine Roemer et al. (German tranlation)
Info: Completely customisable TOCs
@@ -48,22 +48,13 @@
INSTALLATION
============
-The simplest is to download
+To extract the package (.sty) and driver (.tex) files from etoc.dtx,
+execute `etex etoc.dtx`.
-> http://mirrors.ctan.org/install/macros/latex/contrib/etoc.tds.zip
-
-and then run `unzip etoc.tds.zip -d <DEST>` where `<DEST>` is a
-TDS-compliant repertory.
-
-Else, to extract the package (.sty) and driver (.tex) files from etoc.dtx:
-
-- if etoc.ins is present: etex etoc.ins
-- without etoc.ins: etex etoc.dtx
-
-It is also possible to run latex or pdflatex directly on etoc.dtx.
+It is also possible to execute latex or pdflatex directly on etoc.dtx.
To produce etoc.pdf one can run pdflatex (thrice) directly on etoc.dtx or on
-the file etoc.tex which was extracted from previous step.
+the file etoc.tex which was extracted from `etex etoc.dtx` step.
Options can be set in etoc.tex:
@@ -110,12 +101,21 @@
collaborators for the translation into German of the documentation.
This Work consists of the main source file etoc.dtx and the
-derived files etoc.sty, etoc.ins, etoc.tex, etoc-DE.tex,
+derived files etoc.sty, etoc.tex, etoc-DE.tex,
etoc.pdf, etoc-DE.pdf, etoc.dvi, etoc-DE.dvi.
RECENT CHANGES
==============
+v1.09a, v1.09b \[2019/11/17\]
+-----------------------------
+
+Sync with `memoir v3.7i` which has a better location of the TOC
+hyperref anchor. The `\etocaftertitlehook` can now freely be
+used also with memoir class (formerly its usage in case of
+memoir class was preempted by etoc itself). For more details
+refer to the section "Compatibility with the memoir class".
+
v1.09 \[2019/03/09\]
--------------------
Binary files old/doc/latex/etoc/etoc-DE.pdf and new/doc/latex/etoc/etoc-DE.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etoc-DE.tex new/doc/latex/etoc/etoc-DE.tex
--- old/doc/latex/etoc/etoc-DE.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etoc-DE.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,32 @@
+%%
+%% Package: etoc
+%% Version: 1.09b-2019/11/17
+%% License: LPPL 1.3c
+%% Copyright (C) 2012-2019 Jean-Francois Burnol
+%% <jfbu at free dot fr>
+%% Copyright (C) 2014-2019 Christine Roemer
+%%
+%% and collaborators for the translation into German of the documentation
+%%
+%% run pdflatex thrice on this file etoc-DE.tex to produce the German
+%% documentation etoc-DE.pdf (without source code).
+%%
+%% Um etoc-DE.pdf zu erzeugen ist pdflatex dreimal mit etoc-DE.tex laufen
+%% zu lassen.
+%%
+\chardef\Withdvipdfmx 0 % replace 0 by 1 for using latex+dvipdfmx
+\chardef\NoSourceCode 1 % replace 1 by 0 for the doc *with* the source code
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile {etoc-DE.tex}[Driver for etoc German documentation]%
+%% or with german rather than ngerman in the two lines below
+\PassOptionsToClass {a4paper,fontsize=11pt,twoside,ngerman}{scrdoc}
+\PassOptionsToPackage {english,ngerman}{babel}
+\chardef\ForEnglish 0 % (\ForEnglish and \ForDeutsch flags can't be BOTH 1 ...)
+\chardef\ForDeutsch 1 %
+\input etoc.dtx
+%%% Local Variables:
+%%% mode: latex
+%%% End:
+\endinput
+%%
+%% End of file `etoc-DE.tex'.
Binary files old/doc/latex/etoc/etoc.pdf and new/doc/latex/etoc/etoc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etoc.tex new/doc/latex/etoc/etoc.tex
--- old/doc/latex/etoc/etoc.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etoc.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,28 @@
+%%
+%% Package: etoc
+%% Version: 1.09b-2019/11/17
+%% License: LPPL 1.3c
+%% Copyright (C) 2012-2019 Jean-Francois Burnol
+%% <jfbu at free dot fr>
+%% Copyright (C) 2014-2019 Christine Roemer
+%%
+%% and collaborators for the translation into German of the documentation
+%%
+%% run pdflatex thrice on this file etoc.tex to produce the documentation
+%% etoc.pdf, with source code included.
+%%
+\chardef\Withdvipdfmx 0 % replace 0 by 1 for using latex+dvipdfmx
+\chardef\NoSourceCode 0 % replace 0 by 1 for the doc *without* the source code
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile {etoc.tex}[Driver for etoc documentation]%
+\PassOptionsToClass {a4paper,fontsize=11pt,twoside}{scrdoc}
+\PassOptionsToPackage {ngerman,english}{babel}
+\chardef\ForEnglish 1 % (\ForEnglish and \ForDeutsch flags can't be BOTH 1 ...)
+\chardef\ForDeutsch 0 %
+\input etoc.dtx
+%%% Local Variables:
+%%% mode: latex
+%%% End:
+\endinput
+%%
+%% End of file `etoc.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-10.tex new/doc/latex/etoc/etocsnippet-10.tex
--- old/doc/latex/etoc/etocsnippet-10.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-10.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,16 @@
+%% LaTeX2e file `etocsnippet-10.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begin{figure}[ht!]
+ \centering
+ \begingroup
+ \etocstandardlines
+ \renewcommand{\etocbkgcolorcmd}{\color{green!5}}
+ \renewcommand{\etocbelowtocskip}{0pt\relax}
+ \fboxsep1ex
+ \etocframedstyle [1]{\fbox{\makebox[.5\linewidth]{\etocfontminusone
+ \hyperref[toc:c]{I am from far away}}}}
+ \tableofcontents \label{toc:d} \ref{toc:c}
+ \endgroup
+\end{figure}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-20-A.tex new/doc/latex/etoc/etocsnippet-20-A.tex
--- old/doc/latex/etoc/etocsnippet-20-A.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-20-A.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,25 @@
+%% LaTeX2e file `etocsnippet-20-A.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\makeatletter
+\newcommand{\MyStandardTOC}{%
+ \begingroup
+ % for the book or article classes:
+ %\etocsetstyle{part}{}{}
+ % {\etocsavedparttocline{\etocnumber\hspace{1em}\etocname}{\etocpage}}{}%
+ % for the scrbook or scrartcl classes:
+ \etocsetstyle{part}{}{}
+ {\etocsavedparttocline{\numberline{\etocnumber}\etocname}{\etocpage}}{}%
+ % following is identical in book/article/scrbook/scrartcl classes:
+ \etocsetstyle{chapter}{}{} %%% only for book and scrbook
+ {\etocsavedchaptertocline{\numberline{\etocnumber}\etocname}{\etocpage}}{}%
+ \etocsetstyle{section}{}{}
+ {\etocsavedsectiontocline{\numberline{\etocnumber}\etocname}{\etocpage}}{}%
+ \etocsetstyle{subsection}{}{}
+ {\etocsavedsubsectiontocline{\numberline{\etocnumber}\etocname}{\etocpage}}{}%
+ % etc... if further sectioning units are used
+ \etocstandarddisplaystyle % this is for the title, page-marks, etc...
+ \tableofcontents
+ \endgroup}
+\makeatother
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-20-B.tex new/doc/latex/etoc/etocsnippet-20-B.tex
--- old/doc/latex/etoc/etocsnippet-20-B.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-20-B.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,26 @@
+%% LaTeX2e file `etocsnippet-20-B.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\etocsetstyle{section}{}
+ {\ifnum\etocthenumber=4
+ \etocsetstyle{subsection}
+ {\par\nopagebreak\begingroup
+ \leftskip1.5em \rightskip\@tocrmarg \parfillskip\@flushglue
+ \parindent 0pt \normalfont\normalsize\rmfamily\itshape
+ % \columnsep1em
+ % \begin{minipage}{\dimexpr\linewidth-\leftskip-\rightskip\relax}%
+ % \begin{multicols}{2}%
+ \etocskipfirstprefix}
+ {\allowbreak\,--\,}
+ {\etocname\ \textup{(\etocnumber)}}
+ {.\par\endgroup}%
+ % {.\par\end{multicols}\end{minipage}\par\endgroup}%
+ \else
+ \etocsetstyle{subsection}
+ {}{}
+ {\etocsavedsubsectiontocline{\numberline{\etocnumber}\etocname}{\etocpage}}
+ {}%
+ \fi}
+ {\etocsavedsectiontocline{\numberline{{\color{cyan}\etocthenumber}}\etocname}{\etocpage}}
+ {}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-21-A.tex new/doc/latex/etoc/etocsnippet-21-A.tex
--- old/doc/latex/etoc/etocsnippet-21-A.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-21-A.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,100 @@
+%% LaTeX2e file `etocsnippet-21-A.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+% it will be easy to globally shift the TOC horizontally if needed
+\def\TOCleftmargin {0pt}
+\def\TOCrightmargin {2.55em}% like LaTeX's \@tocrmarg
+
+% this is for dotted leaders
+\newbox\TOCleaderbox
+\def\TOCleaderboxwidth {0.7777em}% about like what standard classes do
+
+% vertical spacing
+\def\TOCverysmallvskip {0pt plus .2pt}
+\def\TOCmedvskip {1em plus 1pt}
+\def\TOCbigvskip {2.25em plus 1pt}
+
+% the ``numwidths'' for typesetting the numbering of division units.
+% I don't recall exactly how (and for which fonts) these figures were chosen.
+% They quickly prove too small if using Roman numerals (as do too the book
+% class defaults even though they are a bit larger).
+\def\TOCnumwidthB {1.5em} % chapter
+\def\TOCnumwidthC {2.278em}% section, I think default is 2.3em
+\def\TOCnumwidthD {3.056em}% analog in standard class is 3.2em
+\def\TOCnumwidthE {3.833em}% analog in standard class is 4.1em
+\def\TOCnumwidthF {4.611em}% analog in standard class is 5em
+\def\TOCnumwidthG {5.389em}% analog in standard class is 6em
+
+% The code for the ``global toc style''.
+
+\newcommand*\TOCglobalstyle {%
+\etocsettocstyle
+ {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi
+ \parindent\z@ \leftskip\z@skip \rightskip \z@skip
+ \setbox\TOCleaderbox\hbox to \TOCleaderboxwidth{\hss.\hss}%
+ \chapter *{\noindent\kern\TOCleftmargin\relax % uses "pt"...
+ \contentsname
+ \@mkboth {\MakeUppercase \contentsname}{\MakeUppercase \contentsname}}%
+ \rightskip \TOCrightmargin\relax
+ \parfillskip -\rightskip % or a smaller value if desired
+ \leftskip \TOCleftmargin \relax }
+ {\if@restonecol \twocolumn \fi\cleardoublepage}%
+%
+\etocsetstyle{part}
+ {}
+ {\addpenalty {-\@highpenalty}%
+ \addvspace \TOCbigvskip
+ \leavevmode
+ {\large \bfseries % use a group to limit font change
+ \interlinepenalty\@M
+ \etocifnumbered{\etocnumber\hspace{1em}}{}%
+ \etocname
+ \nobreak\hfil\makebox[-\parfillskip][r]{\etocpage}}\par
+ \nobreak
+ }
+ {}
+ {}%
+%
+\etocsetstyle{chapter}
+ {\advance\leftskip\TOCnumwidthB\relax}
+ {\addpenalty {-\@highpenalty }%
+ \vskip \TOCmedvskip\relax
+ \leavevmode
+ {\interlinepenalty\@M
+ \etocifnumbered
+ {\llap{\makebox[\TOCnumwidthB][l]{\bfseries\etocnumber}}}
+ {\advance\leftskip-\TOCnumwidthB\relax}%
+ \bfseries\etocname
+ \nobreak\hfil\makebox[-\parfillskip][r]{\etocpage}\par }%
+ \penalty \@highpenalty
+ }
+ {}
+ {\advance\leftskip-\TOCnumwidthB\relax}%
+%
+ \TOCsetlinestyle {section} {\TOCnumwidthC}%
+ \TOCsetlinestyle {subsection} {\TOCnumwidthD}%
+ \TOCsetlinestyle {subsubsection}{\TOCnumwidthE}%
+ \TOCsetlinestyle {paragraph} {\TOCnumwidthF}%
+ \TOCsetlinestyle {subparagraph} {\TOCnumwidthG}%
+}% end of \TOCglobalstyle
+
+%The common code for line styles is abstracted into a macro:
+
+\newcommand\TOCsetlinestyle [2]{% #1= unit, #2= numwidth as macro
+\etocsetstyle{#1}
+ {\advance\leftskip#2\relax}
+ {\vskip \TOCverysmallvskip\relax
+ \leavevmode
+ {\interlinepenalty\@M
+ \etocifnumbered
+ {\llap{\makebox[#2][l]{\etocnumber}}}{\advance\leftskip-#2\relax}%
+ \etocname
+ \nobreak\leaders \copy\TOCleaderbox
+ \hfil\makebox[-\parfillskip][r]{\etocpage}%
+ \par }%
+ }
+ {}
+ {\advance\leftskip-#2\relax}%
+}
+\makeatother
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-21-B.tex new/doc/latex/etoc/etocsnippet-21-B.tex
--- old/doc/latex/etoc/etocsnippet-21-B.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-21-B.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,49 @@
+%% LaTeX2e file `etocsnippet-21-B.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\makeatletter
+\newcommand*\TOClocalstyle {%
+\etocsettocstyle
+ {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi
+ \setbox\TOCleaderbox\hbox to \TOCleaderboxwidth{\hss.\hss}%
+ \parindent\z@
+ \dimen@ 2.25em % for left indenting
+ \section *{\kern\dimen@ % use of \dimen@ works here by sheer luck
+ \contentsname
+ % un-comment this if marks are wanted:
+ %\@mkboth {\MakeUppercase \contentsname}{\MakeUppercase \contentsname}%
+ }% end of \section
+ \parskip \z@skip
+ \vspace{-1.25\baselineskip}% somewhat ad hoc
+ \leftskip 2.25em
+ \rightskip 4.5em
+ \advance\rightskip-\TOCrightmargin\relax
+ \leavevmode\leaders\hrule\@height\p@\hfill\kern\z@\par
+ \rightskip 4.5em
+ \parfillskip -\TOCrightmargin\relax }
+ {\nobreak\vskip-.5\baselineskip
+ \leavevmode\leaders\hrule\@height\p@\hfill\kern\z@\par
+ \bigskip
+ \if@restonecol \twocolumn \fi }%
+%
+\etocsetstyle{section}
+ {\advance\leftskip\TOCnumwidthC\relax}
+ {\addpenalty \@secpenalty
+ \etociffirst{}{\addvspace{\TOCmedvskip}}%
+ \leavevmode
+ {\interlinepenalty\@M
+ \bfseries\etocifnumbered
+ {\llap{\makebox[\TOCnumwidthC][l]{\etocnumber}}}
+ {\advance\leftskip-\TOCnumwidthC}%
+ \etocname\nobreak\hfil\makebox[-\parfillskip][r]{\etocpage}\par }%
+ \penalty \@highpenalty }
+ {}
+ {\advance\leftskip-\TOCnumwidthC\relax}%
+% the rest is identical with code for global tocs:
+ \TOCsetlinestyle {subsection} {\TOCnumwidthD}%
+ \TOCsetlinestyle {subsubsection}{\TOCnumwidthE}%
+ \TOCsetlinestyle {paragraph} {\TOCnumwidthF}%
+ \TOCsetlinestyle {subparagraph} {\TOCnumwidthG}%
+}% end of \TOClocalstyle
+\makeatother
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-22-A.tex new/doc/latex/etoc/etocsnippet-22-A.tex
--- old/doc/latex/etoc/etocsnippet-22-A.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-22-A.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,35 @@
+%% LaTeX2e file `etocsnippet-22-A.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\etocdefaultlines
+\begingroup
+\renewcommand{\etoccolumnsep}{2em}
+\renewcommand{\etocinnerleftsep}{1.5em}
+\renewcommand{\etocinnerrightsep}{1.5em}
+% specify a background color for the toc contents
+\renewcommand{\etocbkgcolorcmd}{\color{yellow!10}}
+% set up the top and bottom rules
+\renewcommand{\etoctoprule}{\hrule height 1pt}
+\renewcommand{\etoctoprulecolorcmd}{\color{red!25}}
+\renewcommand{\etocbottomrule}{\hrule height 1pt}
+\renewcommand{\etocbottomrulecolorcmd}{\color{red!25}}
+% set up the left and right rules
+\renewcommand{\etocleftrule}{\vrule width 5pt}
+\renewcommand{\etocrightrule}{\vrule width 5pt}
+\renewcommand{\etocleftrulecolorcmd}{\color{red!25}}
+\renewcommand{\etocrightrulecolorcmd}{\color{red!25}}
+% use \fcolorbox to set up a colored frame for the title
+\fboxrule1pt
+\renewcommand{\etocbelowtocskip}{0pt\relax}
+\etocframedstyle {\normalsize\rmfamily\itshape
+ \fcolorbox{red}{white}{\parbox{.8\linewidth}{\centering
+ This is a table of contents \`a la \etoc, but just for
+ the sections and subsections in this part. As it is put
+ in a frame, it has to be small enough to fit on
+ one page. It has the label |toc:b|.}}}
+\begin{figure}[ht!]
+ \centering
+\tableofcontents \label{toc:b} \ref{toc:globalcmds}
+\end{figure}
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-23.tex new/doc/latex/etoc/etocsnippet-23.tex
--- old/doc/latex/etoc/etocsnippet-23.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-23.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,80 @@
+%% LaTeX2e file `etocsnippet-23.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begin{figure}[htbp!]\centering
+\colorlet{subsecnum}{black}
+\colorlet{secbackground}{green!30}
+\colorlet{tocbackground}{red!20!green!20}
+
+\renewcommand{\etocbkgcolorcmd}{\color{tocbackground}}
+\renewcommand{\etocleftrulecolorcmd}{\color{tocbackground}}
+\renewcommand{\etocrightrulecolorcmd}{\color{tocbackground}}
+\renewcommand{\etocbottomrulecolorcmd}{\color{tocbackground}}
+\renewcommand{\etoctoprulecolorcmd}{\color{tocbackground}}
+
+\renewcommand{\etocleftrule}{\vrule width 3cm}
+\renewcommand{\etocrightrule}{\vrule width 1cm}
+\renewcommand{\etocbottomrule}{\hrule height 12pt}
+\renewcommand{\etoctoprule}{\hrule height 12pt}
+
+\renewcommand{\etocinnertopsep}{0pt}
+\renewcommand{\etocinnerbottomsep}{0pt}
+\renewcommand{\etocinnerleftsep}{0pt}
+\renewcommand{\etocinnerrightsep}{0pt}
+
+\newcommand\shiftedwhiterule[2]{%
+ \hbox to \linewidth{\color{white}%
+ \hskip#1\leaders\vrule height1pt\hfil}\nointerlineskip
+ \vskip#2}
+
+\etocsetstyle{subsubsection}
+{\etocskipfirstprefix}
+{\shiftedwhiterule{\leftskip}{6pt}}
+{\sffamily\footnotesize
+ \leftskip2.3cm\hangindent1cm\rightskip.5cm\relax
+ \makebox[1cm][l]{\color{subsecnum}\etocnumber}%
+ \color{black}\etocname
+ \nobreak\leaders\hbox to.2cm{\hss.}\hfill
+ \rlap{\makebox[.5cm][r]{\etocpage\hspace{.1cm}}}\par
+ \nointerlineskip\vskip3pt}
+{}
+
+\etocsetstyle{subsection}
+{\etocskipfirstprefix}
+{\shiftedwhiterule{1.5cm}{6pt}}
+{\sffamily\small
+ \leftskip1.5cm\hangindent.8cm\rightskip.5cm\relax
+ \makebox[.75cm][l]{\color{subsecnum}\etocnumber}%
+ \color{black}\etocname
+ \nobreak\leaders\hbox to.2cm{\hss.}\hfill
+ \rlap{\makebox[.5cm][r]{\etocpage\hspace{.1cm}}}\par
+ \nointerlineskip\vskip3pt}
+{}
+
+\newcommand{\coloredstuff}[2]{%
+ \leftskip0pt\rightskip0pt\parskip0pt
+ \fboxsep0pt % \colorbox uses \fboxsep also when no frame!
+ \noindent\colorbox{secbackground}
+ {\parbox{\linewidth}{%
+ \vskip5pt
+ {\noindent\color{#1}#2\par}\nointerlineskip
+ \vskip3pt}}%
+ \par\nointerlineskip}
+
+\etocsetstyle{section}
+{\coloredstuff{blue}{\hfil \bfseries\large Contents of Part One\hfil}}
+{\vskip3pt\sffamily\small}
+{\coloredstuff{blue}
+ {\leftskip1.5cm\rightskip.5cm\parfillskip-\rightskip
+ \makebox[0pt][r]{\makebox[.5cm][l]{\etocnumber}}%
+ \etocname\nobreak\hfill\makebox[.5cm][r]{\etocpage\hspace{.1cm}}}%
+ \vskip6pt}
+{}
+
+\etocframedstyle[1]{}
+\tableofcontents \label{toc:floating} \ref{toc:overview}
+\vspace{-\baselineskip}
+\centeredline{|\tableofcontents \ref{toc:overview}|
+(\emph{cf.} \hyperref[toc:clone]{this other toc})}
+\end{figure}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-24.tex new/doc/latex/etoc/etocsnippet-24.tex
--- old/doc/latex/etoc/etocsnippet-24.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-24.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,27 @@
+%% LaTeX2e file `etocsnippet-24.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begingroup
+\newsavebox{\forsubsections}
+\etocsetstyle{part}{\upshape. \etocskipfirstprefix}
+ {. \upshape}
+ {\bfseries\etocname:~~}
+ {}
+\etocsetstyle{section}{\itshape\etocskipfirstprefix}
+ {, }
+ {\mdseries\etocname}
+ {}
+\etocsetstyle{subsection}
+ {\begin{lrbox}{\forsubsections}\upshape\etocskipfirstprefix}
+ {; }
+ {\etocname}
+ {\end{lrbox}\footnote{\unhbox\forsubsections.}}
+\etocsetstyle{subsubsection}
+ { (\itshape\etocskipfirstprefix}
+ {, }
+ {\etocname}
+ {\/\upshape)}
+\etocsettocstyle{Here is the inline table of contents. }{.\par}
+\tableofcontents \label{toc:crazyinline}
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-25.tex new/doc/latex/etoc/etocsnippet-25.tex
--- old/doc/latex/etoc/etocsnippet-25.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-25.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,25 @@
+%% LaTeX2e file `etocsnippet-25.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+ < in the preamble >
+\newcounter{visibletoc}
+\renewcommand{\etocaftertitlehook}
+ {\stepcounter{visibletoc}\etoctoccontentsline{visibletoc}{\thevisibletoc}}
+\etocsetlevel{visibletoc}{6}
+\begin{document}
+ < document body >
+\subsection{Surprising uses of etoc}
+\begingroup
+ \etocinline
+ \etocsetlevel{part}{1}
+ % \etocsetlevel{chapter}{1} % (no chapters in scrartcl class)
+ \etocsetlevel{visibletoc}{0}
+ \etocsetstyle{visibletoc}
+ {\etocskipfirstprefix}{, }{{\color{niceone}\etocname}}{}
+ \etocsettocstyle{}{} % don't set any title, rules or frame or multicol!
+ \etocsetnexttocdepth{visibletoc} % display only the `visibletoc' entries from .toc
+
+Here is the numbered and linked list of all tables of contents which are
+displayed within this document: \tableofcontents.
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-26.tex new/doc/latex/etoc/etocsnippet-26.tex
--- old/doc/latex/etoc/etocsnippet-26.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-26.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,20 @@
+%% LaTeX2e file `etocsnippet-26.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+ \etocsetnexttocdepth{2} % sections are at level 1 and will show up
+\begingroup
+ \etocsetlevel{exercise}{2} % but:
+ \etocsetlevel{chapter}{3} % no chapters
+ \etocsetlevel{subsection}{3} % no subsections
+ \etocsetlevel{part}{3} % no parts
+ \etocsetstyle{exercise}{}{} % \etocname = exercise number
+ {\noindent\etocname\strut\leaders\etoctoclineleaders\hfill\etocpage\par}
+ {\pagebreak[2]\vskip\baselineskip}
+ \etocsetstyle{section}{}{}
+ {\noindent\strut{\bfseries\large\etocnumber\hskip.5em\etocname}\par
+ \nopagebreak[3]}{}
+ \etocruledstyle[4]{\Large\bfseries List of the exercises}
+ \setlength{\columnseprule}{.4pt}
+ \tableofcontents
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-27.tex new/doc/latex/etoc/etocsnippet-27.tex
--- old/doc/latex/etoc/etocsnippet-27.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-27.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,62 @@
+%% LaTeX2e file `etocsnippet-27.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+% \newtoks\treetok % put this (uncommented) preferably in the preamble
+% \newtoks\tmptok % (idem)
+
+\newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands once #2
+ #1\expandafter\expandafter\expandafter
+ {\expandafter\the\expandafter #1#2}}
+
+\newcommand*\PrepareSectionNode{%
+ \tmptok {\centering\bfseries}%
+ \appendtotok\tmptok\etocthelinkedname
+ \edef\foresttreenode{ [{\noexpand\parbox{2cm}{\the\tmptok}}}%
+}
+
+\newcommand*{\PrepareSubsectionNode}{%
+ \tmptok {\raggedright}%
+ \appendtotok\tmptok\etocthelinkedname
+ \edef\foresttreenode{ [{\noexpand\parbox{6cm}{\the\tmptok}}}%
+}
+
+\etocsetstyle{section}
+ {\etocskipfirstprefix}
+ {\appendtotok\treetok{ ]}}
+ {\PrepareSectionNode \appendtotok\treetok\foresttreenode}
+ {\appendtotok\treetok{ ]}}
+
+\etocsetstyle{subsection}
+ {\etocskipfirstprefix}
+ {\appendtotok\treetok{ ]}}
+ {\PrepareSubsectionNode \appendtotok\treetok\foresttreenode}
+ {\appendtotok\treetok{ ]}}
+
+\etocsettocstyle
+ {\treetok{[{\hyperref[part:overview]{Overview}}}}
+ {\global\appendtotok\treetok{ ]}}
+
+% forest does not like @\the\treetok if \treetok is empty. On first latex
+% run, this will be the case because the TOC style defined above will not
+% have been executed, as the label {toc:overview} does not refer to a valid
+% TOC yet. So we must give a safe default value to \treetok
+\treetok{[{run latex again}]}
+
+\begin{figure}[th!]\centering
+ \etocsetnexttocdepth{subsection}
+ \tableofcontents \label{toc:forest}\ref{toc:overview}
+ \hypersetup{hidelinks}%
+ \bracketset{action character=@}
+ \begin{forest}
+ for tree={anchor=center,child anchor=west,
+ grow'=east,draw,thick,
+ edge={draw,thick,dashed,color=teal}},
+ where={level()==1}{circle,thick,fill=blue!5,
+ before computing xy={l=3cm}}{},
+ where={level()==2}{fill=red!5,
+ before computing xy={l=6cm}}{},
+ rectangle, thick, fill=cyan!5, inner sep=6pt,
+ @\the\treetok
+ \end{forest}
+\end{figure}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-28.tex new/doc/latex/etoc/etocsnippet-28.tex
--- old/doc/latex/etoc/etocsnippet-28.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-28.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,48 @@
+%% LaTeX2e file `etocsnippet-28.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+% \newtoks\treetok % put this (uncommented) preferably in the preamble
+% \newtoks\sectiontok
+% \newtoks\subsectiontok
+\newcommand*{\treenode}{}
+
+\newcommand*{\appendchildtree}[2]{% token list t1 becomes: t1 child {t2}
+ \edef\tmp{\the#1 child {\the#2}}%
+ #1\expandafter{\tmp}%
+}
+\newcommand*{\preparetreenode}{%
+ \tmptok\expandafter{\etocthelinkednumber}% expanded one time (mandatory)
+ \edef\treenode{node {\the\tmptok}}%
+}
+
+\etocsetstyle{section}
+ {\etocskipfirstprefix}
+ {\appendchildtree\treetok\sectiontok}
+ {\preparetreenode \sectiontok\expandafter{\treenode}}
+ {\appendchildtree\treetok\sectiontok}
+
+\etocsetstyle{subsection}
+ {\etocskipfirstprefix}
+ {\appendchildtree\sectiontok\subsectiontok}
+ {\preparetreenode \subsectiontok\expandafter{\treenode}}
+ {\appendchildtree\sectiontok\subsectiontok}
+
+\etocsettocstyle
+ {\treetok{\node {\hyperref[part:overview]{Overview}}}}
+ {\global\appendtotok\treetok{ ;}}
+
+\begin{figure}[thbp!]\centering
+ \etocsetnexttocdepth{subsection}
+ \tableofcontents \label{toc:molecule} \ref{toc:overview}
+ \hypersetup{hidelinks}%
+ \begin{tikzpicture}
+ [grow cyclic,
+ level 1/.style={level distance=4cm,sibling angle=72},
+ level 2/.style={level distance=2cm,sibling angle=60},
+ every node/.style={ball color=red,circle,text=SkyBlue},
+ edge from parent path={[dashed,very thick,color=cyan]
+ (\tikzparentnode) --(\tikzchildnode)}]
+ \the\treetok
+ \end{tikzpicture}
+\end{figure}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-29.tex new/doc/latex/etoc/etocsnippet-29.tex
--- old/doc/latex/etoc/etocsnippet-29.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-29.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,120 @@
+%% LaTeX2e file `etocsnippet-29.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begingroup
+% \newtoks\treetok % done in preamble
+% \newtoks\parttok
+
+\newcommand*\partnode {} % just to check we don't overwrite something
+\newcommand*\childnode {}
+
+\newcommand*\tmprotate {} % just to check we don't overwrite something
+\newcommand*\tmpoption {} % just to check we don't overwrite something
+\newcommand*\tmpstuff {} % just to check we don't overwrite something
+
+\newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands once #2
+ #1\expandafter\expandafter\expandafter{\expandafter\the\expandafter #1#2}}
+
+\newcommand*{\appendchildtree}[3]{%
+% this is to construct "t1 child [#3]{t2}" from #1=t1 and #2=t2
+% t1 and t2 are two toks variable (not macros)
+% #3 = for example teal!60
+ \edef\tmpstuff {\the#1 child [#3]{\the#2}}%
+ #1\expandafter {\tmpstuff }%
+}
+
+\newcounter{partco}
+
+% 1,2,3,4,5,... -> 1,2,3,1,2,3,1,2,3
+\def\pseudomodthree #1{\numexpr #1 + 3 - 3*((#1+1)/3)\relax}
+
+\etocsetstyle{part}
+ {\etocskipfirstprefix}
+% This updates the global tree with the data from the previous
+% part and all its children sections. Moved here because for some parts the
+% sections are not displayed due to depth tags.
+ {\ifnum\value{partco}=3
+ \appendchildtree\treetok\parttok {branch color= green!50,level distance=10cm}%
+ \else
+\ifcase\pseudomodthree{\value{partco}}%
+ \or \appendchildtree\treetok\parttok {branch color= teal!60}% first
+ \or \appendchildtree\treetok\parttok {branch color= yellow!80}% second
+ \else\appendchildtree\treetok\parttok {branch color= green!50}% third and next ...
+ \fi\fi
+ }
+ {\stepcounter{partco}%
+% customize manually some TikZ set-up (should be done inside the TikZ thing I guess)
+ \def\tmpoption {}%
+ \def\tmprotate {}% first
+ %\ifnum\value{partco}=5 \def\tmprotate {[counterclockwise from =-40]}\fi
+ %\ifnum\value{partco}=8 \def\tmprotate {[counterclockwise from =-50]}\fi
+% define the part node
+ \edef\partnode{node \tmpoption
+ {\unexpanded\expandafter{\etocthelinkednumber}.
+ \unexpanded\expandafter{\etocthelinkedname}}\tmprotate }%
+% this is a starting point which will be filled it by the section children
+ \parttok\expandafter{\partnode}}
+ {\ifcase\pseudomodthree{\value{partco}}%
+ \or \appendchildtree\treetok\parttok {branch color= teal!60}% first
+ \or \appendchildtree\treetok\parttok {branch color= yellow!80}% second
+ \else\appendchildtree\treetok\parttok {branch color= green!50}% third and next ...
+ \fi
+ }
+
+\etocsetstyle{section}
+ {}
+ {}
+ {% define the section node
+ \edef\childnode{child {node {\unexpanded\expandafter{\etocthelinkednumber}
+ \unexpanded\expandafter{\etocthelinkedname}}}}%
+ % append it to the current \parttok
+ \appendtotok\parttok\childnode
+ }
+ {}
+
+\etocsettocstyle
+ {\setcounter{partco}{0}%
+ \treetok{\node [root concept]{\textbf{The \etoc documentation}}}}
+ {\global\appendtotok\treetok{ ;}}
+% The \global above is mandatory because etoc always typesets TOC inside a group
+
+\etocsetnexttocdepth{section}
+% use of depth tags to cut out some sections.
+\etocsettagdepth {preamble} {none}
+\etocsettagdepth {overview} {part}
+\etocsettagdepth {arbitrarily}{part}
+\etocsettagdepth {examples} {section}
+\etocsettagdepth {surprising} {part}
+\etocsettagdepth {linestyles} {part}
+\etocsettagdepth {globalcmds} {part}
+\etocsettagdepth {custom} {section}
+\etocsettagdepth {tips} {part}
+\etocsettagdepth {etocandworld}{part}
+\etocsettagdepth {code} {section}
+
+\tikzset{
+ branch color/.style={
+ concept color=#1!white,
+ every child/.append style={concept color=#1!white!30!white, font=\normalsize},
+ }
+}%
+
+\begin{figure}[thp!]
+\tableofcontents\label{toc:mindmap}%
+\centeredline{\resizebox{.85\paperwidth}{!}%
+{\begin{tikzpicture}[mindmap,
+ grow cyclic,
+ text width=2cm,
+ align=flush center,
+ nodes={concept},
+ concept color=orange!60,
+ root concept/.append style={text width=4cm, font=\Large},
+ level 1/.append style={level distance=5cm,sibling angle=40, text width=3cm},
+ level 2/.append style={level distance=7cm,sibling angle=30, text width=3cm},
+ level 1 concept/.append style={font=\normalsize},
+ ]
+\the\treetok
+\end{tikzpicture}}}
+\end{figure}
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-30-A.tex new/doc/latex/etoc/etocsnippet-30-A.tex
--- old/doc/latex/etoc/etocsnippet-30-A.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-30-A.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,40 @@
+%% LaTeX2e file `etocsnippet-30-A.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begingroup
+\etocglobaldefs % necessary for \etocname etc... to survive &
+
+% observe the locations of the \\
+\etocsetstyle{part}
+ {}
+ {\\\hline}
+ {\strut\etocnumber &\bfseries\etocname&\etocpage }
+ {}
+
+\etocsetstyle{section}
+ {}
+ {\etociffirst{\etocifnumbered{\\\hline}{\\\hline\hline}}{\\}}
+ {\etocnumber&\etocname &\etocpage }
+ {}
+
+\etocsetstyle{subsection}
+ {}
+ {\\}
+ {&\makebox[1cm][c]{\etocnumber}%
+ \parbox[t]{\dimexpr6cm-\tabcolsep\relax}{\sloppy\itshape\etocname\strut}%
+ &\itshape\etocpage }
+ {}
+
+\etocsettocstyle
+ {\hypersetup{hidelinks}%
+ \begin{longtable}{|>{\bfseries}c|p{7cm}|r|}
+ \hline
+ \multicolumn{3}{|c|}{\Large\bfseries\strut\strut TABLE OF CONTENTS}%
+ }
+ {\\\hline\end{longtable}}
+
+\etocsetnexttocdepth {subsection}
+
+\tableofcontents
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-30-B.tex new/doc/latex/etoc/etocsnippet-30-B.tex
--- old/doc/latex/etoc/etocsnippet-30-B.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-30-B.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,23 @@
+%% LaTeX2e file `etocsnippet-30-B.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begin{center}
+\etocsetstyle{section}
+ {}
+ {\etociffirst{\\\hline\hline}{\\\hline}}
+ {\etocname & \etocnumber & \etocpage }
+ {}
+
+\etocsettocstyle
+ {\hypersetup{hidelinks}\begin{tabular}{|p{4cm}|c|c|}\hline
+ \multicolumn{1}{|c|}{\bfseries Section}&
+ \bfseries number&
+ \bfseries page}
+ {\\\hline\end{tabular}}
+
+\etocglobaldefs % MANDATORY !!
+\etocsetnexttocdepth{1}
+
+\tableofcontents\ref{toc:overview}
+\end{center}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-31.tex new/doc/latex/etoc/etocsnippet-31.tex
--- old/doc/latex/etoc/etocsnippet-31.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-31.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,57 @@
+%% LaTeX2e file `etocsnippet-31.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\makeatletter
+\newcommand*\TOCcompute@numwidths [2]{% #1=empty/"local", #2=minimal indent
+ \begingroup
+ \def\TOCnumwidthB {0pt}%
+ \def\TOCnumwidthC {0pt}%
+ \def\TOCnumwidthD {0pt}%
+ \def\TOCnumwidthE {0pt}%
+ \def\TOCnumwidthF {0pt}%
+ \def\TOCnumwidthG {0pt}%
+ \etocsetstyle{part}{}{}{}{}%
+ \etocsetstyle{chapter}{}
+ {\setbox0\hbox{\bfseries\etocthenumber\kern#2}}
+ {\ifdim\wd0>\TOCnumwidthB\edef\TOCnumwidthB{\the\wd0}\fi}{}%
+ \etocsetstyle{section}{}
+ {\setbox0\hbox{\bfseries\etocthenumber\kern#2}}
+ {\ifdim\wd0>\TOCnumwidthC\edef\TOCnumwidthC{\the\wd0}\fi}{}%
+ \etocsetstyle{subsection}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\TOCnumwidthD\edef\TOCnumwidthD{\the\wd0}\fi}{}%
+ \etocsetstyle{subsubsection}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\TOCnumwidthE\edef\TOCnumwidthE{\the\wd0}\fi}{}%
+ \etocsetstyle{paragraph}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\TOCnumwidthF\edef\TOCnumwidthF{\the\wd0}\fi}{}%
+ \etocsetstyle{subparagraph}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\TOCnumwidthG\edef\TOCnumwidthG{\the\wd0}\fi}{}%
+ %
+ \etocsettocstyle{}
+ {\global\let\TOCnumwidthB\TOCnumwidthB
+ \global\let\TOCnumwidthC\TOCnumwidthC
+ \global\let\TOCnumwidthD\TOCnumwidthD
+ \global\let\TOCnumwidthE\TOCnumwidthE
+ \global\let\TOCnumwidthF\TOCnumwidthF
+ \global\let\TOCnumwidthG\TOCnumwidthG}%
+ \etocnopar
+ \csname #1tableofcontents\endcsname
+\typeout{Next TOCs will use \TOCnumwidthB\space for chapter number width}%
+\typeout{Next TOCs will use \TOCnumwidthC\space for section number width}%
+\typeout{Next TOCs will use \TOCnumwidthD\space for subsection number width}%
+\typeout{Next TOCs will use \TOCnumwidthE\space for subsubsection number width}%
+\typeout{Next TOCs will use \TOCnumwidthF\space for paragraph number width}%
+\typeout{Next TOCs will use \TOCnumwidthG\space for subparagraph number width}%
+ \endgroup
+}%
+\newcommand*\TOCcomputenumwidths [1][0.5em]{%
+ \TOCcompute@numwidths {}{#1}%
+}%
+\newcommand*\TOCcomputelocalnumwidths [1][0.5em]{%
+ \TOCcompute@numwidths {local}{#1}%
+}%
+\makeatother
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-32.tex new/doc/latex/etoc/etocsnippet-32.tex
--- old/doc/latex/etoc/etocsnippet-32.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-32.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,22 @@
+%% LaTeX2e file `etocsnippet-32.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\etocsetstyle{section}
+{\begin{enumerate}}
+{\normalsize\bfseries\rmfamily\item}
+{\etocname{} (page \etocpage)}
+{\end{enumerate}}
+
+\etocsetstyle{subsection}
+{\begin{enumerate}}
+{\normalfont\item}
+{\etocname{} (p.~\etocpage)}
+{\end{enumerate}}
+
+\etocsetstyle{subsubsection}
+{\par\nobreak\begingroup\normalfont
+ \footnotesize\itshape\etocskipfirstprefix}
+{\allowbreak\,--\,}
+{\etocname}
+{.\hfil\par\endgroup\pagebreak[3]}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-40.tex new/doc/latex/etoc/etocsnippet-40.tex
--- old/doc/latex/etoc/etocsnippet-40.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-40.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,19 @@
+%% LaTeX2e file `etocsnippet-40.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\etocsettocdepth {subsubsection} % set the initial tocdepth
+\etocdefaultlines % use the package default line styles. At this early stage in
+ % the document they had not yet been modified by \etocsetstyle
+ % commands, so \etoctoclines could have been used, too.
+\etocmarkboth\contentsname
+\etocmulticolstyle[1] % one-column display
+ {\pdfbookmark[1]{Table of contents}{MAINTOC}% create a bookmark in the pdf
+ \noindent\bfseries\Large
+ \leaders\hrule height1pt\hfill
+ \MakeUppercase{Table of Contents}}
+\begingroup % use a group to limit the scope of the
+ \etocsetlevel{subsection}{3} % subsection level change.
+ \etocsetlevel{subsubsection}{4} % anything > tocdepth=3.
+ \tableofcontents \label{toc:main}
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-46.tex new/doc/latex/etoc/etocsnippet-46.tex
--- old/doc/latex/etoc/etocsnippet-46.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-46.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,23 @@
+%% LaTeX2e file `etocsnippet-46.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\etocruledstyle[2]{\normalfont\normalsize\rmfamily\itshape
+ \fbox{\parbox{.6\linewidth}{
+ \leftskip 0pt plus .5fil
+ \rightskip 0pt plus -.5fil
+ \parfillskip 0pt plus 1fil This is the global table of
+ contents on two columns, using \etoc default line styles, but with
+ sections as chapters, and subsections as sections.
+ }}}
+\etocdefaultlines
+\etocsetnexttocdepth{1}
+\begingroup
+\etocsetlevel{section}{0}
+\etocsetlevel{subsection}{1}
+\renewcommand*{\etocfontone}{\normalfont \normalsize}
+\renewcommand*{\etoctoclineleaders}
+ {\hbox{\normalfont\normalsize\hbox to 1ex {\hss.\hss}}}
+\sloppy
+\tableofcontents
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-48.tex new/doc/latex/etoc/etocsnippet-48.tex
--- old/doc/latex/etoc/etocsnippet-48.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-48.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,74 @@
+%% LaTeX2e file `etocsnippet-48.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begingroup
+\definecolor{subsecnum}{RGB}{13,151,225}
+\definecolor{secbackground}{RGB}{0,177,235}
+\definecolor{tocbackground}{RGB}{212,237,252}
+
+\renewcommand{\etocbkgcolorcmd}{\color{tocbackground}}
+\renewcommand{\etocleftrulecolorcmd}{\color{tocbackground}}
+\renewcommand{\etocrightrulecolorcmd}{\color{tocbackground}}
+\renewcommand{\etocbottomrulecolorcmd}{\color{tocbackground}}
+\renewcommand{\etoctoprulecolorcmd}{\color{tocbackground}}
+
+\renewcommand{\etocleftrule}{\vrule width 1cm}
+\renewcommand{\etocrightrule}{\vrule width .5cm}
+\renewcommand{\etocbottomrule}{\hrule height 12pt}
+\renewcommand{\etoctoprule}{\hrule height 12pt}
+
+\renewcommand{\etocinnertopsep}{0pt}
+\renewcommand{\etocinnerbottomsep}{0pt}
+\renewcommand{\etocinnerleftsep}{0pt}
+\renewcommand{\etocinnerrightsep}{0pt}
+
+\newcommand\shiftedwhiterule[2]{%
+ \hbox to \linewidth{\color{white}%
+ \hskip#1\leaders\vrule height1pt\hfil}\nointerlineskip\vskip#2}
+
+\etocsetstyle{subsubsection}{\etocskipfirstprefix}
+ {\shiftedwhiterule{\leftskip}{6pt}}
+ {\sffamily\footnotesize
+ \leftskip2.5cm\hangindent1cm\rightskip1cm\noindent
+ \hbox to 1cm{\color{subsecnum}\etocnumber\hss}%
+ \color{black}\etocname\leaders\hbox to .2cm{\hss.}\hfill
+ \rlap{\hbox to 1cm{\hss\etocpage\hskip.2cm}}\par
+ \nointerlineskip\vskip3pt}
+ {}
+
+\etocsetstyle{subsection}{\etocskipfirstprefix}
+ {\shiftedwhiterule{1.5cm}{6pt}}
+ {\sffamily\small
+ \leftskip1.5cm\hangindent1cm\rightskip1cm\noindent
+ \hbox to 1cm{\color{subsecnum}\etocnumber\hss}%
+ \color{black}\etocname\leaders\hbox to .2cm{\hss.}\hfill
+ \rlap{\hbox to 1cm{\hss\etocpage\hskip.2cm}}\par
+ \nointerlineskip\vskip6pt}
+ {}
+
+\newcommand{\coloredstuff}[2]{%
+ \leftskip0pt\rightskip0pt\parskip0pt
+ \fboxsep0pt % \colorbox uses \fboxsep also when no frame!
+ \noindent\colorbox{secbackground}
+ {\parbox{\linewidth}{%
+ \vskip5pt
+ {\noindent\color{#1}#2\par}\nointerlineskip
+ \vskip3pt}}%
+ \par\nointerlineskip}
+
+\etocsetstyle{section}
+{\coloredstuff{white}
+ {\hfil \hyperref[toc:b]{\bfseries\large I am a twin of
+ that other TOC (click me!)}\hfil}}
+{\vskip3pt\sffamily\small}
+{\coloredstuff{white}
+ {\leftskip1.5cm\rightskip.5cm\parfillskip-\rightskip
+ \makebox[0pt][r]{\makebox[.5cm][r]{\etocnumber\hspace{.2cm}}}%
+ \etocname\hfill\makebox[.5cm][r]{\etocpage\hspace{.2cm}}}%
+ \vskip6pt }
+{}
+
+\etocframedstyle[1]{}
+\tableofcontents \label{toc:clone} \ref{toc:globalcmds}
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-5.tex new/doc/latex/etoc/etocsnippet-5.tex
--- old/doc/latex/etoc/etocsnippet-5.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-5.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,30 @@
+%% LaTeX2e file `etocsnippet-5.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begingroup\parindent 0pt \parfillskip 0pt \leftskip 0cm \rightskip 1cm
+\etocsetstyle {section}
+ {}
+ {\leavevmode\leftskip 0cm\relax}
+ {\bfseries\normalsize\makebox[.5cm][l]{\etocnumber.}%
+ \etocname\nobreak\hfill\nobreak
+ \rlap{\makebox[1cm]{\mdseries\etocpage}}\par}
+ {}
+\etocsetstyle {subsection}
+ {}
+ {\leavevmode\leftskip .5cm\relax }
+ {\mdseries\normalsize\makebox[1cm][l]{\etocnumber}%
+ \etocname\nobreak\hfill\nobreak
+ \rlap{\makebox[1cm]{\etocpage}}\par}
+ {}
+\etocsetstyle {subsubsection}
+ {}
+ {\leavevmode\leftskip 1.5cm\relax }
+ {\mdseries\normalsize\makebox[1cm][l]{\etocnumber}%
+ \etocname\nobreak\hfill\nobreak
+ \rlap{\makebox[1cm]{\etocpage}}\par}
+ {}
+\etocruledstyle[1]{\bfseries \Large My first \etoc: TOC of
+ \autoref{part:overview} (\nameref{part:overview})}
+\tableofcontents \ref {toc:overview}
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-52-A.tex new/doc/latex/etoc/etocsnippet-52-A.tex
--- old/doc/latex/etoc/etocsnippet-52-A.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-52-A.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,47 @@
+%% LaTeX2e file `etocsnippet-52-A.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\newsavebox\firstnamei \newsavebox\firstnumberi
+\newsavebox\lastnamei \newsavebox\lastnumberi
+\newsavebox\firstnameii \newsavebox\firstnumberii
+\newsavebox\lastnameii \newsavebox\lastnumberii
+\newcounter{mycounti} \newcounter{mycountii}
+\newcommand*{\thispartstatsauxi}{} \newcommand*{\thispartstatsauxii}{}
+\newcommand*{\oldtocdepth}{}
+\newcommand*{\thispartstats}{%
+ \setcounter{mycounti}{0}%
+ \setcounter{mycountii}{0}%
+ \def\thispartstatsauxi{%
+ \sbox{\firstnamei}{\etocname}%
+ \sbox{\firstnumberi}{\etocnumber}%
+ \def\thispartstatsauxi{}}%
+ \def\thispartstatsauxii{%
+ \sbox{\firstnameii}{\etocname}%
+ \sbox{\firstnumberii}{\etocnumber}%
+ \def\thispartstatsauxii{}}%
+ \begingroup
+ \etocsetstyle{subsection} {} {}
+ {\thispartstatsauxii
+ \stepcounter{mycountii}%
+ \sbox{\lastnameii}{\etocname}%
+ \sbox{\lastnumberii}{\etocnumber}} {}%
+ \etocsetstyle{section} {} {}
+ {\thispartstatsauxi
+ \stepcounter{mycounti}%
+ \sbox{\lastnamei}{\etocname}%
+ \sbox{\lastnumberi}{\etocnumber}}
+ {Here are some statistics for this part: it contains \arabic{mycounti}
+ section\ifnum\value{mycounti}>1 s\fi{} and \arabic{mycountii}
+ subsection\ifnum\value{mycountii}>1 s\fi. The name of the first section is
+ \unhbox\firstnamei{} and the corresponding number is \unhbox\firstnumberi.
+ The name of the last section is \unhbox\lastnamei{} and its number is
+ \unhbox\lastnumberi. The name of the first subsection is \unhbox\firstnameii{}
+ and the corresponding number is \unhbox\firstnumberii. The name of the last
+ subsection is \unhbox\lastnameii{} and its number is \unhbox\lastnumberii.}%
+ \etocinline % cancels the automatic \par automatically before the TOC
+ \etocsettocstyle {}{}
+ \etocsetnexttocdepth{2}%
+ \localtableofcontents % to be used at the top level of a Part.
+ \endgroup
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-52-B.tex new/doc/latex/etoc/etocsnippet-52-B.tex
--- old/doc/latex/etoc/etocsnippet-52-B.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-52-B.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,31 @@
+%% LaTeX2e file `etocsnippet-52-B.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\makeatletter
+\newcommand*\firstsubname {} \newcommand*\lastsubname {}
+\newcommand*\firstsubnumber {} \newcommand*\lastsubnumber {}
+\newcommand*\thisspecialstatsaux{}
+\newcommand*{\thisspecialstats}{%
+ \setcounter{mycounti}{0}%
+ \def\thisspecialstatsaux{%
+ \let\firstsubname\etocthelinkedname
+ \let\firstsubnumber\etocthelinkednumber
+ \def\thisspecialstatsaux{}}
+ \begingroup
+ \etocsetstyle{subsection} {} {}
+ {\thisspecialstatsaux
+ \stepcounter{mycounti}%
+ \let\lastsubname\etocthelinkedname
+ \let\lastsubnumber\etocthelinkednumber }
+ {Here are some statistics for this section. It contains \arabic{mycounti}
+ subsections. The name of its first is \emph{\firstsubname{}} and the
+ corresponding number is {\firstsubnumber}. The name of the last
+ subsection is \emph{\lastsubname{}} and its number is {\lastsubnumber}.}%
+ \etocsettocstyle {}{}
+ \etocinline
+ \etocsetnexttocdepth {1}%
+ \localtableofcontents % to be used within a section
+ \endgroup
+}
+\makeatother
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-53.tex new/doc/latex/etoc/etocsnippet-53.tex
--- old/doc/latex/etoc/etocsnippet-53.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-53.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,67 @@
+%% LaTeX2e file `etocsnippet-53.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\etocsetnexttocdepth {all}
+\begingroup
+\parindent 0pt \leftskip 0cm \rightskip .75cm \parfillskip -\rightskip
+\newcommand*{\EndParWithPagenoInMargin}
+ {\nobreak\hfill
+ \makebox[0.75cm][r]{\mdseries\normalsize\etocpage}%
+ \par}
+\renewcommand*\etoctoclineleaders
+ {\hbox{\normalfont\normalsize\hbox to .75ex {\hss.\hss}}}
+\newcommand*{\EndParWithPagenoInMarginAndLeaders}
+ {\nobreak\leaders\etoctoclineleaders\hfill
+ \makebox[0.75cm][r]{\mdseries\normalsize\etocpage}%
+ \par }
+\etocsetstyle {part}
+ {}
+ {\leavevmode\leftskip 1cm\relax}
+ {\bfseries\large\llap{\makebox[1cm][r]{\etocnumber\ \ }}%
+ \etocname\EndParWithPagenoInMargin\smallskip}
+ {}
+\etocsetstyle {section}
+ {}
+ {\leavevmode\leftskip 1.75cm\relax}
+ {\bfseries\normalsize\llap{\makebox[.75cm][l]{\etocnumber}}%
+ \etocname\EndParWithPagenoInMarginAndLeaders}
+ {}
+\etocsetstyle {subsection}
+ {}
+ {\leavevmode\leftskip 2.75cm\relax }
+ {\mdseries\normalsize\llap{\makebox[1cm][l]{\etocnumber}}%
+ \etocname\EndParWithPagenoInMarginAndLeaders}
+ {}
+\etocsetstyle {subsubsection}
+ {}
+ {\leavevmode\leftskip 4cm\relax }
+ {\mdseries\normalsize\llap{\makebox[1.25cm][l]{\etocnumber}}%
+ \etocname\EndParWithPagenoInMarginAndLeaders}
+ {}
+\etocsetstyle {paragraph}
+ {}
+ {\leavevmode\leftskip 5.5cm\relax }
+ {\mdseries\normalsize\llap{\makebox[1.5cm][l]{\etocnumber}}%
+ \etocname\EndParWithPagenoInMarginAndLeaders}
+ {}
+\etocsettagdepth {preamble} {none}
+\etocsettagdepth {overview} {part}
+%\etocsettagdepth {arbitrarily}{part}% not needed explicitely, keeps value
+%\etocsettagdepth {examples} {part}
+%\etocsettagdepth {surprising} {part}
+%\etocsettagdepth {linestyles} {part}
+\etocsettagdepth {globalcmds} {paragraph}
+\etocsettagdepth {custom} {part}
+%\etocsettagdepth {tips} {part}
+%\etocsettagdepth {etocandworld}{part}
+\etocsettagdepth {code} {none}
+\renewcommand\etoctoprule {\hrule height 3pt\relax }
+\renewcommand\etoctoprulecolorcmd {\color{blue}}
+\renewcommand\etocaftercontentshook
+ {\medskip\begingroup \color{blue}\hrule height 3pt \endgroup }
+\etocruledstyle [1]{\Large\bfseries
+ \fbox{\makebox[8cm]{A TOC using depth tags}}}
+\sloppy
+\tableofcontents
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-54.tex new/doc/latex/etoc/etocsnippet-54.tex
--- old/doc/latex/etoc/etocsnippet-54.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-54.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,50 @@
+%% LaTeX2e file `etocsnippet-54.tex'
+%% generated by the `filecontentshere' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\newtoks\toctabletok
+\newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands once #2
+ #1\expandafter\expandafter\expandafter {\expandafter\the\expandafter #1#2}}
+
+\newcommand*\PreparePart{%
+ \toks0 \expandafter{\etocthelinkednumber}%
+ \toks2 \expandafter{\etocthelinkedname}%
+ \toks4 \expandafter{\etocthelinkedpage}%
+ \edef\toctablepiece {\noexpand\hline
+ \noexpand\strut\the\toks0 &\noexpand\bfseries\the\toks2
+ &\the\toks4 \noexpand\\\noexpand\hline}%
+}
+\newcommand*\PrepareSection{%
+ \toks0 \expandafter{\etocthelinkednumber}%
+ \toks2 \expandafter{\etocthelinkedname}%
+ \toks4 \expandafter{\etocthelinkedpage}%
+ \edef\toctablepiece {\the\toks0 &\the\toks2 &\the\toks4 \noexpand\\}%
+}
+% new version for 1.07k, 2014/03/06
+\newcommand*{\PrepareSubsection}{%
+ \toks0 \expandafter{\etocthelinkednumber}%
+ \toks2 \expandafter{\expandafter\itshape\etocthelinkedname\strut}%
+ \toks4 \expandafter{\expandafter\itshape\etocthelinkedpage}%
+ \edef\toctablepiece{&\noexpand\makebox[1cm][c]{\the\toks0}%
+ \noexpand\parbox[t]{\dimexpr6cm-\tabcolsep\relax}
+ {\noexpand\sloppy\the\toks2}%
+ &\the\toks4 \noexpand\\}%
+}
+
+\begingroup
+\etocsetstyle{part}{}{}{\PreparePart \appendtotok\toctabletok\toctablepiece}{}
+
+\etocsetstyle{section}{}{}{\PrepareSection \appendtotok\toctabletok\toctablepiece}{}
+
+\etocsetstyle{subsection}{}{}{\PrepareSubsection\appendtotok\toctabletok\toctablepiece}{}
+
+\etocsettocstyle
+ {\toctabletok{\hypersetup{hidelinks}%
+ \begin{longtable}{|>{\bfseries}c|p{7cm}|r|}\hline
+ \multicolumn{3}{|c|}{\Large\bfseries\strut TABLE OF CONTENTS}%
+ \\\hline\hline}}
+ {\global\toctabletok\expandafter{\the\toctabletok\hline\end{longtable}}}
+\etocsettocdepth {subsection}
+\tableofcontents
+\the\toctabletok
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-6.tex new/doc/latex/etoc/etocsnippet-6.tex
--- old/doc/latex/etoc/etocsnippet-6.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-6.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,53 @@
+%% LaTeX2e file `etocsnippet-6.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begingroup
+\newcommand*{\DotsAndPage}
+{\nobreak\leaders\hbox{\bfseries\normalsize\hbox to .75ex {\hss.\hss}}%
+ \hfill\nobreak
+ \makebox[\rightskip][r]{\bfseries\normalsize\etocpage}\par}
+
+\etocsetstyle {part}
+{\parindent 0pt
+ \nobreak
+ \etocskipfirstprefix}
+{\pagebreak[3]\bigskip}
+{\large\rmfamily\bfseries\scshape\centering
+ \etocifnumbered{Part \etocnumber{} -- }{}\etocname\par}
+{}
+
+\etocsetstyle {section}
+{\leftskip 0pt \rightskip .75cm \parfillskip-\rightskip
+ \nobreak\medskip
+ \etocskipfirstprefix}
+{\leftskip 0pt \rightskip .75cm \parfillskip-\rightskip
+ \pagebreak[1]\smallskip}
+{\normalsize\rmfamily\bfseries\scshape
+ \etocnumber. \etocname\DotsAndPage }
+{\parfillskip 0pt plus 1fil\relax }
+
+\etocsetstyle {subsection}
+{\leftskip1cm\rightskip .75cm \parfillskip 0pt plus 1fil\relax
+ \nobreak\smallskip}
+{}
+{\footnotesize\sffamily\mdseries\itshape
+ \etocname{} (\etocnumber, p. \etocpage). }
+{\par\medskip}
+
+\etocsettagdepth {preamble} {none}
+%\etocsettagdepth {overview} {none}% not needed explicitely, keeps value
+%\etocsettagdepth {arbitrarily}{none}
+%\etocsettagdepth {examples} {none}
+%\etocsettagdepth {surprising} {none}
+\etocsettagdepth {linestyles} {subsection}
+\etocsettagdepth {globalcmds} {subsection}
+\etocsettagdepth {custom} {none}
+%\etocsettagdepth {tips} {none}
+%\etocsettagdepth {etocandworld}{none}
+%\etocsettagdepth {code} {none}
+
+\etocsettocstyle {\centering\LARGE\textsc{\contentsname}\par\nobreak\medskip}{}
+\etocsetnexttocdepth {subsection}
+\tableofcontents
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoc/etocsnippet-7.tex new/doc/latex/etoc/etocsnippet-7.tex
--- old/doc/latex/etoc/etocsnippet-7.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/etoc/etocsnippet-7.tex 2019-11-17 23:36:06.000000000 +0100
@@ -0,0 +1,32 @@
+%% LaTeX2e file `etocsnippet-7.tex'
+%% generated by the `filecontentsdef' environment
+%% from source `etoc' on 2019/11/17.
+%%
+\begingroup % we start a group to keep the style changes local
+\newlength{\tocleftmargin} \setlength{\tocleftmargin}{5cm}
+\newlength{\tocrightmargin} \setlength{\tocrightmargin}{1cm}
+
+\etocsetstyle{section} % will pretend to be a Chapter
+{\addvspace{1ex}\parfillskip0pt
+ \leftskip\tocleftmargin % (already done in title)
+ \rightskip\the\tocrightmargin plus 1fil
+ \parindent0pt\color{cyan}} % (already done)
+{\bfseries\LARGE\upshape\addvspace{1ex}\leavevmode}
+{\llap{Chapter\hspace{.5em}{\etocnumber}\hspace{.75cm}}\etocname
+ \hfill\makebox[-\tocrightmargin][l]{\makebox[0pt]{\etocpage}}\par}
+{}
+
+\etocsetstyle{subsection} % will pretend to be a Section
+{}
+{\mdseries\large\addvspace{.5ex}\leavevmode}
+{\llap{\etocnumber\hspace{.75cm}}\textit{\etocname}%
+ \hfill\makebox[-\tocrightmargin][l]{\makebox[0pt]{\etocpage}}\par}
+{}
+
+\def\tmptitle{My Beautiful Thesis}
+\etocsettocstyle{\color{cyan}\parindent0pt \leftskip\tocleftmargin
+ \leavevmode\leaders\hrule height 1pt\hfill\
+ \huge\textit{\tmptitle}\par}{\bigskip}
+
+\tableofcontents \ref{toc:overview}
+\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/etoc.doc.tlpobj new/tlpkg/tlpobj/etoc.doc.tlpobj
--- old/tlpkg/tlpobj/etoc.doc.tlpobj 2019-03-11 02:24:55.000000000 +0100
+++ new/tlpkg/tlpobj/etoc.doc.tlpobj 2019-11-18 01:54:58.000000000 +0100
@@ -1,9 +1,38 @@
name etoc.doc
category Package
-revision 50317
+revision 52842
shortdesc doc files of etoc
relocated 1
-docfiles size=292
+docfiles size=324
RELOC/doc/latex/etoc/README.md
RELOC/doc/latex/etoc/etoc-DE.pdf
+ RELOC/doc/latex/etoc/etoc-DE.tex
RELOC/doc/latex/etoc/etoc.pdf
+ RELOC/doc/latex/etoc/etoc.tex
+ RELOC/doc/latex/etoc/etocsnippet-10.tex
+ RELOC/doc/latex/etoc/etocsnippet-20-A.tex
+ RELOC/doc/latex/etoc/etocsnippet-20-B.tex
+ RELOC/doc/latex/etoc/etocsnippet-21-A.tex
+ RELOC/doc/latex/etoc/etocsnippet-21-B.tex
+ RELOC/doc/latex/etoc/etocsnippet-22-A.tex
+ RELOC/doc/latex/etoc/etocsnippet-23.tex
+ RELOC/doc/latex/etoc/etocsnippet-24.tex
+ RELOC/doc/latex/etoc/etocsnippet-25.tex
+ RELOC/doc/latex/etoc/etocsnippet-26.tex
+ RELOC/doc/latex/etoc/etocsnippet-27.tex
+ RELOC/doc/latex/etoc/etocsnippet-28.tex
+ RELOC/doc/latex/etoc/etocsnippet-29.tex
+ RELOC/doc/latex/etoc/etocsnippet-30-A.tex
+ RELOC/doc/latex/etoc/etocsnippet-30-B.tex
+ RELOC/doc/latex/etoc/etocsnippet-31.tex
+ RELOC/doc/latex/etoc/etocsnippet-32.tex
+ RELOC/doc/latex/etoc/etocsnippet-40.tex
+ RELOC/doc/latex/etoc/etocsnippet-46.tex
+ RELOC/doc/latex/etoc/etocsnippet-48.tex
+ RELOC/doc/latex/etoc/etocsnippet-5.tex
+ RELOC/doc/latex/etoc/etocsnippet-52-A.tex
+ RELOC/doc/latex/etoc/etocsnippet-52-B.tex
+ RELOC/doc/latex/etoc/etocsnippet-53.tex
+ RELOC/doc/latex/etoc/etocsnippet-54.tex
+ RELOC/doc/latex/etoc/etocsnippet-6.tex
+ RELOC/doc/latex/etoc/etocsnippet-7.tex
++++++ etoc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/etoc/etoc.sty new/tex/latex/etoc/etoc.sty
--- old/tex/latex/etoc/etoc.sty 2019-03-10 22:00:10.000000000 +0100
+++ new/tex/latex/etoc/etoc.sty 2019-11-17 23:36:06.000000000 +0100
@@ -23,10 +23,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{etoc}
- [2019/03/09 v1.09 Completely customisable TOCs (JFB)]
+ [2019/11/17 v1.09b Completely customisable TOCs (JFB)]
%%
%% Package: etoc
-%% Version: 1.09-2019/03/09
+%% Version: 1.09b-2019/11/17
%% License: LPPL 1.3c
%% Copyright (C) 2012-2019 Jean-Francois Burnol
%% <jfbu at free dot fr>
@@ -785,8 +785,8 @@
\let\tof@begingroup\@empty
\let\tof@endgroup \@empty
\@ifstar
- {\def\Etoc@aftertitlehook{}\Etoc@table@fcontents}
- {\let\Etoc@aftertitlehook\etocaftertitlehook\Etoc@table@fcontents}%
+ {\let\Etoc@aftertitlehook\@empty\Etoc@table@fcontents}
+ {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@table@fcontents}%
}% \etoctableofcontents
\let\tableofcontents\etoctableofcontents
\newcommand*\localtableofcontents{%
@@ -796,8 +796,8 @@
\let\tof@begingroup\@empty
\let\tof@endgroup \@empty
\@ifstar
- {\def\Etoc@aftertitlehook{}\Etoc@localtable@fcontents}
- {\let\Etoc@aftertitlehook\etocaftertitlehook\Etoc@localtable@fcontents}%
+ {\let\Etoc@aftertitlehook\@empty\Etoc@localtable@fcontents}
+ {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@localtable@fcontents}%
}% \localtableofcontents
\newcommand*\localtableofcontentswithrelativedepth[1]{%
\edef\Etoc@localtocdepth
@@ -1266,17 +1266,23 @@
\let\etocreportstylenomarks\etocbookstylenomarks
\def\etocmemoirtoctotocfmt #1#2{%
\def\Etoc@addsuitablecontentsline{\addcontentsline {toc}{#1}{#2}}%
- \renewcommand*\etocaftertitlehook{%
- \ifmem@em@starred@listof
- \else
- \phantomsection
- \aftergroup\Etoc@addsuitablecontentsline
- \fi}%
}
\def\etocmemoirstyle{%
\etocsettocstyle
- {\ensureonecol \par \begingroup \@nameuse {@tocmaketitle}
- \Etoc@aftertitlehook\let\Etoc@aftertitlehook\relax
+ {\ensureonecol \par \begingroup \phantomsection
+ \ifx\Etoc@aftertitlehook\@empty
+ \else
+ % non-starred variant
+ \ifmem@em@starred@listof
+ \else
+ \Etoc@addsuitablecontentsline
+ \fi
+ \fi
+ \@nameuse {@tocmaketitle} %<< space token here from memoir code
+ \ifx\Etoc@aftertitlehook\@empty
+ \else
+ \Etoc@aftertitlehook \let \Etoc@aftertitlehook \relax
+ \fi
\parskip \cftparskip \@nameuse {cfttocbeforelisthook}}
{\@nameuse {cfttocafterlisthook}\endgroup\restorefromonecol}}
\def\etocscrartclstyle{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/etoc.tlpobj new/tlpkg/tlpobj/etoc.tlpobj
--- old/tlpkg/tlpobj/etoc.tlpobj 2019-03-11 02:24:55.000000000 +0100
+++ new/tlpkg/tlpobj/etoc.tlpobj 2019-11-18 01:54:59.000000000 +0100
@@ -1,6 +1,6 @@
name etoc
category Package
-revision 50317
+revision 52842
shortdesc Completely customisable TOCs
relocated 1
longdesc The package gives the user complete control of how the entries
@@ -22,7 +22,7 @@
RELOC/tex/latex/etoc/etoc.sty
catalogue-also titletoc tocbasic
catalogue-ctan /macros/latex/contrib/etoc
-catalogue-date 2019-03-10 10:50:41 +0100
+catalogue-date 2019-11-17 14:31:10 +0100
catalogue-license lppl1.3c
catalogue-topics toc-etc etex
-catalogue-version 1.09
+catalogue-version 1.09b
++++++ etoolbox.doc.tar.xz ++++++
Binary files old/doc/latex/etoolbox/etoolbox.pdf and new/doc/latex/etoolbox/etoolbox.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/etoolbox/etoolbox.tex new/doc/latex/etoolbox/etoolbox.tex
--- old/doc/latex/etoolbox/etoolbox.tex 2018-08-19 23:24:51.000000000 +0200
+++ new/doc/latex/etoolbox/etoolbox.tex 2019-09-23 00:17:04.000000000 +0200
@@ -12,8 +12,8 @@
url={http://www.ctan.org/pkg/etoolbox/},
author={Philipp Lehman, Joseph Wright},
email={joseph.wright@morningstar2.co.uk},
- revision={v2.5e},
- date={2018/08/19}}
+ revision={v2.5h},
+ date={2019/09/21}}
\hypersetup{%
pdftitle={The etoolbox Package},
@@ -1297,6 +1297,15 @@
\begin{changelog}
+\begin{release}{2.5h}{2019-09-21}
+\item Add missing \cmd{gundef}
+\end{release}
+
+\begin{release}{2.5g}{2019-09-09}
+\item Update patching of \cmd{begin} and \cmd{end} in advance of \LaTeX{}
+ kernel changes
+\end{release}
+
\begin{release}{2.5f}{2018-08-18}
\item Fix issue with \cmd{ifdefempty}, \cmd{ifcsempty}, \cs{ifdefvoid}
and \cmd{ifcsvoid} when applied to macros expanding to space tokens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/etoolbox.doc.tlpobj new/tlpkg/tlpobj/etoolbox.doc.tlpobj
--- old/tlpkg/tlpobj/etoolbox.doc.tlpobj 2019-02-28 03:35:51.000000000 +0100
+++ new/tlpkg/tlpobj/etoolbox.doc.tlpobj 2019-09-23 01:54:08.000000000 +0200
@@ -1,6 +1,6 @@
name etoolbox.doc
category Package
-revision 48436
+revision 52153
shortdesc doc files of etoolbox
relocated 1
docfiles size=75
++++++ etoolbox.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/etoolbox/etoolbox.def new/tex/latex/etoolbox/etoolbox.def
--- old/tex/latex/etoolbox/etoolbox.def 2018-08-19 23:24:51.000000000 +0200
+++ new/tex/latex/etoolbox/etoolbox.def 2019-09-23 00:17:04.000000000 +0200
@@ -1,5 +1,5 @@
\ProvidesFile{etoolbox.def}
- [2018/08/19 v2.5f etoolbox debug messages (JAW)]
+ [2019/09/21 v2.5h etoolbox debug messages (JAW)]
\begingroup
\makeatletter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/etoolbox/etoolbox.sty new/tex/latex/etoolbox/etoolbox.sty
--- old/tex/latex/etoolbox/etoolbox.sty 2018-08-19 23:24:51.000000000 +0200
+++ new/tex/latex/etoolbox/etoolbox.sty 2019-09-23 00:17:04.000000000 +0200
@@ -1,5 +1,5 @@
% Copyright (c) 2007-2011 Philipp Lehman.
-% (c) 2015-2018 Joseph Wright
+% (c) 2015-2019 Joseph Wright
%
% Permission is granted to copy, distribute and/or modify this
% software under the terms of the LaTeX Project Public License
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{etoolbox}
- [2018/08/19 v2.5f e-TeX tools for LaTeX (JAW)]
+ [2019/09/21 v2.5h e-TeX tools for LaTeX (JAW)]
\begingroup
\@ifundefined{eTeXversion}
@@ -268,8 +268,8 @@
{\@secondoftwo}
{\ifdefmacro{#1}
{\ifdefparam{#1}
- {\@secondoftwo}
- {\etb@ifdefempty{#1}}}
+ {\@secondoftwo}
+ {\etb@ifdefempty{#1}}}
{\@secondoftwo}}}
\def\etb@ifdefempty#1{%
@@ -295,8 +295,8 @@
{\@firstoftwo}
{\ifdefmacro{#1}
{\ifdefparam{#1}
- {\@secondoftwo}
- {\etb@ifdefempty{#1}}}
+ {\@secondoftwo}
+ {\etb@ifdefempty{#1}}}
{\@secondoftwo}}}
% {<csname>}{<true>}{<false>}
@@ -342,14 +342,14 @@
\ifdefmacro{#1}
{\ifdefmacro{#2}
{\begingroup
- \edef\etb@tempa{\expandafter\strip@prefix\meaning#1}%
- \edef\etb@tempb{\expandafter\strip@prefix\meaning#2}%
- \ifx\etb@tempa\etb@tempb
- \aftergroup\@firstoftwo
- \else
- \aftergroup\@secondoftwo
- \fi
- \endgroup}
+ \edef\etb@tempa{\expandafter\strip@prefix\meaning#1}%
+ \edef\etb@tempb{\expandafter\strip@prefix\meaning#2}%
+ \ifx\etb@tempa\etb@tempb
+ \aftergroup\@firstoftwo
+ \else
+ \aftergroup\@secondoftwo
+ \fi
+ \endgroup}
{\@secondoftwo}}
{\@secondoftwo}}
@@ -362,7 +362,7 @@
{\@secondoftwo}
{\expandafter\ifdefstrequal
\csname#1\expandafter\endcsname
- \csname#2\endcsname}}}
+ \csname#2\endcsname}}}
% {<cstoken>}{<string>}{<true>}{<false>}
@@ -888,6 +888,7 @@
% {<cstoken>}
\newrobustcmd{\undef}[1]{\let#1\etb@undefined}
+\newrobustcmd{\gundef}[1]{\global\let#1\etb@undefined}
% {<csname>}
@@ -1520,7 +1521,7 @@
{\noexpand\etb@listitem\noexpand\do{####1}%
\expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- \noexpand\@nil}}}%
+ \noexpand\@nil}}}%
\@tempa}
\long\def\etb@lst@@notoken@do#1{%
@@ -1558,7 +1559,7 @@
{\noexpand\etb@listitem{####1}{####2}%
\expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- {####1}\noexpand\@nil}}}%
+ {####1}\noexpand\@nil}}}%
\@tempa}
\long\def\etb@lst@@notoken@arg#1#2{%
@@ -1751,20 +1752,41 @@
\newrobustcmd{\AtBeginEnvironment}[1]{%
\csgappto{@begin@#1@hook}}
-\patchcmd\begin
- {\csname #1\endcsname}
- {\csuse{@begin@#1@hook}%
- \csname #1\endcsname}
- {}
- {\etb@warning{%
- Patching '\string\begin' failed!\MessageBreak
- '\string\AtBeginEnvironment' will not work\@gobble}}
+\ifcsname begin \endcsname
+ \expandafter\patchcmd\csname begin \endcsname
+ {\csname #1\endcsname}
+ {\csuse{@begin@#1@hook}%
+ \csname #1\endcsname}
+ {}
+ {\etb@warning{%
+ Patching '\string\begin' failed!\MessageBreak
+ '\string\AtBeginEnvironment' will not work\@gobble}}
+\else
+ \patchcmd\begin
+ {\csname #1\endcsname}
+ {\csuse{@begin@#1@hook}%
+ \csname #1\endcsname}
+ {}
+ {\etb@warning{%
+ Patching '\string\begin' failed!\MessageBreak
+ '\string\AtBeginEnvironment' will not work\@gobble}}
+\fi
% {<environment>}{<code>}
\newrobustcmd{\AtEndEnvironment}[1]{%
\csgappto{@end@#1@hook}}
+\ifcsname end \endcsname
+\expandafter\patchcmd\csname end \endcsname
+ {\csname end#1\endcsname}
+ {\csuse{@end@#1@hook}%
+ \csname end#1\endcsname}
+ {}
+ {\etb@warning{%
+ Patching '\string\end' failed!\MessageBreak
+ '\string\AtEndEnvironment' will not work\@gobble}}
+\else
\patchcmd\end
{\csname end#1\endcsname}
{\csuse{@end@#1@hook}%
@@ -1773,31 +1795,54 @@
{\etb@warning{%
Patching '\string\end' failed!\MessageBreak
'\string\AtEndEnvironment' will not work\@gobble}}
+\fi
% {<environment>}{<code>}
\newrobustcmd{\BeforeBeginEnvironment}[1]{%
\csgappto{@beforebegin@#1@hook}}
-\pretocmd\begin
- {\csuse{@beforebegin@#1@hook}}
- {}
- {\etb@warning{%
- Patching '\string\begin' failed!\MessageBreak
- '\string\BeforeBeginEnvironment' will not work\@gobble}}
+\ifcsname begin \endcsname
+ \expandafter\pretocmd\csname begin \endcsname
+ {\csuse{@beforebegin@#1@hook}}
+ {}
+ {\etb@warning{%
+ Patching '\string\begin' failed!\MessageBreak
+ '\string\BeforeBeginEnvironment' will not work\@gobble}}
+\else
+ \pretocmd\begin
+ {\csuse{@beforebegin@#1@hook}}
+ {}
+ {\etb@warning{%
+ Patching '\string\begin' failed!\MessageBreak
+ '\string\BeforeBeginEnvironment' will not work\@gobble}}
+\fi
% {<environment>}{<code>}
\newrobustcmd{\AfterEndEnvironment}[1]{%
\csgappto{@afterend@#1@hook}}
-\patchcmd\end
- {\if@ignore}
- {\csuse{@afterend@#1@hook}%
- \if@ignore}
- {}
- {\etb@warning{%
- Patching '\string\end' failed!\MessageBreak
- '\string\AfterEndEnvironment' will not work\@gobble}}
+\let\if@ignore\relax
+\ifcsname end \endcsname
+ \expandafter\patchcmd\csname end \endcsname
+ {\if@ignore}
+ {\csuse{@afterend@#1@hook}%
+ \if@ignore}
+ {}
+ {\etb@warning{%
+ Patching '\string\end' failed!\MessageBreak
+ '\string\AfterEndEnvironment' will not work\@gobble}}
+\else
+ \patchcmd\end
+ {\if@ignore}
+ {\csuse{@afterend@#1@hook}%
+ \if@ignore}
+ {}
+ {\etb@warning{%
+ Patching '\string\end' failed!\MessageBreak
+ '\string\AfterEndEnvironment' will not work\@gobble}}
+\fi
+\let\if@ignore\iffalse
\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/etoolbox.tlpobj new/tlpkg/tlpobj/etoolbox.tlpobj
--- old/tlpkg/tlpobj/etoolbox.tlpobj 2019-02-28 03:35:51.000000000 +0100
+++ new/tlpkg/tlpobj/etoolbox.tlpobj 2019-09-23 01:54:08.000000000 +0200
@@ -1,6 +1,6 @@
name etoolbox
category Package
-revision 48436
+revision 52153
shortdesc e-TeX tools for LaTeX
relocated 1
longdesc The package is a toolbox of programming facilities geared
@@ -13,13 +13,13 @@
longdesc alternative ways of implementing some LaTeX kernel commands;
longdesc nevertheless, the package will not modify any part of the LaTeX
longdesc kernel.
-runfiles size=12
+runfiles size=13
RELOC/tex/latex/etoolbox/etoolbox.def
RELOC/tex/latex/etoolbox/etoolbox.sty
catalogue-contact-bugs https://github.com/josephwright/etoolbox/issues
catalogue-contact-repository https://github.com/josephwright/etoolbox/
catalogue-ctan /macros/latex/contrib/etoolbox
-catalogue-date 2018-08-19 12:54:37 +0200
+catalogue-date 2019-09-22 00:04:44 +0200
catalogue-license lppl1.3c
catalogue-topics macro-supp etex
-catalogue-version 2.5f
+catalogue-version 2.5h
++++++ europecv.doc.tar.xz ++++++
++++ 2006 lines of diff (skipped)
++++++ europecv.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvbg.def new/tex/latex/europecv/ecvbg.def
--- old/tex/latex/europecv/ecvbg.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvbg.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,22 +1,23 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation completed, 01/03/2020
\ProvidesFile{ecvbg.def}[europecv Bulgarian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Лична информация}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
-\def\ecv@namekey{\ecv@utf{Фамилия (ии), Собствено (и) име (на)}}
+\def\ecv@datekey{\ecv@utf{Актуализиран до}}
+\def\ecv@namekey{\ecv@utf{Собствено (и) име (на)~/ Фамилия (или)}}
\def\ecv@addresskey{\ecv@utf{Адрес}}
\def\ecv@telkey{\ecv@utf{Телефон}}
-\def\ecv@faxkey{\ecv@utf{Fax}}
+\def\ecv@faxkey{\ecv@utf{факс}}
\def\ecv@mobilekey{\ecv@utf{Мобилен телефон}}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
-\def\ecv@emailkey{\ecv@utf{E-mail}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@officekey{\ecv@utf{офис}}
+\def\ecv@emailkey{\ecv@utf{Е-мейл}}
+\def\ecv@professionalkey{\ecv@utf{Професионален имейл}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
-\def\ecv@homepagekey{\ecv@utf{Home page}}
+\def\ecv@homepagekey{\ecv@utf{Начална страница}}
\def\ecv@nationalitykey{\ecv@utf{Националност}}
\def\ecv@birthkey{\ecv@utf{Дата на раждане}}
\def\ecv@genderkey{\ecv@utf{Пол}}
@@ -39,6 +40,7 @@
\def\ecv@cefindepkey{\ecv@utf{Ниво на владеене - самостоятелно}}
\def\ecv@cefprofkey{\ecv@utf{Ниво на владеене - свободно}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{а\ecv@kern в\ecv@kern т\ecv@kern о\ecv@kern б\ecv@kern и\ecv@kern о\ecv@kern г\ecv@kern р\ecv@kern а\ecv@kern ф\ecv@kern и\ecv@kern я}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvca.def new/tex/latex/europecv/ecvca.def
--- old/tex/latex/europecv/ecvca.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvca.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,40 +1,41 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation completed, 01/03/2020
\ProvidesFile{ecvca.def}[europecv Catalan definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Informaci\'o personal}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
-\def\ecv@namekey{\ecv@utf{Nom}}
+\def\ecv@datekey{\ecv@utf{Actualitzat fins avui}}
+\def\ecv@namekey{\ecv@utf{Nom~/ Cognoms}}
\def\ecv@addresskey{\ecv@utf{Adre\c{c}a }}
\def\ecv@faxkey{\ecv@utf{Fax}}
\def\ecv@telkey{\ecv@utf{Tel\`efon}}
\def\ecv@mobilekey{\ecv@utf{M\`obil: }}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
+\def\ecv@officekey{\ecv@utf{Oficina}}
\def\ecv@emailkey{\ecv@utf{Correu electr\`onic}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@professionalkey{\ecv@utf{correu electrònic professional}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
\def\ecv@nationalitykey{\ecv@utf{Nacionalitat}}
\def\ecv@birthkey{\ecv@utf{Data de naixement}}
-\def\ecv@genderkey{\ecv@utf{Gender}} % To be translated
+\def\ecv@genderkey{\ecv@utf{Gènere}}
% Footer
\def\ecv@pagekey{\ecv@utf{P\`agina}}
\def\ecv@cvofkey{\ecv@utf{Curriculum vit\ae\ de}}
% Language table
-\def\ecv@mothertonguekey{\ecv@utf{Mother tongue(s)}} % To be translated
-\def\ecv@assesskey{\ecv@utf{Self-assessment}} % To be translated
-\def\ecv@levelkey{\ecv@utf{European level}} % To be translated
-\def\ecv@understandkey{\ecv@utf{Understanding}} % To be translated
-\def\ecv@speakkey{\ecv@utf{Speaking}} % To be translated
-\def\ecv@writekey{\ecv@utf{Writing}} % To be translated
-\def\ecv@listenkey{\ecv@utf{Listening}} % To be translated
-\def\ecv@readkey{\ecv@utf{Reading}} % To be translated
-\def\ecv@interactkey{\ecv@utf{Spoken interaction}} % To be translated
-\def\ecv@productkey{\ecv@utf{Spoken production}} % To be translated
-\def\ecv@langfooterkey{\ecv@utf{Common European Framework of Reference (CEF) level}} % To be translated
-\def\ecv@cefbasickey{\ecv@utf{Basic user}} % To be translated
-\def\ecv@cefindepkey{\ecv@utf{Independent user}} % To be translated
-\def\ecv@cefprofkey{\ecv@utf{Proficient user}} % To be translated
+\def\ecv@mothertonguekey{\ecv@utf{Llengua materna}}
+\def\ecv@assesskey{\ecv@utf{Autoavaluació}}
+\def\ecv@levelkey{\ecv@utf{A nivell europeu}}
+\def\ecv@understandkey{\ecv@utf{Enteniment}}
+\def\ecv@speakkey{\ecv@utf{Parlant}}
+\def\ecv@writekey{\ecv@utf{Escriptura}}
+\def\ecv@listenkey{\ecv@utf{Escoltant}}
+\def\ecv@readkey{\ecv@utf{Lectura}}
+\def\ecv@interactkey{\ecv@utf{Interacció oral}}
+\def\ecv@productkey{\ecv@utf{Producció parlada}}
+\def\ecv@langfooterkey{\ecv@utf{Nivell Marc europeu comú de referència \ecv@upshape{(}CEF\ecv@upshape{)}}}
+\def\ecv@cefbasickey{\ecv@utf{Usuari bàsic}}
+\def\ecv@cefindepkey{\ecv@utf{Usuari independent}}
+\def\ecv@cefprofkey{\ecv@utf{Usuari competent}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvcs.def new/tex/latex/europecv/ecvcs.def
--- old/tex/latex/europecv/ecvcs.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvcs.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,19 +1,20 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation finished, 01/03/2020
\ProvidesFile{ecvcs.def}[europecv Czech definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Osobn{\'\i} {\'u}daje}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
-\def\ecv@namekey{\ecv@utf{Jm{\'e}no / P{\v r}{\'\i}jmen{\'\i}}}
+\def\ecv@datekey{\ecv@utf{Aktualizováno na}}
+\def\ecv@namekey{\ecv@utf{Jm{\'e}no~/ P{\v r}{\'\i}jmen{\'\i}}}
\def\ecv@addresskey{\ecv@utf{Adresa}}
\def\ecv@telkey{\ecv@utf{Telefon}}
\def\ecv@faxkey{\ecv@utf{Fax}}
\def\ecv@mobilekey{\ecv@utf{Mobiln{\'\i} telefon}}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
+\def\ecv@officekey{\ecv@utf{Kancelář}}
\def\ecv@emailkey{\ecv@utf{E-mail}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@professionalkey{\ecv@utf{Profesionální e-mail}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -39,8 +40,8 @@
\def\ecv@cefindepkey{\ecv@utf{Samostatn{\'y} u{\v z}ivatel}}
\def\ecv@cefprofkey{\ecv@utf{Zku{\v s}en{\'y} u{\v z}ivatel}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{{\v z}\ecv@kern i\ecv@kern v\ecv@kern o\ecv@kern
t\ecv@kern o\ecv@kern p\ecv@kern i\ecv@kern s}}}
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvda.def new/tex/latex/europecv/ecvda.def
--- old/tex/latex/europecv/ecvda.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvda.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,19 +1,20 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation finished, 01/03/2020
\ProvidesFile{ecvda.def}[europecv Danish definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Personlige oplysninger}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
-\def\ecv@namekey{\ecv@utf{Efternavn(e), fornavn(e) og mellemnavn(e)}}
+\def\ecv@datekey{\ecv@utf{Opdateret til}}
+\def\ecv@namekey{\ecv@utf{Navn~/ Efternavn}}
\def\ecv@addresskey{\ecv@utf{Adresse(r)}}
\def\ecv@telkey{\ecv@utf{Telefon}}
\def\ecv@faxkey{\ecv@utf{Fax}}
\def\ecv@mobilekey{\ecv@utf{Mobil}}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
+\def\ecv@officekey{\ecv@utf{Kontor}}
\def\ecv@emailkey{\ecv@utf{E-mail-adresse(r)}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@professionalkey{\ecv@utf{Professionel e-mail}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,13 +35,14 @@
\def\ecv@readkey{\ecv@utf{L\ae se}}
\def\ecv@interactkey{\ecv@utf{Samtale}}
\def\ecv@productkey{\ecv@utf{Redeg\o re}}
-\def\ecv@langfooterkey{\ecv@utf{Europ\ae iske Referencerammes (CEF) niveau}}
+\def\ecv@langfooterkey{\ecv@utf{Europ\ae iske Referencerammes \ecv@upshape{(}CEF\ecv@upshape{)} niveau}}
\def\ecv@cefbasickey{\ecv@utf{Sprogbruger med basiskundskaber}}
\def\ecv@cefindepkey{\ecv@utf{Selvst\ae ndig sprogbruger}}
\def\ecv@cefprofkey{\ecv@utf{Kompetent sprogbruger}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern \ae\ecv@kern i\ecv@kern s\ecv@kern k}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{c\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern
i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern
i\ecv@kern t\ecv@kern a\ecv@kern e}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvde.def new/tex/latex/europecv/ecvde.def
--- old/tex/latex/europecv/ecvde.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvde.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvde.def}[europecv German definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Angaben zur Person}}
\def\ecv@datekey{\ecv@utf{Aktualisiert am}}
-\def\ecv@namekey{\ecv@utf{Nachname(n) / Vorname(n)}}
+\def\ecv@namekey{\ecv@utf{Nachname(n)~/ Vorname(n)}}
\def\ecv@addresskey{\ecv@utf{Adresse(n)}}
\def\ecv@telkey{\ecv@utf{Telefon}}
\def\ecv@mobilekey{\ecv@utf{Mobil}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{E-Mail}}
\def\ecv@professionalkey{\ecv@utf{E-Mail (gesch\"aftlich)}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -39,7 +40,8 @@
\def\ecv@cefindepkey{\ecv@utf{Selbst\"andige Sprachverwendung}}
\def\ecv@cefprofkey{\ecv@utf{Kompetente Sprachverwendung}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{L\ecv@kern e\ecv@kern b\ecv@kern e\ecv@kern
n\ecv@kern s\ecv@kern l\ecv@kern a\ecv@kern u\ecv@kern f\ecv@kern}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecven.def new/tex/latex/europecv/ecven.def
--- old/tex/latex/europecv/ecven.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecven.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecven.def}[europecv English definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Personal information}}
\def\ecv@datekey{\ecv@utf{Updated \\}}
-\def\ecv@namekey{\ecv@utf{Surname / First name}}
+\def\ecv@namekey{\ecv@utf{Name~/ Surname}}
\def\ecv@addresskey{\ecv@utf{Address}}
\def\ecv@telkey{\ecv@utf{Telephone}}
\def\ecv@mobilekey{\ecv@utf{Mobile}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{Personal Email}}
\def\ecv@professionalkey{\ecv@utf{Professional Email}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,13 +35,14 @@
\def\ecv@readkey{\ecv@utf{Reading}}
\def\ecv@interactkey{\ecv@utf{Spoken interaction}}
\def\ecv@productkey{\ecv@utf{Spoken production}}
-\def\ecv@langfooterkey{\ecv@utf{Common European Framework of Reference (CEF) level}}
+\def\ecv@langfooterkey{\ecv@utf{Common European Framework of Reference \ecv@upshape{(}CEF\ecv@upshape{)} level}}
\def\ecv@cefbasickey{\ecv@utf{Basic user}}
\def\ecv@cefindepkey{\ecv@utf{Independent user}}
\def\ecv@cefprofkey{\ecv@utf{Proficient user}}
-\providecommand*{\ecvtitle}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]
+\providecommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\providecommand*{\ecvtitle}{\ecvbranding\ecv@utf{
\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern
i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern V\ecv@kern
-i\ecv@kern t\ecv@kern a\ecv@kern e}}}
\ No newline at end of file
+i\ecv@kern t\ecv@kern a\ecv@kern e}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecves.def new/tex/latex/europecv/ecves.def
--- old/tex/latex/europecv/ecves.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecves.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecves.def}[europecv Spanish definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Informaci\'on personal}}
\def\ecv@datekey{\ecv@utf{Actualizado a}}
-\def\ecv@namekey{\ecv@utf{Apellido(s) / Nombre(s)}}
+\def\ecv@namekey{\ecv@utf{Nombre(s)~/ Apellido(s)}}
\def\ecv@addresskey{\ecv@utf{Direcci\'on(es)}}
\def\ecv@telkey{\ecv@utf{Tel\'efono(s)}}
\def\ecv@mobilekey{\ecv@utf{M\'ovil}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{Correo(s) electr\'onico(s)}}
\def\ecv@professionalkey{\ecv@utf{Correo(s) electr\'onico(s)} de trabajo}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,12 +35,11 @@
\def\ecv@readkey{\ecv@utf{Comprensi\'on de lectura}}
\def\ecv@interactkey{\ecv@utf{Interacci\'on oral}}
\def\ecv@productkey{\ecv@utf{Expresi\'on oral}}
-\def\ecv@langfooterkey{\ecv@utf{Nivel del Marco Europeo Com\'un de Referencia (MECR)}}
+\def\ecv@langfooterkey{\ecv@utf{Nivel del Marco Europeo Com\'un de Referencia \ecv@upshape{(}MECR\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Usuario b\'asico}}
\def\ecv@cefindepkey{\ecv@utf{Usuario independiente}}
\def\ecv@cefprofkey{\ecv@utf{Usuario competente}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern i\ecv@kern t\ecv@kern a\ecv@kern e}\\[5pt]
-\Large\textbf{E\ecv@kern u\ecv@kern
+\renewcommand*{\ecvbranding}{\\[5pt]\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}}}
-
+\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern i\ecv@kern t\ecv@kern a\ecv@kern e}}\ecvbranding}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvet.def new/tex/latex/europecv/ecvet.def
--- old/tex/latex/europecv/ecvet.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvet.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvet.def}[europecv Estonian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Isikuandmed}}
\def\ecv@datekey{\ecv@utf{Ajakohastatud}}
-\def\ecv@namekey{\ecv@utf{Perekonnanimi/eesnimi}}
+\def\ecv@namekey{\ecv@utf{Eesnimi~/ Perekonnanimi/}}
\def\ecv@addresskey{\ecv@utf{Aadress(id)}}
\def\ecv@telkey{\ecv@utf{Telefon(id)}}
\def\ecv@mobilekey{\ecv@utf{Mobiiltelefon}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{E-post(id)}}
\def\ecv@professionalkey{\ecv@utf{Töö E-post(id)}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -39,8 +40,9 @@
\def\ecv@cefindepkey{\ecv@utf{Iseseisev keelekasutus}}
\def\ecv@cefprofkey{\ecv@utf{Vaba keelekasutus}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s\ecv@kern i}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{c\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern
i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern
i\ecv@kern t\ecv@kern a\ecv@kern e}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvfi.def new/tex/latex/europecv/ecvfi.def
--- old/tex/latex/europecv/ecvfi.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvfi.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvfi.def}[europecv Finnish definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Henkil\"otiedot}}
\def\ecv@datekey{\ecv@utf{Päivitetty}}
-\def\ecv@namekey{\ecv@utf{Suku-~ja etunimet}}
+\def\ecv@namekey{\ecv@utf{Etunimet~/ Suku-~ja}}
\def\ecv@addresskey{\ecv@utf{Osoitteet}}
\def\ecv@telkey{\ecv@utf{Puhelinnumero(t)}}
\def\ecv@mobilekey{\ecv@utf{Matkapuhelin}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{S\"ahk\"oposti(t)}}
\def\ecv@professionalkey{\ecv@utf{Ammatillinen Sähköposti}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -39,8 +40,9 @@
\def\ecv@cefindepkey{\ecv@utf{Itsen\"aisen kielenk\"aytt\"aj\"an kielitaito}}
\def\ecv@cefprofkey{\ecv@utf{Taitavan kielenk\"aytt\"aj\"an kielitaito}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s\ecv@kern}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{a\ecv@kern n\ecv@kern s\ecv@kern i\ecv@kern
o\ecv@kern l\ecv@kern u\ecv@kern e\ecv@kern t\ecv@kern t\ecv@kern
e\ecv@kern l\ecv@kern o\ecv@kern m\ecv@kern a\ecv@kern l\ecv@kern
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvfr.def new/tex/latex/europecv/ecvfr.def
--- old/tex/latex/europecv/ecvfr.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvfr.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvfr.def}[europecv French definitions]
% Informations personnelles
\def\ecv@infosectionkey{\ecv@utf{Informations personnelles}}
\def\ecv@datekey{\ecv@utf{Mis à jour pour}}
-\def\ecv@namekey{\ecv@utf{Nom(s) / Pr\'enom(s)}}
+\def\ecv@namekey{\ecv@utf{Pr\'enom(s)/ Nom(s)}}
\def\ecv@addresskey{\ecv@utf{Adresse(s)}}
\def\ecv@telkey{\ecv@utf{T\'el\'ephone(s)}}
\def\ecv@mobilekey{\ecv@utf{Portable}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{Courrier(s) \'electronique(s)}}
\def\ecv@professionalkey{\ecv@utf{E-mail Professionnel}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,11 +35,12 @@
\def\ecv@readkey{\ecv@utf{Lire}}
\def\ecv@interactkey{\ecv@utf{Prendre part \`a une conversation}}
\def\ecv@productkey{\ecv@utf{S'exprimer oralement en continu}}
-\def\ecv@langfooterkey{\ecv@utf{Niveau du Cadre europ\'een commun de r\'ef\'erence (CECR)}}
+\def\ecv@langfooterkey{\ecv@utf{Niveau du Cadre europ\'een commun de r\'ef\'erence \ecv@upshape{(}CECR\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Utilisateur \'el\'ementaire}}
\def\ecv@cefindepkey{\ecv@utf{Utilisateur Ind\'ependant}}
\def\ecv@cefprofkey{\ecv@utf{Utilisateur exp\'eriment\'e}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern i\ecv@kern t\ecv@kern a\ecv@kern e}\\[5pt]
-\Large\textbf{E\ecv@kern u\ecv@kern
+\renewcommand*{\ecvbranding}{\\[5pt]\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}}}
+\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern i\ecv@kern t\ecv@kern a\ecv@kern e
+}}\ecvbranding}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvgl.def new/tex/latex/europecv/ecvgl.def
--- old/tex/latex/europecv/ecvgl.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvgl.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvgl.def}[europecv Galician definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Informaci\'on persoal}}
\def\ecv@datekey{\ecv@utf{Actualizado a}}
-\def\ecv@namekey{\ecv@utf{Apelidos / Nome}}
+\def\ecv@namekey{\ecv@utf{Nome~/ Apelidos}}
\def\ecv@addresskey{\ecv@utf{Direcci\'on}}
\def\ecv@faxkey{\ecv@utf{Fax}}
\def\ecv@telkey{\ecv@utf{Tel\'efono}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{Correo electr\'onico}}
\def\ecv@professionalkey{\ecv@utf{Correo profesional}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,12 +35,12 @@
\def\ecv@readkey{\ecv@utf{Comprensi\'on lectora}}
\def\ecv@interactkey{\ecv@utf{Interacci\'on oral}}
\def\ecv@productkey{\ecv@utf{Expresión oral}}
-\def\ecv@langfooterkey{\ecv@utf{Nivel do Marco Europeo Com\'un de Referencia (MECR)}}
+\def\ecv@langfooterkey{\ecv@utf{Nivel do Marco Europeo Com\'un de Referencia \ecv@upshape{(}MECR\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Usuario b\'asico}}
\def\ecv@cefindepkey{\ecv@utf{Usuario \mbox{independente}}}
\def\ecv@cefprofkey{\ecv@utf{Usuario \mbox{competente}}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern i\ecv@kern t\ecv@kern a\ecv@kern e}\\[5pt]
-\Large\textbf{E\ecv@kern u\ecv@kern
+\renewcommand*{\ecvbranding}{\\[5pt]\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}}}
-
+\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern v\ecv@kern i\ecv@kern t\ecv@kern a\ecv@kern e
+\ecvbranding}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvgr.def new/tex/latex/europecv/ecvgr.def
--- old/tex/latex/europecv/ecvgr.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvgr.def 2020-01-03 23:16:04.000000000 +0100
@@ -3,12 +3,12 @@
% WARNING: Requires the babel package loaded with options
% [english,greek] (at least) for \foreignlanguage
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvgr.def}[europecv Greek definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{\foreignlanguage{greek}{Προσωπικές πληροφορίες}}}
\def\ecv@datekey{\ecv@utf{\foreignlanguage{greek}{Επώνυμο (-α)~/ Όνομα (-τα)}}}
-\def\ecv@namekey{\ecv@utf{\foreignlanguage{greek}{Επώνυμο (-α)~/ Όνομα (-τα)}}}
+\def\ecv@namekey{\ecv@utf{\foreignlanguage{greek}{Όνομα (-α) ~/ Επώνυμο (-α)}}}
\def\ecv@addresskey{\ecv@utf{\foreignlanguage{greek}{Διεύθυνση~(-εις)}}}
\def\ecv@telkey{\ecv@utf{\foreignlanguage{greek}{Τηλέφωνο~(-α)}}}
\def\ecv@faxkey{\ecv@utf{Fax}}
@@ -17,6 +17,7 @@
\def\ecv@emailkey{\ecv@utf{\foreignlanguage{greek}{Ηλεκτρονικό ταχυδρομείο}}}
\def\ecv@professionalkey{\ecv@utf{\foreignlanguage{greek}{Επαγγελματικό μήνυμα ηλεκτρονικού ταχυδρομείου}}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -42,5 +43,6 @@
\def\ecv@cefindepkey{\ecv@utf{\foreignlanguage{greek}{Ανεξάρτητος χρήστης}}}
\def\ecv@cefprofkey{\ecv@utf{\foreignlanguage{greek}{Αυτάρκης χρήστης}}}
+\renewcommand*\ecvbranding{\ecv@utf{\Large\textbf{\foreignlanguage{english}{Europass}}}}
\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{\foreignlanguage{greek}{Β\ecv@kern ι\ecv@kern ο\ecv@kern γ\ecv@kern ρ\ecv@kern α\ecv@kern φ\ecv@kern ι\ecv@kern κ\ecv@kern ό}}\\[5pt]
-\Large\textbf{\foreignlanguage{greek}{σ\ecv@kern η\ecv@kern μ\ecv@kern ε\ecv@kern ί\ecv@kern ω\ecv@kern μ\ecv@kern α} \foreignlanguage{english}{Europass}}}}
+\Large\textbf{\foreignlanguage{greek}{σ\ecv@kern η\ecv@kern μ\ecv@kern ε\ecv@kern ί\ecv@kern ω\ecv@kern μ\ecv@kern α}}}\ecvbranding}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvhu.def new/tex/latex/europecv/ecvhu.def
--- old/tex/latex/europecv/ecvhu.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvhu.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,19 +1,20 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation finished, 01/03/2020
\ProvidesFile{ecvhu.def}[europecv Hungarian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Szem\'elyi adatok}}
-\def\ecv@namekey{\ecv@utf{Vezet\'ekn\'ev/Ut\'on\'ev}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
+\def\ecv@namekey{\ecv@utf{Név~/ Vezetéknév}}
+\def\ecv@datekey{\ecv@utf{Frissítve:}}
\def\ecv@addresskey{\ecv@utf{C\'\i m}}
\def\ecv@telkey{\ecv@utf{Telefonsz\'am}}
\def\ecv@mobilekey{\ecv@utf{Mobil}}
\def\ecv@faxkey{\ecv@utf{Fax}}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
+\def\ecv@officekey{\ecv@utf{Iroda}}
\def\ecv@emailkey{\ecv@utf{E-mail}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@professionalkey{\ecv@utf{Professzionális e-mail}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,13 +35,13 @@
\def\ecv@readkey{\ecv@utf{Olvas\'as}}
\def\ecv@interactkey{\ecv@utf{T\'arsalg\'as}}
\def\ecv@productkey{\ecv@utf{Folyamatos besz\'ed}}
-\def\ecv@langfooterkey{\ecv@utf{K\"oz\"os Eur\'opai Referenciakeret (KER) szintjei}}
+\def\ecv@langfooterkey{\ecv@utf{K\"oz\"os Eur\'opai Referenciakeret \ecv@upshape{(}KER\ecv@upshape{)} szintjei}}
\def\ecv@cefbasickey{\ecv@utf{alapszint\H u nyelvhaszn\'al\'o}}
\def\ecv@cefindepkey{\ecv@utf{\"on\'all\'o nyelvhaszn\'al\'o}}
\def\ecv@cefprofkey{\ecv@utf{mesterfok\'u nyelvhaszn\'al\'o}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{\"O\ecv@kern n\ecv@kern \'e\ecv@kern l\ecv@kern
e\ecv@kern t\ecv@kern r\ecv@kern a\ecv@kern j\ecv@kern z}}}
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvis.def new/tex/latex/europecv/ecvis.def
--- old/tex/latex/europecv/ecvis.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvis.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,22 +1,23 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation completed, 01/03/2020
\ProvidesFile{ecvis.def}[europecv Icelandic definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Pers{\'o}nulegar uppl{\'y}singar}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
-\def\ecv@namekey{\ecv@utf{Nafn}}
+\def\ecv@datekey{\ecv@utf{Uppfært til}}
+\def\ecv@namekey{\ecv@utf{Nafn~/ Eftirnafn}}
\def\ecv@addresskey{\ecv@utf{Heimilisfang/(-f{\"o}ng)}}
\def\ecv@telkey{\ecv@utf{S{\'\i}mi/(-ar)}}
\def\ecv@mobilekey{\ecv@utf{Fars{\'\i}mi}}
\def\ecv@faxkey{\ecv@utf{Fax}}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
+\def\ecv@officekey{\ecv@utf{Skrifstofu}}
\def\ecv@emailkey{\ecv@utf{Netfang/(-f{\"o}ng)}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@professionalkey{\ecv@utf{Faglegur tölvupóstur}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
-\def\ecv@homepagekey{\ecv@utf{Home page}}
+\def\ecv@homepagekey{\ecv@utf{Heimasíða}}
\def\ecv@nationalitykey{\ecv@utf{{\TH}j{\'o}{\dh}erni}}
\def\ecv@birthkey{\ecv@utf{F{\ae}{\dh}ingardagur}}
\def\ecv@genderkey{\ecv@utf{Kyn}}
@@ -39,7 +40,8 @@
\def\ecv@cefindepkey{\ecv@utf{Lengra komin(n)}}
\def\ecv@cefprofkey{\ecv@utf{Leikinn m{\'a}lnotandi}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{\ae\ecv@kern v\ecv@kern i\ecv@kern \'a\ecv@kern
g\ecv@kern r\ecv@kern i\ecv@kern p}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvit.def new/tex/latex/europecv/ecvit.def
--- old/tex/latex/europecv/ecvit.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvit.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvit.def}[europecv Italian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Informazioni personali}}
\def\ecv@datekey{\ecv@utf{Aggiornato al }}
-\def\ecv@namekey{\ecv@utf{Cognome nome}}
+\def\ecv@namekey{\ecv@utf{Nome~/ Cognome}}
\def\ecv@addresskey{\ecv@utf{Indirizzo}}
\def\ecv@telkey{\ecv@utf{Telefono}}
\def\ecv@mobilekey{\ecv@utf{Mobile}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{Email}}
\def\ecv@professionalkey{\ecv@utf{Email Professionale}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@nationalitykey{\ecv@utf{Nazionalit\`a}}
@@ -34,15 +35,16 @@
\def\ecv@readkey{\ecv@utf{Lettura}}
\def\ecv@interactkey{\ecv@utf{Interazione}}
\def\ecv@productkey{\ecv@utf{Produzione orale}}
-\def\ecv@langfooterkey{\ecv@utf{Quadro comune europeo di riferimento per le lingue}}
+\def\ecv@langfooterkey{\ecv@utf{Quadro comune europeo di riferimento per le lingue \ecv@upshape{(}ERL\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Livello elementare}}
\def\ecv@cefindepkey{\ecv@utf{Livello intermedio}}
\def\ecv@cefprofkey{\ecv@utf{Livello avanzato}}
+\renewcommand*{\ecvbranding}{\\[5pt]\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}}}
\renewcommand*{\ecvtitle}{\ecv@utf{%
\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern
i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern V\ecv@kern
-i\ecv@kern t\ecv@kern a\ecv@kern e}\\[5pt]
-\Large\textbf{E\ecv@kern u\ecv@kern r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}}}
+i\ecv@kern t\ecv@kern a\ecv@kern e}}\ecvbranding}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvlt.def new/tex/latex/europecv/ecvlt.def
--- old/tex/latex/europecv/ecvlt.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvlt.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,22 +1,23 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation completed, 01/03/2020
\ProvidesFile{ecvlt.def}[europecv Lithuanian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Asmenin{\.e} informacija}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
+\def\ecv@datekey{\ecv@utf{Atnaujinta}}
\def\ecv@namekey{\ecv@utf{Vardas~(-ai)~/ Pavard{\.e}~(-s)}}
\def\ecv@addresskey{\ecv@utf{Adresas~(-ai)}}
\def\ecv@telkey{\ecv@utf{Telefonas~(-ai)}}
\def\ecv@faxkey{\ecv@utf{Fax}}
\def\ecv@mobilekey{\ecv@utf{Mobilus}}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
+\def\ecv@officekey{\ecv@utf{Biuras}}
\def\ecv@emailkey{\ecv@utf{El. pa{\v s}tas~(-ai)}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@professionalkey{\ecv@utf{Profesionalus el. Paštas}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
-\def\ecv@homepagekey{\ecv@utf{Home page}}
+\def\ecv@homepagekey{\ecv@utf{Pagrindinis puslapis}}
\def\ecv@nationalitykey{\ecv@utf{Pilietyb{\.e}}}
\def\ecv@birthkey{\ecv@utf{Gimimo data}}
\def\ecv@genderkey{\ecv@utf{Lytis}}
@@ -39,8 +40,9 @@
\def\ecv@cefindepkey{\ecv@utf{Pa{\v z}eng{\k e}s vartotojas}}
\def\ecv@cefprofkey{\ecv@utf{{\k I}gud{\k e}s vartotojas}}
-\renewcommand*\ecvtitle{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
-r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]
+\renewcommand*{\ecvbranding}{\ecv@utf{\Large\textbf{E\ecv@kern u\ecv@kern
+r\ecv@kern o\ecv@kern p\ecv@kern a\ecv@kern s\ecv@kern s}\\[5pt]}}
+\renewcommand*\ecvtitle{\ecvbranding\ecv@utf{
\Large\textbf{G\ecv@kern y\ecv@kern v\ecv@kern e\ecv@kern
n\ecv@kern i\ecv@kern m\ecv@kern o \ecv@kern \ecv@kern a\ecv@kern p\ecv@kern
r\ecv@kern a\ecv@kern {\v s}\ecv@kern y\ecv@kern m\ecv@kern a\ecv@kern s}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvlv.def new/tex/latex/europecv/ecvlv.def
--- old/tex/latex/europecv/ecvlv.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvlv.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvlv.def}[europecv Latvian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Personas dati}}
\def\ecv@datekey{\ecv@utf{Atnaujinta iki al}}
-\def\ecv@namekey{\ecv@utf{Uzv{\=a}rds / V{\=a}rds}}
+\def\ecv@namekey{\ecv@utf{V{\=a}rds~/ Uzv{\=a}rds}}
\def\ecv@addresskey{\ecv@utf{Adrese}}
\def\ecv@telkey{\ecv@utf{T{\=a}lrunis}}
\def\ecv@mobilekey{\ecv@utf{Mobilais t{\=a}lrunis}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{E-pasts}}
\def\ecv@professionalkey{\ecv@utf{Profesionalus el. paštas}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvmt.def new/tex/latex/europecv/ecvmt.def
--- old/tex/latex/europecv/ecvmt.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvmt.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,12 +1,12 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvmt-utf8.def}[europecv Maltese definitions]
\inputencoding{utf8x}
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Tagħrif personali}}
def\ecv@datekey{\ecv@utf{Aġġornat għal}}
-\def\ecv@namekey{\ecv@utf{Kunjom(ijiet) Isem (Ismijiet)}}
+\def\ecv@namekey{\ecv@utf{Isem (Ismijiet)~/ Kunjom(ijiet)}}
\def\ecv@addresskey{\ecv@utf{L-indirizz}}
\def\ecv@faxkey{\ecv@utf{Fax}}
\def\ecv@telkey{\ecv@utf{In-numru tat-telefown}}
@@ -15,6 +15,7 @@
\def\ecv@emailkey{\ecv@utf{Email}}
\def\ecv@professionalkey{\ecv@utf{Email Professjonali}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -38,4 +39,4 @@
\def\ecv@langfooterkey{\ecv@utf{Qafas Ewropew ta’ Referenza Komuni għall-lingwi}}
\def\ecv@cefbasickey{\ecv@utf{Livell elementari}}
\def\ecv@cefindepkey{\ecv@utf{Livell intermedju}}
-\def\ecv@cefprofkey{\ecv@utf{Livell avvanzat}}
+\def\ecv@cefprofkey{\ecv@utf{Livell avvanzat}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvnl.def new/tex/latex/europecv/ecvnl.def
--- old/tex/latex/europecv/ecvnl.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvnl.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,19 +1,20 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvnl.def}[europecv Dutch definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Persoonsgegevens}}
def\ecv@datekey{\ecv@utf{Bijgewerkt naar}}
-\def\ecv@namekey{\ecv@utf{Achternaam~(-namen)/ Voornaam~(-namen)}}
+\def\ecv@namekey{\ecv@utf{Achternaam~(-namen)~/ Voornaam~(-namen)}}
\def\ecv@addresskey{\ecv@utf{Adres(sen)}}
\def\ecv@telkey{\ecv@utf{Telefoon(s)}}
\def\ecv@mobilekey{\ecv@utf{Mobiel}}
\def\ecv@faxkey{\ecv@utf{Fax}}
\def\ecv@officekey{\ecv@utf{Kantoor}}
\def\ecv@emailkey{\ecv@utf{E-mailadres(sen)}}
-\def\ecv@professionalkey{\ecv@utf{professionele e-mail}}
+\def\ecv@professionalkey{\ecv@utf{Professionele e-mail}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvno.def new/tex/latex/europecv/ecvno.def
--- old/tex/latex/europecv/ecvno.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvno.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2018/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvno.def}[europecv Norwegian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Personlige opplysninger}}
\def\ecv@datekey{\ecv@utf{Oppdatert til}}
-\def\ecv@namekey{\ecv@utf{Navn}}
+\def\ecv@namekey{\ecv@utf{Navn~/ Etternavn}}
\def\ecv@addresskey{\ecv@utf{Adresse(r)}}
\def\ecv@telkey{\ecv@utf{Telefonnumre}}
\def\ecv@faxkey{\ecv@utf{Fax}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{E-postadresse(r)}}
\def\ecv@professionalkey{\ecv@utf{Profesjonell e-post}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,7 +35,7 @@
\def\ecv@readkey{\ecv@utf{Lesing}}
\def\ecv@interactkey{\ecv@utf{Interaksjon}}
\def\ecv@productkey{\ecv@utf{Muntlig produksjon}}
-\def\ecv@langfooterkey{\ecv@utf{CEF-niv\aa. CEF (Common European Framework) er en felles europeisk referanseramme for spr\aa k.}}
+\def\ecv@langfooterkey{\ecv@utf{CEF-niv\aa. \ecv@upshape{(}CEF\ecv@upshape{)} er en felles europeisk referanseramme for spr\aa k.}}
\def\ecv@cefbasickey{\ecv@utf{Basisbruker}}
\def\ecv@cefindepkey{\ecv@utf{Selvstendig bruker}}
\def\ecv@cefprofkey{\ecv@utf{Avansert bruker}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvpl.def new/tex/latex/europecv/ecvpl.def
--- old/tex/latex/europecv/ecvpl.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvpl.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,22 +1,23 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvpl.def}[europecv Polish definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Dane osobowe}}
\def\ecv@datekey{\ecv@utf{Zaktualizowany do}}
-\def\ecv@namekey{\ecv@utf{Nazwisko / Imi\k{e}}}
+\def\ecv@namekey{\ecv@utf{Nazwisko~/ Imi\k{e}}}
\def\ecv@addresskey{\ecv@utf{Adres(y)}}
\def\ecv@telkey{\ecv@utf{Telefon(y)}}
\def\ecv@mobilekey{\ecv@utf{Tel. kom.}}
-\def\ecv@faxkey{\ecv@utf{Fax}}
+\def\ecv@faxkey{\ecv@utf{Faks}}
\def\ecv@officekey{\ecv@utf{Urząd}}
\def\ecv@emailkey{\ecv@utf{Email(e)}}
\def\ecv@professionalkey{\ecv@utf{Profesjonalny e-mail}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
-\def\ecv@homepagekey{\ecv@utf{Home page}}
+\def\ecv@homepagekey{\ecv@utf{Strona główna}}
\def\ecv@nationalitykey{\ecv@utf{Obywatelstwo}}
\def\ecv@birthkey{\ecv@utf{Data urodzenia}}
\def\ecv@genderkey{\ecv@utf{P{\l}e\'c}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvpt.def new/tex/latex/europecv/ecvpt.def
--- old/tex/latex/europecv/ecvpt.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvpt.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvpt.def}[europecv Portuguese definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Informa\c{c}\~ao pessoal}}
\def\ecv@datekey{\ecv@utf{Atualizado a}}
-\def\ecv@namekey{\ecv@utf{Apelido(s) - Nome(s)}}
+\def\ecv@namekey{\ecv@utf{Nome(s)~/ Apelido(s)}}
\def\ecv@addresskey{\ecv@utf{Morada(s)}}
\def\ecv@telkey{\ecv@utf{Telefone(s)}}
\def\ecv@mobilekey{\ecv@utf{Telem\'ovel}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{\textit{E-mail} Pessoal}}
\def\ecv@professionalkey{\ecv@utf{\textit{E-mail} Profissional}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{\textit{Home page}}}
@@ -34,7 +35,7 @@
\def\ecv@readkey{\ecv@utf{Compreens\~ao escrita}}
\def\ecv@interactkey{\ecv@utf{Interac\c{c}\~ao oral}}
\def\ecv@productkey{\ecv@utf{Produ\c{c}\~ao oral}}
-\def\ecv@langfooterkey{\ecv@utf{N\'ivel do Quadro Europeu Comum de Refer\^encia (CECR)}}
+\def\ecv@langfooterkey{\ecv@utf{N\'ivel do Quadro Europeu Comum de Refer\^encia \ecv@upshape{(}CECR\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Utilizador elementar}}
\def\ecv@cefindepkey{\ecv@utf{Utilizador independente}}
\def\ecv@cefprofkey{\ecv@utf{Utilizador experiente}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvro.def new/tex/latex/europecv/ecvro.def
--- old/tex/latex/europecv/ecvro.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvro.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,6 +1,6 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvro.def}[europecv Romanian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Informa{\c t}ii personale}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{E-mail}}
\def\ecv@professionalkey{\ecv@utf{E-mail profesional}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvsk.def new/tex/latex/europecv/ecvsk.def
--- old/tex/latex/europecv/ecvsk.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvsk.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,11 +1,11 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvsk.def}[europecv Slovak definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Osobn{\'e} {\'u}daje}}
\def\ecv@datekey{\ecv@utf{Aktualizované na}}
-\def\ecv@namekey{\ecv@utf{Priezvisko({\'a}) / Meno({\'a})}}
+\def\ecv@namekey{\ecv@utf{Meno({\'a})~/ Priezvisko({\'a})}}
\def\ecv@addresskey{\ecv@utf{Adresa(y)}}
\def\ecv@telkey{\ecv@utf{Telef\'on(y)}}
\def\ecv@mobilekey{\ecv@utf{Mobil}}
@@ -14,6 +14,7 @@
\def\ecv@emailkey{\ecv@utf{E-mail(y)}}
\def\ecv@professionalkey{\ecv@utf{Profesionálny e-mail}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,7 +35,7 @@
\def\ecv@readkey{\ecv@utf{{\v C}{\'\i}tanie}}
\def\ecv@interactkey{\ecv@utf{{\'U}stna interakcia}}
\def\ecv@productkey{\ecv@utf{Samostatn{\'y} {\'u}stny prejav}}
-\def\ecv@langfooterkey{\ecv@utf{{\'U}rove{\v n} podl'a Spolo{\v c}n{\'e}ho eur{\'o}pskeho referen{\v c}n{\'e}ho r{\'a}mca (CEF)}}
+\def\ecv@langfooterkey{\ecv@utf{{\'U}rove{\v n} podl'a Spolo{\v c}n{\'e}ho eur{\'o}pskeho referen{\v c}n{\'e}ho r{\'a}mca \ecv@upshape{(}CEF\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Pou{\v z}{\'\i}vatel' z{\'a}kladn{\'e}ho jazyka}}
\def\ecv@cefindepkey{\ecv@utf{Samostatn{\'y} pou{\v z}{\'\i}vatel'}}
\def\ecv@cefprofkey{\ecv@utf{Sk{\'u}sen{\'y} pou{\v z}{\'\i}vatel'}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvsl.def new/tex/latex/europecv/ecvsl.def
--- old/tex/latex/europecv/ecvsl.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvsl.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,6 +1,6 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvsl.def}[europecv Slovenian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Osebni podatki}}
@@ -15,6 +15,7 @@
def\ecv@officekey{\ecv@utf{Urad}}
\def\ecv@professionalkey{\ecv@utf{Strokovni E-poštni naslov}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvsr.def new/tex/latex/europecv/ecvsr.def
--- old/tex/latex/europecv/ecvsr.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvsr.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,19 +1,20 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation completed on 2019/03/19
+% Translation completed on 01/03/2020
\ProvidesFile{ecvsr.def}[europecv Serbian definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Li{\v c}ni podaci}}
\def\ecv@datekey{\ecv@utf{Ažurirano}}
-\def\ecv@namekey{\ecv@utf{Prezime~/ ime}}
+\def\ecv@namekey{\ecv@utf{Ime~/ Prezime}}
\def\ecv@addresskey{\ecv@utf{Adresa}}
\def\ecv@telkey{\ecv@utf{Telefon}}
\def\ecv@mobilekey{\ecv@utf{Mobilan}}
\def\ecv@officekey{\ecv@utf{Ured}}
\def\ecv@faxkey{\ecv@utf{Fax}}
-\def\ecv@emailkey{\ecv@utf{E - mail}}
+\def\ecv@emailkey{\ecv@utf{E-mail}}
\def\ecv@professionalkey{\ecv@utf{Radnu E-poštu}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,12 +35,12 @@
\def\ecv@readkey{\ecv@utf{\v Citanje}}
\def\ecv@interactkey{\ecv@utf{Govorno sporazumevanje}}
\def\ecv@productkey{\ecv@utf{Samoizra\v zavanje}}
-\def\ecv@langfooterkey{\ecv@utf{Zajedni\v cki evropski referencni okvir za jezike(CEF)}}
+\def\ecv@langfooterkey{\ecv@utf{Zajedni\v cki evropski referencni okvir za jezike \ecv@upshape{(}CEF\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Osnovni korisnik}}
\def\ecv@cefindepkey{\ecv@utf{Samostalni korisnik}}
\def\ecv@cefprofkey{\ecv@utf{Osposobljeni korisnik}}
-\providecommand*{\ecvtitle}{\ecv@utf{\Large\textbf{E\ecv@kern v\ecv@kern
+\renewcommand*{\ecvtitle}{\ecv@utf{\Large\textbf{E\ecv@kern v\ecv@kern
r\ecv@kern o\ecv@kern p\ecv@kern s\ecv@kern k\ecv@kern i}\\[5pt]
\Large\textbf{C\ecv@kern u\ecv@kern r\ecv@kern r\ecv@kern
i\ecv@kern c\ecv@kern u\ecv@kern l\ecv@kern u\ecv@kern m \ecv@kern
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/ecvsv.def new/tex/latex/europecv/ecvsv.def
--- old/tex/latex/europecv/ecvsv.def 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/ecvsv.def 2020-01-03 23:16:04.000000000 +0100
@@ -1,19 +1,20 @@
%!TEX encoding = UTF-8 Unicode
%
-% Translation yet to be finished, 2019/03/19
+% Translation completed, 01/03/2020
\ProvidesFile{ecvsv.def}[europecv Swedish definitions]
% Personal information
\def\ecv@infosectionkey{\ecv@utf{Personuppgifter}}
-\def\ecv@datekey{\ecv@utf{Aggiornato al}} % To be translated
-\def\ecv@namekey{\ecv@utf{Efternamn / F\"ornamn}}
+\def\ecv@datekey{\ecv@utf{Uppdaterad till}}
+\def\ecv@namekey{\ecv@utf{F\"ornamn~/ Efternamn}}
\def\ecv@addresskey{\ecv@utf{Adress(er)}}
\def\ecv@telkey{\ecv@utf{Telefonnummer}}
\def\ecv@mobilekey{\ecv@utf{Mobil}}
\def\ecv@faxkey{\ecv@utf{Fax}}
-\def\ecv@officekey{\ecv@utf{Ufficio}} % To be translated
+\def\ecv@officekey{\ecv@utf{Office}}
\def\ecv@emailkey{\ecv@utf{E-postadress(er)}}
-\def\ecv@professionalkey{\ecv@utf{Email Professionale}} % To be translated
+\def\ecv@professionalkey{\ecv@utf{Professionell e-post}}
\def\ecv@skypekey{\ecv@utf{Skype}}
+\def\ecv@matrixriotkey{\ecv@utf{Matrix/Riot}}
\def\ecv@youtubekey{\ecv@utf{YouTube}}
\def\ecv@peckey{\ecv@utf{PEC}}
\def\ecv@homepagekey{\ecv@utf{Home page}}
@@ -34,7 +35,7 @@
\def\ecv@readkey{\ecv@utf{L\"asf\"orst\aa else}}
\def\ecv@interactkey{\ecv@utf{Muntlig interaktion}}
\def\ecv@productkey{\ecv@utf{Muntlig produktion}}
-\def\ecv@langfooterkey{\ecv@utf{Niv\aa n inom de Gemensamma europeiska referensramarna (CEF)}}
+\def\ecv@langfooterkey{\ecv@utf{Niv\aa n inom de Gemensamma europeiska referensramarna \ecv@upshape{(}CEF\ecv@upshape{)}}}
\def\ecv@cefbasickey{\ecv@utf{Den baspresterande spr\aa kanv\"andaren}}
\def\ecv@cefindepkey{\ecv@utf{Den sj\"alvst\"andige spr\aa kanv\"andaren}}
\def\ecv@cefprofkey{\ecv@utf{Den avancerade spr\aa kanv\"andaren}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/europecv/europecv.cls new/tex/latex/europecv/europecv.cls
--- old/tex/latex/europecv/europecv.cls 2019-03-19 22:27:58.000000000 +0100
+++ new/tex/latex/europecv/europecv.cls 2020-01-03 23:16:04.000000000 +0100
@@ -1,12 +1,12 @@
%!TEX encoding = UTF-8 Unicode
%
% European curriculum vitae class
-% Author: Nicola Vitacolonna (vitacolo@dimi.uniud.it) and Giuseppe Silano (giuseppe.silano@unisannio.it)
+% Author: Nicola Vitacolonna (nicola.vitacolonna@uniud.it) and Giuseppe Silano (giuseppe.silano@unisannio.it)
% This material is subject to the LaTeX Project Public License, either version 1.3
% See https://ctan.mirror.garr.it/mirrors/CTAN/help/Catalogue/licenses.lppl.html
% for the details of that license
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{europecv}[2019/03/19 (Unicode TeX detection) European curriculum vitae class]
+\ProvidesClass{europecv}[01/03/2020 (Unicode TeX detection) European curriculum vitae class]
% CV models and instructions:
% http://europass.cedefop.eu.int/htm/index.htm
@@ -18,6 +18,7 @@
% See comment below.
\newcommand\ecv@utf[1]{{\inputencoding{utf8x}#1}}
+\newcommand{\ecv@upshape}[1]{\upshape{#1}}
% Set language
\DeclareOption{english}{%
@@ -230,11 +231,11 @@
\DeclareOption{macukr}{\AtEndOfClass{\inputencoding{macukr}}}
% Set font
-\DeclareOption{helvetica}{%
+\DeclareOption{helvetica}{%
\renewcommand{\rmdefault}{phv}
\renewcommand{\sfdefault}{phv}
}
-\DeclareOption{arial}{%
+\DeclareOption{arial}{%
\renewcommand{\rmdefault}{ma1} % (this font is NOT installed by default!)
\renewcommand{\sfdefault}{ma1}
}
@@ -248,6 +249,13 @@
\AtEndOfPackage{\renewcommand*\ecvtitle{}}%
}
+% The nobranding function was created by Marc-Andre Hermanns
+
+% No branding (i.e., "Europass" logotype)
+\DeclareOption{nobranding}{%
+ \AtEndOfPackage{\renewcommand*\ecvbranding{}}%
+}
+
% Europass logo
\DeclareOption{logo}{%
\providecommand*\draweuropasslogo{%
@@ -255,7 +263,7 @@
}
\DeclareOption{nologo}{\renewcommand*\draweuropasslogo{}}
-% Flag pictures of the EC can be found at
+% Flag pictures of the EC can be found at
% http://europa.eu.int/abc/symbols/emblem/index_en.htm
\DeclareOption{noflag}{\providecommand*\draweuropeflag{}}
\DeclareOption{flagWB}{%
@@ -290,7 +298,7 @@
% Pass all other options (a4paper, 10pt, draft, openbib, etc...) to article
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}%
-}
+}
\ExecuteOptions{english,noflag,logo,hrule} % Default options
@@ -300,7 +308,7 @@
%% start of addition (with permission) by David Carlisle
\ifx\Umathchar\@undefined
-%% encoding support for pdftex and classic TeX
+%% encoding support for pdftex and classic TeX
\RequirePackage{ucs}
\RequirePackage[utf8x]{inputenc}
\else
@@ -393,6 +401,7 @@
\newcommand*{\ecvemail}[1]{\def\ecv@email{#1}}
\newcommand*{\ecvprofessional}[1]{\def\ecv@professional{#1}}
\newcommand*{\ecvskype}[1]{\def\ecv@skype{#1}}
+\newcommand*{\ecvmatrixriot}[1]{\def\ecv@matrixriot{#1}}
\newcommand*{\ecvyoutube}[1]{\def\ecv@youtube{#1}}
\newcommand*{\ecvpec}[1]{\def\ecv@pec{#1}}
\newcommand*{\ecvhomepage}[1]{\def\ecv@homepage{#1}}
@@ -422,6 +431,7 @@
\ecvfootername{\ecv@name}
\ecvaddress{}
\ecvskype{}
+\ecvmatrixriot{}
\ecvyoutube{}
\ecvprofessional{}
\ecvtelephone{}
@@ -454,7 +464,7 @@
\tabularnewline[5pt]
\fi
\ifx\@empty\ecv@officeAddress \else
- \ecv@addresskey &\ecv@officeAddress
+ \ecv@addresskey &\ecv@officeAddress
\tabularnewline[5pt]
\fi
\fi
@@ -486,6 +496,9 @@
\ifx\@empty\ecv@skype\else
\ecv@skypekey &\ecv@skype \tabularnewline[5pt]
\fi
+\ifx\@empty\ecv@matrixriot\else
+\ecv@matrixriotkey &\ecv@matrixriot \tabularnewline[5pt]
+\fi
\ifx\@empty\ecv@youtube\else
\ecv@youtubekey &\ecv@youtube \tabularnewline[5pt]
\fi
@@ -632,7 +645,7 @@
% Text bullet
\newcommand{\ecvbullet}{\raisebox{.35ex}[0cm][0cm]{\tiny\textbullet}}
-
+
\newenvironment{europecv}{%
\ecvLeftColumnWidth{\ecv@leftcolwidth}
\setlength\arrayrulewidth{\ecv@rulewidth}
@@ -690,7 +703,7 @@
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
-
+
\newif\if@ecvitemstar
\newcommand\ecvitem{\@ifstar{\@ecvitemstartrue \@ecvitem}%
{\@ecvitemstarfalse\@ecvitem}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/europecv.tlpobj new/tlpkg/tlpobj/europecv.tlpobj
--- old/tlpkg/tlpobj/europecv.tlpobj 2019-03-20 02:24:12.000000000 +0100
+++ new/tlpkg/tlpobj/europecv.tlpobj 2020-03-04 23:50:52.000000000 +0100
@@ -1,6 +1,6 @@
name europecv
category Package
-revision 50470
+revision 54080
shortdesc Unofficial class for European curricula vitae
relocated 1
longdesc The europecv class is an unofficial LaTeX implementation of the
@@ -53,6 +53,5 @@
catalogue-also europasscv curve currvita cv esieecv vita
catalogue-contact-repository https://github.com/gsilano/EuropeCV
catalogue-ctan /macros/latex/contrib/europecv
-catalogue-date 2019-03-19 16:08:26 +0100
catalogue-license lppl
catalogue-topics cv class
++++++ euxm.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/euxm.tlpobj new/tlpkg/tlpobj/euxm.tlpobj
--- old/tlpkg/tlpobj/euxm.tlpobj 2019-02-28 03:35:55.000000000 +0100
+++ new/tlpkg/tlpobj/euxm.tlpobj 2020-03-04 23:50:52.000000000 +0100
@@ -1,6 +1,6 @@
name euxm
category Package
-revision 45696
+revision 54074
shortdesc extended Euler by DEK
relocated 1
longdesc Includes two additional characters needed for Concrete Math
++++++ exframe.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/README.txt new/doc/latex/exframe/README.txt
--- old/doc/latex/exframe/README.txt 2019-01-21 22:40:19.000000000 +0100
+++ new/doc/latex/exframe/README.txt 2020-02-25 23:03:03.000000000 +0100
@@ -1,5 +1,5 @@
-exframe v3.1
-Copyright 2011-2019 Niklas Beisert
+exframe v3.4
+Copyright 2011-2020 Niklas Beisert
exframe is a LaTeX2e package which provides a general purpose
framework to describe and typeset exercises and exam questions
@@ -16,7 +16,16 @@
exframe.ins installation file
exframe.dtx source file
exframe.sty package file
- exfsmp1.tex sample latex file
+ exfsamp.tex standalone sample latex file
+ exfserm.tex multipart sample main file
+ exfser01.tex multipart sample sheet 1
+ exfser02.tex multipart sample sheet 2
+ exfser03.tex multipart sample sheet 3
+ exfseraa.tex multipart sample unused problems
+ exfserpe.tex multipart sample problem E
+ exfserpf.tex multipart sample problem F
+ exfsermk.sh multipart sample compile script
+ exfsermk.mak multipart sample makefile
exframe.pdf manual
The distribution consists of the files
@@ -25,7 +34,9 @@
Run "(pdf)latex exframe.dtx" to compile the manual exframe.pdf.
Run "latex exframe.ins" to create the package exframe.sty
-and the sample exfsmp1.tex.
+and the samples consisting of exfsamp.tex, exfserm.tex,
+exfser01.tex, exfser02.tex, exfser03.tex, exfseraa.tex,
+exfserpe.tex, exfserpf.tex, exfsermk.sh, exfsermk.mak.
Copy the file exframe.sty to an appropriate directory of your LaTeX
distribution, e.g. texmf-root/tex/latex/exframe.
Binary files old/doc/latex/exframe/exframe.pdf and new/doc/latex/exframe/exframe.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfsamp.tex new/doc/latex/exframe/exfsamp.tex
--- old/doc/latex/exframe/exfsamp.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfsamp.tex 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,314 @@
+%%
+%% This is file `exfsamp.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplesingle')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\ProvidesFile{exfsamp.tex}[2020/02/24 v3.4 standalone sample for exframe]
+\documentclass[12pt]{article}
+
+\usepackage{geometry}
+\geometry{layout=a4paper}
+\geometry{paper=a4paper}
+\geometry{margin=2.5cm}
+\parindent0pt
+\parskip0.5ex
+
+\usepackage{amsmath}
+\usepackage{hyperref}
+
+\PassOptionsToPackage{loadlang=en|de}{metastr}
+\PassOptionsToPackage{course=true}{metastr}
+%%\usepackage{metastr}
+%%\metasetlang{de}
+
+\usepackage[extstyle]{exframe}
+
+%%\exercisesetup{solutions=true}
+\exercisesetup{solutions=false}
+
+\exercisesetup{autolabelproblem=true}
+
+\exercisestyle{plainheader}
+\exerciseconfig{composeheaderbelowright}{\getsheetdata{points}}%
+
+\exerciseconfig{countersheet}{\Roman{sheet}}
+\exerciseconfig{countersubproblem}{\roman{subproblem})}
+\exerciseconfig{countersubproblemmax}{vii)}
+
+\exerciseconfig{insertsubprobleminfo}{%
+ \switchpoints{}{\addprobleminfo*{%
+ \hspace{-\getexerciseconfig{skipsubprobleminfo}}*}}%
+ {}{}{\getsubproblempoints{}}}
+
+\ifdefined\metaset
+\metasetterm[en]{sheet}{Exercise Sheet}
+\metasetterm[en]{sheets}{Exercise Sheets}
+\metasetterm[de]{sheet}{\"Ubungsblatt}
+\metasetterm[de]{sheets}{\"Ubungsbl\"atter}
+\else
+\exerciseconfig{termsheet}{\"Ubungsblatt}
+\exerciseconfig{termsheets}{\"Ubungsbl\"atter}
+\fi
+
+\exercisestyle{problempointsat=margin}
+\reversemarginpar
+\exerciseconfig{composepointsmargin}[1]{#1p.}
+\exerciseconfig{composepointspairmargin}[2]{%
+ \ifdim#2pt=0pt#1p.%
+ \else\ifdim#1pt=0pt+#2p.%
+ \else#1+#2p.%
+ \fi\fi}
+
+\exerciseconfig{styletitle}{\sffamily\bfseries}
+
+\exerciseconfig{skipproblembelow}{1.5cm}
+
+\exercisestyle{fracpoints}
+\exercisestyle{solutionbelow=problem}
+\exercisestyle{solutionsep}
+
+\exercisesetup{pdfdata=sheet}
+
+\ifdefined\metaset
+\metaset[sep]{subtitle}{, }
+\metaset{subtitle}{\ifsolutions\metatranslate[#1]{solutions} \fi%
+ \metaif[use]{sheettitle}
+ {\metapick[#1]{sheettitle}}
+ {\metapick[#1]{material}}}
+\metaset{author}{\exerciseifempty{\getsheetdata{author}}%
+ {\metapick[#1]{instructor}}{\metapick[#1]{sheetauthor}},
+ \metapick[#1]{institution}}
+\else
+\exerciseconfig{composemetasheet}[2]{\getexercisedata{course},
+ \ifsolutions\getexerciseconfig{termsolutions} \fi%
+ \exerciseifempty{#2}{\getexerciseconfig{termsheet} #1}{#2}}
+\exercisedata{title=%
+ {\getexercisedata{course},
+ \ifsolutions\getexercisedata{solutions} \fi%
+ \getexercisedata{material}}}
+\exercisedata{author=%
+ {\getexercisedata{instructor}, \getexercisedata{institution}}}
+\fi
+
+\ifdefined\metaset
+\metaset{institution}{Katharinen-Volksschule}
+\metaset[de]{course}{Mathematik}
+\metaset[en]{course}{Mathematics}
+\metaset{instructor}{J.\ G.\ B\"uttner}
+\metaset{period}{ca.\ 1786}
+\metaset[de]{material}{\"Ubungsaufgaben}
+\metaset[en]{material}{Exercise Problems}
+\else
+\exercisedata{institution={Katharinen-Volksschule}}
+\exercisedata{course={Mathematik}}
+\exercisedata{instructor={J.\ G.\ B\"uttner}}
+\exercisedata{period={ca.\ 1786}}
+\exercisedata{material={\"Ubungsaufgaben}}
+\fi
+
+\begin{document}
+
+\begin{sheet}[number=5,label={sheet5}]
+
+\begin{problem}[title={Sums},points=99+4]
+
+\exerciseloopstr{\getsubproblemlist{}}{c}%
+\hfill\begin{tabular}{c|\exerciseloopret|c}
+\exerciseloop{\getsubproblemlist{}}
+ {&\ref{\getexerciseconfig{labelsubproblem}{#1}}}
+&\ref{prob:\problemtag}\\\hline
+\getexerciseconfig{termpoints}
+\exerciseloop{\getsubproblemlist{}}{&\extractpoints{\getsubproblempoints{#1}}}
+&\extractpoints{\getproblempoints{}}
+\\
+extra
+\exerciseloop{\getsubproblemlist{}}{&\extractpoints*{\getsubproblempoints{#1}}}
+&\extractpoints*{\getproblempoints{}}
+\end{tabular}
+
+This problem deals with sums and series.
+
+\begin{subproblem}[points=2,difficulty=simple,label={\problemtag-simplesum}]
+Compute the sum
+\showpoints
+\begin{equation}
+1+2+3.
+\end{equation}
+
+\begin{solution}
+The result is
+\begin{equation}
+1+2+3=6.
+\end{equation}
+\end{solution}
+
+\end{subproblem}
+
+\begin{subproblem}[points=97+0.5,difficulty=lengthy]
+Compute the sum
+\begin{equation}
+1+2+3+\ldots+98+99+100.
+\end{equation}
+Keep calm and calculate!
+%%That ought to keep him occupied for a while
+\end{subproblem}
+
+\begin{solution}[author={C.\ F.\ Gau\ss}]
+We use the result $1+2+3=6$ from part \ref{\problemtag-simplesum}
+to jumpstart the calculation. The remaining sums yield
+\awardpoints*[1 for each remaining sum]{97}
+\begin{equation}
+6+4+5+\ldots+99+100=5050.
+\end{equation}
+Alternatively the summands can be grouped into pairs as follows:
+\begin{align}
+1+100&=101,\\
+2+99&=101,\\
+3+98&=101,\\
+\ldots &\nonumber\\
+50+51&=101.
+\end{align}
+These amount to 50 times the same number 101.
+Therefore the sum equals
+\begin{equation}
+1+2+\ldots+99+100=50\cdot 101=5050.
+\end{equation}
+\textit{Ligget se!} \awardpoints{97+0.5}
+\end{solution}
+
+You may give the final part a try:
+
+\begin{subproblem}[optional={optional},
+ difficulty={requires inspiration},points={+3.5}]
+Compute the series
+\showpoints
+\begin{equation}
+1+2+3+\ldots
+\end{equation}
+
+\begin{solution}
+The series is divergent, so the result is $\infty$ \awardpoints{+1}.
+\par
+However, after subtracting the divergent part,
+the result clearly is
+\begin{equation}
+\zeta(-1)=-\frac{1}{12}\,,
+\end{equation}
+where the zeta-function $\zeta(s)$ is defined by
+\begin{equation}
+\zeta(s):=\sum_{k=1}^\infty \frac{1}{k^s}\,.
+\end{equation}
+This definition holds only for $s>1$ where the sum is convergent,
+but one can continue the complex analytic function to $s<0$
+\awardpoints{+1.5}.
+\par
+Another way of understanding the result
+is to use the indefinite summation formula
+for arbitrary exponent $s$ in the summand
+(which also follows from the Euler--MacLaurin formula)
+\begin{equation}
+\sum_n n^s
+= \frac{n^{s+1}}{s+1}
+ -\sum_{j=0}^s \frac{\zeta(j-s)\,s!}{(s-j)!\,j!}\,n^j
+= \ldots - \zeta(-s)\,n^0.
+\end{equation}
+Curiously, the constant term with $j=0$ is just the desired result
+but with the wrong sign
+(in fact, the constant term of an indefinite sum is ambiguous;
+for the claim we merely set $j=0$
+in the expression which holds for others values of $j$)
+\awardpoints{+0.5}.
+In order to understand the sign,
+we propose that the above formula describes the regularised result
+for the sum with limits $+\infty$ and $n$
+\begin{equation}
+\sum_{k=+\infty}^n k^s
+\simeq \frac{n^{s+1}}{s+1}
+ -\sum_{j=0}^s \frac{\zeta(j-s)\,s!}{(s-j)!\,j!}\,n^j.
+\end{equation}
+Then we flip the summation limits of the desired sum
+to bring it into the above form
+\awardpoints{+0.5}
+\begin{equation}
+\sum_{k=1}^\infty k^s
+= -\sum_{k=\infty}^0 k^s
+\simeq \zeta(-s).
+\end{equation}
+\end{solution}
+
+\end{subproblem}
+
+\end{problem}
+
+\begin{problem}[points=1, difficulty=insane]
+Show that the equation
+\begin{equation}
+a^3+b^3=c^3
+\end{equation}
+has no positive integer solutions.
+\end{problem}
+
+\begin{solution}
+\normalmarginpar
+This is beyond the scope of this example.
+\marginpar{\footnotesize\raggedright does not fit here.\par}
+\end{solution}
+
+\ifsolutions\else
+\textbf{Grading:}\par
+\exerciseloopstr{\getproblemlist{}}{|c}
+\begin{tabular}{|c|\exerciseloopret||c|}\hline
+\getexerciseconfig{termsheet} \ref{sheet5}
+\exerciseloop{\getproblemlist{*}}
+ {&\ref{\getexerciseconfig{labelproblem}{#1}}}
+&total
+\\\hline
+value
+\exerciseloop{\getproblemlist{*}}
+ {&\extractpoints{\getproblempoints{#1}}}%
+&\extractpoints{\getsheetpoints{}}
+\\\hline
+\exerciseloop{\getproblemlist{*}}{&}
+&\\\hline
+\end{tabular}\qquad
+\exerciseloop{\getproblemlist{*}}{
+ \exerciseloopstr{\getsubproblemlist{#1}}{|c}
+ \ifnum\value{exerciseloop}>0\relax
+ \begin{tabular}{|c|\exerciseloopret||c|}\hline
+ \getexerciseconfig{termproblem} \ref{\getexerciseconfig{labelproblem}{#1}}
+ \exerciseloop{\getsubproblemlist{#1}}
+ {&\ref{\getexerciseconfig{labelsubproblem}{##1}}}
+ &total
+ \\\hline
+ value
+ \exerciseloop{\getsubproblemlist{#1}}
+ {&\extractpoints{\getsubproblempoints{##1}}}%
+ &\extractpoints{\getproblempoints{#1}}
+ \\\hline
+ \exerciseloop{\getsubproblemlist{#1}}{&}
+ &\\\hline
+ \end{tabular}\quad
+ \fi
+}
+\fi
+
+\end{sheet}
+
+\end{document}
+\endinput
+%%
+%% End of file `exfsamp.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfser01.tex new/doc/latex/exframe/exfser01.tex
--- old/doc/latex/exframe/exfser01.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfser01.tex 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,110 @@
+%%
+%% This is file `exfser01.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplemultisheet1')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+%%\providecommand{\printsol}{n}
+\input{childdoc.def}
+\childdocof{exfserm}
+
+\begin{sheet}[due={2019-04-29}]
+
+\begin{problem}[title={Sample A}]
+
+\ifdefined\mpostuse
+\begin{mpostfig}[label={\problemtag-fig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+fillshape(paths[1], 0.7white) pensize(1pt);
+label(btex \figure etex, center(paths[1]));
+\end{mpostfig}
+\begin{onlysolutions}
+\begin{mpostfig}[label={\problemtag-solfig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+paths[2]:=((subpath (-2,2) of paths[1])--cycle) shifted (+0.5xu,0);
+paths[3]:=((subpath (2,6) of paths[1])--cycle) shifted (-0.5xu,0);
+fillshape(paths[2], 0.7white) pensize(1pt);
+fillshape(paths[3], 0.7white) pensize(1pt);
+\end{mpostfig}
+\end{onlysolutions}
+\fi
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-fig}\else figure\fi
+\end{center}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-solfig}\else figure\fi
+\end{center}
+\lorem
+\end{solution}
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\end{problem}
+
+\turnover
+
+\begin{problem}[title={Sample B}]
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\end{problem}
+
+\end{sheet}
+
+\endinput
+%%
+%% End of file `exfser01.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfser02.tex new/doc/latex/exframe/exfser02.tex
--- old/doc/latex/exframe/exfser02.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfser02.tex 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,108 @@
+%%
+%% This is file `exfser02.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplemultisheet2')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+%%\providecommand{\printsol}{n}
+\input{childdoc.def}
+\childdocof{exfserm}
+\begin{sheet}[due={2019-05-06}]
+\begin{problem}[title={Sample C}]
+
+\ifdefined\mpostuse
+\begin{mpostfig}[label={\problemtag-fig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+fillshape(paths[1], 0.7white) pensize(1pt);
+label(btex \figure etex, center(paths[1]));
+\end{mpostfig}
+\begin{onlysolutions}
+\begin{mpostfig}[label={\problemtag-solfig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+paths[2]:=((subpath (-2,2) of paths[1])--cycle) shifted (+0.5xu,0);
+paths[3]:=((subpath (2,6) of paths[1])--cycle) shifted (-0.5xu,0);
+fillshape(paths[2], 0.7white) pensize(1pt);
+fillshape(paths[3], 0.7white) pensize(1pt);
+\end{mpostfig}
+\end{onlysolutions}
+\fi
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-fig}\else figure\fi
+\end{center}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-solfig}\else figure\fi
+\end{center}
+\lorem
+\end{solution}
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\end{problem}
+
+\turnover
+
+\begin{problem}[title={Sample D}]
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\end{problem}
+
+\end{sheet}
+
+\endinput
+%%
+%% End of file `exfser02.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfser03.tex new/doc/latex/exframe/exfser03.tex
--- old/doc/latex/exframe/exfser03.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfser03.tex 2020-01-11 23:12:12.000000000 +0100
@@ -0,0 +1,32 @@
+%%
+%% This is file `exfser03.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplemultisheet3')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+%%\providecommand{\printsol}{n}
+\input{childdoc.def}
+\childdocof{exfserm}
+\begin{sheet}[due={2019-05-13}]
+\input{exfserpe}
+
+\turnover
+
+\input{exfserpf}
+\end{sheet}
+
+\endinput
+%%
+%% End of file `exfser03.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfseraa.tex new/doc/latex/exframe/exfseraa.tex
--- old/doc/latex/exframe/exfseraa.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfseraa.tex 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,108 @@
+%%
+%% This is file `exfseraa.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplemultisheeta')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+%%\providecommand{\printsol}{n}
+\input{childdoc.def}
+\childdocof{exfserm}
+\begin{sheet}[title={unused problems}]
+\begin{problem}[title={Sample X}]
+
+\ifdefined\mpostuse
+\begin{mpostfig}[label={\problemtag-fig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+fillshape(paths[1], 0.7white) pensize(1pt);
+label(btex \figure etex, center(paths[1]));
+\end{mpostfig}
+\begin{onlysolutions}
+\begin{mpostfig}[label={\problemtag-solfig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+paths[2]:=((subpath (-2,2) of paths[1])--cycle) shifted (+0.5xu,0);
+paths[3]:=((subpath (2,6) of paths[1])--cycle) shifted (-0.5xu,0);
+fillshape(paths[2], 0.7white) pensize(1pt);
+fillshape(paths[3], 0.7white) pensize(1pt);
+\end{mpostfig}
+\end{onlysolutions}
+\fi
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-fig}\else figure\fi
+\end{center}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-solfig}\else figure\fi
+\end{center}
+\lorem
+\end{solution}
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\end{problem}
+
+\turnover
+
+\begin{problem}[title={Sample Y}]
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\end{problem}
+
+\end{sheet}
+
+\endinput
+%%
+%% End of file `exfseraa.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfserm.tex new/doc/latex/exframe/exfserm.tex
--- old/doc/latex/exframe/exfserm.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfserm.tex 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,213 @@
+%%
+%% This is file `exfserm.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplemultimain')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\ProvidesFile{exfserm.tex}[2020/02/24 v3.4 multipart sample for exframe]
+\input{childdoc.def}
+\childdocmain{exfserm}
+
+\ifchilddoc
+\providecommand{\printsol}{y}
+\else
+\providecommand{\printsol}{n}
+\fi
+\providecommand{\draftver}{y}
+\newif\ifdraft\if\draftver y\drafttrue\else\draftfalse\fi
+
+\documentclass[12pt]{article}
+
+\RequirePackage{graphicx}
+
+\PassOptionsToPackage{bookmarks=\ifchilddoc false\else true\fi}{hyperref}
+\PassOptionsToPackage{bookmarksopen=true}{hyperref}
+\RequirePackage{hyperref}
+
+\ifdraft
+\PassOptionsToPackage{draft}{metastr}
+\fi
+\IfFileExists{hyperxmp.sty}{}{\PassOptionsToPackage{hyperxmp=false}{metastr}}
+\RequirePackage[course]{metastr}
+\metaset[aux]{writepdf}{}
+\metaset[rights]{writepdf}{}
+
+\RequirePackage[extdata,extstyle]{exframe}
+
+\if\printsol n
+\exercisesetup{solutions=false}
+\exercisesetup{twoside=true}
+\else
+\exercisesetup{solutions=true}
+\exercisesetup{twoside=false}
+\ifdraft
+\exercisesetup{solutionbuf=false}
+\fi
+\fi
+
+%%\if\printsol n\else\showprobleminfo{author,source,recycle}\fi
+
+\exercisesetup{autolabelproblem}
+\exercisestyle{contents,solutionsep}
+\ifchilddocmanual\else
+\exercisestyle{pagebysheet,problembysheet,equationbysheet,sheetequation}
+\fi
+\exercisestyle{solutionbelow={problem}}
+\ifchilddoc\ifchilddocmanual\else\exercisesetup{pdfdata=sheet}\fi\fi
+
+\metasetlang{en-GB}
+
+\metasetterm[en]{sheet}{sheet}
+\metasetterm[en]{sheets}{sample sheets}
+\metasetterm[en]{solution}{Solution}
+\metasetterm[en]{solutions}{solutions}
+
+\RequirePackage[a4paper,margin=2.5cm]{geometry}
+\pagestyle{plain}
+\setlength\parindent{0pt}
+\setlength\parskip{\smallskipamount}
+\setlength\overfullrule{5pt}
+\newcommand{\turnover}{\ifsolutions\else\vfill%
+ \hfill{\mathversion{bold}$\longrightarrow$}\newpage\fi}
+
+\exercisestyle{plainheader}
+\exerciseconfig{composeheaderbelowright}
+ {\sheetdataempty{editdate}{}{version: \getsheetdata{editdate}}}
+\ifchilddoc\ifsolutions\else
+ \exerciseconfig{composeheaderbelowright}
+ {\sheetdataempty{due}{}{due: \getsheetdata{due}}}
+\fi\fi
+
+\def\lorem{Lorem ipsum dolor sit amet, consectetur adipisici elit,
+ sed eiusmod tempor incidunt ut labore et dolore magna aliqua.
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
+ nisi ut aliquid ex ea commodi consequat.
+ Quis aute iure reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur.
+ Excepteur sint obcaecat cupiditat non proident,
+ sunt in culpa qui officia deserunt mollit anim id est laborum.\par}
+
+\IfFileExists{mpostinl.sty}{\RequirePackage{mpostinl}}{}
+\ifdefined\mpostsetup
+
+\mpostsetup{checksum}
+\ifchilddoc\ifdraft\mpostsetup{now,nowall}\fi\fi
+\ifchilddocmanual\else\mpostsetup{numberwithin={sheet}}\fi
+
+\mpostsetup{globaldef=true}
+\begin{mposttex}
+\def\figure{figure}
+\end{mposttex}
+\begin{mpostdef}
+path paths[];
+newinternal numeric xu;
+xu:=1cm;
+def pensize(expr s)=withpen pencircle scaled s enddef;
+def fillshape(expr p,c)=
+ fill p withcolor c;
+ draw p
+enddef;
+\end{mpostdef}
+\mpostsetup{globaldef=false}
+
+\fi
+
+\metaset{course}{exframe package samples}
+\metaset{instructor}{N.\ Beisert}
+\metaset{author}{Niklas Beisert, \metapick[#1]{institution}}
+\metaset{institution}{exframe academy}
+\metaset{period}{spring 2019}
+\metaset{copyrightdate}{2019--2020}
+
+\metaset{material}{\metatranslate[#1]{sheets}}
+\exerciseconfig{composetitlesheet}[2]{\exerciseifempty{#2}%
+ {\ifsolutions\metaterm{solutions}\else%
+ \metaterm{sheet}\fi\ #1}%
+ {\ifsolutions\metaterm{solutions} \fi #2}}
+
+\ifchilddoc
+\metaset{partof}{\metatranslate[#1]{sheets} \metapick[#1]{course}}
+\fi
+
+\metaset[sep]{draft}{ -- }
+\metaset[sep]{subtitle}{, }
+\metaset{subtitle}{\ifsolutions\metatranslate[#1]{solutions} \fi%
+ \metaif[use]{sheettitle}{\metapick[#1]{sheettitle}}{\metapick[#1]{material}}}
+\metaset{subject}{Lecture Series,
+ \metapick[#1]{institution}, \metapick[#1]{period}}
+
+\metaset{copyrightowner}{\metapick[#1]{author}}
+\ifchilddoc
+\metacopyright{doc}
+\else
+\metacopyright{doc-parts}
+\fi
+\metaset{licenseprovider}{of \metapick[#1]{institution}}
+\metalicense{consent}
+
+\ifsolutions\else\ifdraft\else
+\metalicensecc{by-sa}
+\fi\fi
+
+\begin{document}
+
+\def\tmp{}
+\ifchilddocmanual
+\def\tmp{\end{document}}
+\input{\childdocname}
+\fi\tmp
+
+\setcounter{section}{-1}
+\begingroup\ifchilddoc\else
+\renewcommand{\thepage}{\arabic{page}}
+
+\pdfbookmark[1]{\metaterm{title}}{title}
+\thispagestyle{empty}
+\vspace*{\fill}
+\begin{center}
+\metapick[course]{titletext}
+\end{center}
+\vspace*{\fill}\vspace*{\fill}
+\newpage
+
+\phantomsection\pdfbookmark[1]{\metaterm{copyright}}{copyright}
+\thispagestyle{empty}
+\vspace*{\fill}\vspace*{\fill}
+\begin{center}\begin{minipage}{11cm}\raggedright
+\metapick[print]{rightstext}
+\end{minipage}\end{center}
+\vspace*{\fill}\vspace*{\fill}\vspace*{\fill}
+\newpage
+
+\makeatletter\renewcommand\@pnumwidth{2.4em}\makeatother
+\setcounter{tocdepth}{2}
+\phantomsection\pdfbookmark[1]{\metaterm{contents}}{contents}
+{\parskip0pt\tableofcontents}
+\exercisecleardoublepage\setcounter{page}{1}
+
+\fi\endgroup
+
+\include{exfser01}
+\include{exfser02}
+\include{exfser03}
+
+\def\jobnameunused{exfseraa}
+\ifx\childdocname\jobnameunused\include{\jobnameunused}\fi
+
+\end{document}
+\endinput
+%%
+%% End of file `exfserm.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfsermk.mak new/doc/latex/exframe/exfsermk.mak
--- old/doc/latex/exframe/exfsermk.mak 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfsermk.mak 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,49 @@
+SRCMAIN = exfserm
+SRCSEC = exfser
+SRCPRB = exfserp
+SCRIPT = exfsermk.sh
+MAKEFILE = exfsermk.mak
+TRGLIST = Problems Solutions
+SECNUM = 01 02 03 aa
+PREREQS = $(SRCMAIN).tex
+
+SRCSECFILES = $(SECNUM:%=$(SRCSEC)%.tex)
+TRGMAINFILES = $(foreach trg,$(TRGLIST),$(trg).pdf)
+TRGSECFILES = $(foreach trg,$(TRGLIST),$(trg).pdf $(SECNUM:%=$(trg)%.pdf))
+GENFILES = $(foreach trg,$(TRGLIST),$(trg).tex $(SECNUM:%=$(trg)%.tex))
+BAKFILES = $(PREREQS) $(SRCSECFILES) $(GENFILES)\
+ $(MAKEFILE) $(SCRIPT) $(SRCPRB)*
+
+default: sheets ;
+main: $(TRGMAINFILES) ;
+sheets: $(TRGSECFILES) ;
+sheet%: $(foreach trg,$(TRGLIST),$(trg)%.pdf) ;
+all: main sheets ;
+sources: $(GENFILES) ;
+
+$(TRGMAINFILES): $(SRCSECFILES) $(PREREQS)
+ bash ./$(SCRIPT) $@
+$(word 1,$(TRGLIST))%.pdf: $(SRCSEC)%.tex $(PREREQS)
+ bash ./$(SCRIPT) $@
+$(word 2,$(TRGLIST))%.pdf: $(SRCSEC)%.tex $(PREREQS)
+ bash ./$(SCRIPT) $@
+$(GENFILES):
+ bash ./$(SCRIPT) $@
+
+touch:
+ touch $(SRCMAIN).tex
+clean:
+ rm -f $(foreach ext,.aux .log,$(SECNUM:%=$(SRCSEC)%$(ext)))
+ rm -f $(foreach trg,$(TRGLIST),$(SECNUM:%=$(trg)%.log) $(trg).log)
+ rm -f $(foreach ext,.aux .log .out .toc,$(SRCMAIN)$(ext))
+ rm -f $(foreach ext,.mp .mpx -*.mps,$(SRCMAIN)$(ext))
+ rm -f $(foreach ext,-tmp.log -tmp.mp -tmp.mpx,$(SRCMAIN)$(ext))
+ rm -f mpxerr.tex mpxerr.log mpxerr.dvi texput.log
+ rm -f $(patsubst %,$(SRCPRB)*%,.aux .log .mp .mpx -*.mps)
+ rm -f $(patsubst %,$(SRCPRB)*%,-tmp.log -tmp.mp -tmp.mpx)
+clean-bak:
+ rm -f $(BAKFILES:%=%~) $(BAKFILES:%=%.bak)
+clean-all: clean
+ rm -f $(TRGSECFILES) $(TRGMAINFILES) $(GENFILES)
+ rm -f $(SECNUM:%=$(SRCSEC)%.pdf) $(SRCMAIN).pdf
+ rm -f $(SRCPRB)*.pdf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfsermk.sh new/doc/latex/exframe/exfsermk.sh
--- old/doc/latex/exframe/exfsermk.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfsermk.sh 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,104 @@
+#!/bin/bash
+
+srcmain="exfserm"
+srcsec="exfser"
+trglist=(Problems Solutions)
+trgsol=(n y)
+secnum="01 02 03 aa"
+
+if [ -z $1 ]
+then
+ echo "Usage:
+ $0 number [version]
+ number: number of sheet, 0 for combined document
+ version: 0 for problems, 1 for solutions
+ $0 filename
+ filename: target file to be compiled"
+ exit 1
+fi
+
+num="$1"
+ver="$2"
+nl=$'\n'
+secokay=""
+make=".pdf"
+
+for v in "${trglist[@]}"
+do
+ if [[ $num =~ ^$v ]]
+ then
+ ver=$v
+ num=${num#$v}
+ if [[ $num =~ ^.*\.tex$ ]]; then make=".tex"; fi
+ num=${num%%.*}
+ fi
+done
+
+if [[ $num =~ ^[0-9]$ ]]; then num="0$num"; fi
+if [[ $num == "00" ]]; then num=""; fi
+
+if [[ -z $num ]]; then secokay="okay"; fi
+for v in $secnum
+do
+ if [[ "$num" == "$v" ]]; then secokay="okay"; fi
+done
+
+if [[ -z $secokay ]]
+then
+ echo "error: unknown sheet"
+ exit 1
+fi
+
+if [[ "$make" == ".pdf" ]]; then nl=""; fi
+
+function docompile
+{
+ if [[ -z $num ]]
+ then
+ job="$srcmain"
+ fwd="\\childdocforward{$srcmain}"
+ else
+ job="$srcsec$num"
+ fwd="\\childdocforward[$srcmain]{$srcsec$num}"
+ fi
+ body="\\def\\jobname{$job}$optdef\\input{childdoc.def}$fwd"
+ for pass in first main extra
+ do
+ par="";
+ if [[ "$pass" == "first" ]]; then par="-draftmode"; fi
+ drop="This is|entering extended mode|\\write18"
+ drop="$drop|Preloading the plain mem file|mpost\.mp|plain\.mp"
+ pdflatex -shell-escape -interaction=batchmode $par \
+ -jobname "$trg" "$body" | grep -vE "$drop"
+ if [[ "$pass" != "main" ]]; then continue; fi
+ if ! (grep -E -q "may have changed|rerunfilecheck Warning" "$trg.log")
+ then break; fi
+ done
+ grep -E "^! |Warning|Error|Undefined|Overfull|Underfull" "$trg.log"
+}
+
+function writesource
+{
+ if [[ -z $num ]]
+ then
+ fwd="\\childdocforward{$srcmain}"
+ else
+ fwd="\\childdocforwardprefix[$srcmain]{$target}{$srcsec}"
+ fi
+ body="$optdef\\input{childdoc.def}$nl$fwd"
+ echo "$body" > $trg.tex
+}
+
+for i in "${!trglist[@]}"
+do
+ if [[ -z $ver || "$ver" == "${trglist[$i]}" || $ver = $i ]]
+ then
+ target="${trglist[$i]}"
+ sol="${trgsol[$i]}"
+ trg="$target$num"
+ optdef="\\def\\draftver{n}$nl\\def\\printsol{$sol}$nl"
+ if [[ "$make" == ".pdf" ]]; then docompile; else writesource; fi
+ fi
+done
+
+echo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfserpe.tex new/doc/latex/exframe/exfserpe.tex
--- old/doc/latex/exframe/exfserpe.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfserpe.tex 2020-02-25 23:03:03.000000000 +0100
@@ -0,0 +1,82 @@
+%%
+%% This is file `exfserpe.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplemultiprobleme')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+%%\providecommand{\printsol}{n}
+\input{childdoc.def}
+\childdocby{exfserm}
+\begin{problem}[title={Sample E}]
+
+\ifdefined\mpostuse
+\begin{mpostfig}[label={\problemtag-fig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+fillshape(paths[1], 0.7white) pensize(1pt);
+label(btex \figure etex, center(paths[1]));
+\end{mpostfig}
+\begin{onlysolutions}
+\begin{mpostfig}[label={\problemtag-solfig}]
+interim xu:=1.5cm;
+paths[1]:=fullcircle scaled 1xu;
+paths[2]:=((subpath (-2,2) of paths[1])--cycle) shifted (+0.5xu,0);
+paths[3]:=((subpath (2,6) of paths[1])--cycle) shifted (-0.5xu,0);
+fillshape(paths[2], 0.7white) pensize(1pt);
+fillshape(paths[3], 0.7white) pensize(1pt);
+\end{mpostfig}
+\end{onlysolutions}
+\fi
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-fig}\else figure\fi
+\end{center}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\begin{center}
+\ifdefined\mpostuse\mpostuse{\problemtag-solfig}\else figure\fi
+\end{center}
+\lorem
+\end{solution}
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\end{subproblem}
+
+\begin{solution}
+\lorem
+\end{solution}
+
+\end{problem}
+\endinput
+%%
+%% End of file `exfserpe.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfserpf.tex new/doc/latex/exframe/exfserpf.tex
--- old/doc/latex/exframe/exfserpf.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/exframe/exfserpf.tex 2020-01-11 23:12:12.000000000 +0100
@@ -0,0 +1,44 @@
+%%
+%% This is file `exfserpf.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% exframe.dtx (with options: `samplemultiproblemf')
+%%
+%% Copyright (C) 2011-2020 Niklas Beisert
+%%
+%% 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.
+%%
+%%\providecommand{\printsol}{n}
+\input{childdoc.def}
+\childdocby{exfserm}
+\begin{problem}[title={Sample F}]
+
+\lorem
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\begin{subproblem}
+\lorem
+\begin{solution}
+\lorem
+\end{solution}
+\end{subproblem}
+
+\end{problem}
+
+\endinput
+%%
+%% End of file `exfserpf.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exframe/exfsmp1.tex new/doc/latex/exframe/exfsmp1.tex
--- old/doc/latex/exframe/exfsmp1.tex 2019-01-21 22:40:19.000000000 +0100
+++ new/doc/latex/exframe/exfsmp1.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,211 +0,0 @@
-%%
-%% This is file `exfsmp1.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% exframe.dtx (with options: `sample1')
-%%
-%% Copyright (C) 2011-2019 Niklas Beisert
-%%
-%% 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.
-%%
-\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesFile{exfsmp1.tex}[2019/01/21 v3.1 sample 1 for exframe]
-\documentclass[12pt]{article}
-
-\usepackage{geometry}
-\geometry{layout=a4paper}
-\geometry{paper=a4paper}
-\geometry{margin=2.5cm}
-\parindent0pt
-\parskip0.5ex
-
-\usepackage{amsmath}
-\usepackage{hyperref}
-\usepackage[extstyle]{exframe}
-
-\exercisesetup{solutions=true}
-%%\exercisesetup{solutions=false}
-
-\exercisestyle{plainheader}
-\exerciseconfig{composeheaderbelowright}{\getsheetdata{points}}%
-
-\exerciseconfig{countersheet}{\Roman{sheet}}
-\exerciseconfig{countersubproblem}{\roman{subproblem})}
-\exerciseconfig{countersubproblemmax}{vii)}
-
-\exerciseconfig{termsheet}{\"Ubungsblatt}
-\exerciseconfig{termsheets}{\"Ubungsbl\"atter}
-
-\exercisestyle{pointsat=margin}
-\reversemarginpar
-\exerciseconfig{composepointsmargin}[1]{#1p.}
-
-\exerciseconfig{styletitle}{\sffamily\bfseries}
-
-\exerciseconfig{skipproblembelow}{1.5cm}
-
-\exercisestyle{fracpoints}
-\exercisestyle{solutionbelow=problem}
-\exercisestyle{solutionsep}
-
-\exerciseconfig{composemetasheet}[2]{\getexercisedata{course},
- \exerciseifempty{#2}{\getexerciseconfig{termsheet} #1}{#2}}
-
-\exercisesetup{pdfdata=sheet}
-\exercisedata{title=%
- {\getexercisedata{course}, \getexercisedata{material}}}
-\exercisedata{author=%
- {\getexercisedata{instructor}, \getexercisedata{institution}}}
-
-\exercisedata{institution={Katharinen-Volksschule}}
-\exercisedata{course={Mathematik}}
-\exercisedata{instructor={J.\ G.\ B\"uttner}}
-\exercisedata{period={ca.\ 1786}}
-\exercisedata{material={\"Ubungsaufgaben}}
-
-\begin{document}
-
-\begin{sheet}[number=5]
-
-\begin{problem}[title={Sums}]
-
-This problem deals with sums and series.
-
-\begin{subproblem}[points=2,difficulty=simple,label={\problemtag-simplesum}]
-Compute the sum
-\showpoints
-\begin{equation}
-1+2+3.
-\end{equation}
-
-\begin{solution}
-The result is
-\begin{equation}
-1+2+3=6.
-\end{equation}
-\end{solution}
-
-\end{subproblem}
-
-\begin{subproblem}[points=97,difficulty=lengthy]
-Compute the sum
-\begin{equation}
-1+2+3+\ldots+98+99+100.
-\end{equation}
-Keep calm and calculate!
-%%That ought to keep him occupied for a while
-\end{subproblem}
-
-\begin{solution}[author={C.\ F.\ Gau\ss}]
-We use the result $1+2+3=6$ from part \ref{\problemtag-simplesum}
-to jumpstart the calculation. The remaining sums yield
-\awardpoints[1 for each remaining sum]{97}
-\begin{equation}
-6+4+5+\ldots+99+100=5050.
-\end{equation}
-Alternatively the summands can be grouped into pairs as follows:
-\begin{align}
-1+100&=101,\\
-2+99&=101,\\
-3+98&=101,\\
-\ldots &\nonumber\\
-50+51&=101.
-\end{align}
-These amount to 50 times the same number 101.
-Therefore the sum equals
-\begin{equation}
-1+2+\ldots+99+100=50\cdot 101=5050.
-\end{equation}
-\textit{Ligget se!} \awardpoints*{97}
-\end{solution}
-
-You may give the final part a try:
-
-\begin{subproblem}[optional={optional}, difficulty={requires inspiration}]
-Compute the series
-\begin{equation}
-1+2+3+\ldots
-\end{equation}
-
-\begin{solution}
-The series is divergent, so the result is $\infty$ \awardpoints*{1}.
-\par
-However, after subtracting the divergent part,
-the result clearly is
-\begin{equation}
-\zeta(-1)=-\frac{1}{12}\,,
-\end{equation}
-where the zeta-function $\zeta(s)$ is defined by
-\begin{equation}
-\zeta(s):=\sum_{k=1}^\infty \frac{1}{k^s}\,.
-\end{equation}
-This definition holds only for $s>1$ where the sum is convergent,
-but one can continue the complex analytic function to $s<0$
-\awardpoints*{1.5}.
-\par
-Another way of understanding the result
-is to use the indefinite summation formula
-for arbitrary exponent $s$ in the summand
-(which also follows from the Euler--MacLaurin formula)
-\begin{equation}
-\sum_n n^s
-= \frac{n^{s+1}}{s+1}
- -\sum_{j=0}^s \frac{\zeta(j-s)\,s!}{(s-j)!\,j!}\,n^j
-= \ldots - \zeta(-s)\,n^0.
-\end{equation}
-Curiously, the constant term with $j=0$ is just the desired result
-but with the wrong sign
-(in fact, the constant term of an indefinite sum is ambiguous;
-for the claim we merely set $j=0$
-in the expression which holds for others values of $j$)
-\awardpoints*{0.5}.
-In order to understand the sign,
-we propose that the above formula describes the regularised result
-for the sum with limits $+\infty$ and $n$
-\begin{equation}
-\sum_{k=+\infty}^n k^s
-\simeq \frac{n^{s+1}}{s+1}
- -\sum_{j=0}^s \frac{\zeta(j-s)\,s!}{(s-j)!\,j!}\,n^j.
-\end{equation}
-Then we flip the summation limits of the desired sum
-to bring it into the above form
-\awardpoints*{0.5}
-\begin{equation}
-\sum_{k=1}^\infty k^s
-= -\sum_{k=\infty}^0 k^s
-\simeq \zeta(-s).
-\end{equation}
-\end{solution}
-
-\end{subproblem}
-
-\end{problem}
-
-\begin{problem}[points=1, difficulty=insane]
-Show that the equation
-\begin{equation}
-a^3+b^3=c^3
-\end{equation}
-has no positive integer solutions.
-\end{problem}
-
-\begin{solution}
-\normalmarginpar
-This is beyond the scope of this example.
-\marginpar{\footnotesize\raggedright does not fit here.\par}
-\end{solution}
-
-\end{sheet}
-
-\end{document}
-\endinput
-%%
-%% End of file `exfsmp1.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/exframe.doc.tlpobj new/tlpkg/tlpobj/exframe.doc.tlpobj
--- old/tlpkg/tlpobj/exframe.doc.tlpobj 2019-02-28 03:35:59.000000000 +0100
+++ new/tlpkg/tlpobj/exframe.doc.tlpobj 2020-02-26 01:54:39.000000000 +0100
@@ -1,9 +1,18 @@
name exframe.doc
category Package
-revision 49784
+revision 53911
shortdesc doc files of exframe
relocated 1
-docfiles size=88
+docfiles size=115
RELOC/doc/latex/exframe/README.txt
RELOC/doc/latex/exframe/exframe.pdf
- RELOC/doc/latex/exframe/exfsmp1.tex
+ RELOC/doc/latex/exframe/exfsamp.tex
+ RELOC/doc/latex/exframe/exfser01.tex
+ RELOC/doc/latex/exframe/exfser02.tex
+ RELOC/doc/latex/exframe/exfser03.tex
+ RELOC/doc/latex/exframe/exfseraa.tex
+ RELOC/doc/latex/exframe/exfserm.tex
+ RELOC/doc/latex/exframe/exfsermk.mak
+ RELOC/doc/latex/exframe/exfsermk.sh
+ RELOC/doc/latex/exframe/exfserpe.tex
+ RELOC/doc/latex/exframe/exfserpf.tex
++++++ exframe.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/exframe/exframe.sty new/tex/latex/exframe/exframe.sty
--- old/tex/latex/exframe/exframe.sty 2019-01-21 22:40:19.000000000 +0100
+++ new/tex/latex/exframe/exframe.sty 2020-02-25 23:03:03.000000000 +0100
@@ -6,7 +6,7 @@
%%
%% exframe.dtx (with options: `package')
%%
-%% Copyright (C) 2011-2019 Niklas Beisert
+%% Copyright (C) 2011-2020 Niklas Beisert
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesPackage{exframe}[2019/01/21 v3.1 Framework for Exercise Problems]
+\ProvidesPackage{exframe}[2020/02/24 v3.4 Framework for Exercise Problems]
\RequirePackage{verbatim}
\RequirePackage{xkeyval}
@@ -31,6 +31,7 @@
\long\def\exf@exparg#1#2{\exf@exptwo\exf@expswitch{#2}{#1}}
\def\exf@csdo#1#2{\expandafter#1\csname#2\endcsname}
\def\exf@csdotwo#1#2#3{\exf@exptwo#1#2\csname#3\endcsname}
+\def\exf@csor#1#2{\ifcsname#1\endcsname\csname#1\endcsname\else#2\fi}
\long\def\exf@append@def#1#2{\exf@exptwo\def#1\expandafter{#1#2}}
\long\def\exf@prepend@switch#1#2#3{#2{#3#1}}
@@ -39,6 +40,9 @@
\newcommand{\exf@expsetkeys}[2]{\edef\exf@tmp{#2}%
\exf@exparg{\setkeys{#1}}{\exf@tmp}}
+\newcommand{\exf@ifis}[3]%
+ {\def\exf@tmp{#2}\ifx#1\exf@tmp#3\fi}
+
\newcommand{\exf@href}[2]{%
\ifdefined#1\ifx#1\exf@empty#2\else%
\ifdefined\hyperlink\protect\hyperlink{#1}{#2}\else#2\fi\fi\else#2\fi}
@@ -49,6 +53,12 @@
\newcommand{\exf@addcontentsline}[2]{%
\ifx#1\exf@empty\else\addcontentsline{toc}{#1}{#2}\fi}
+\newcommand{\exf@notedata}[3]{\csname exf@notedata@#1\endcsname{#2}{#3}}
+\AtBeginDocument{\immediate\write\@auxout{%
+ \string\providecommand{\string\exf@notedata}[3]{}}}
+\newcommand{\exf@writedata}[3]%
+ {\immediate\write\@auxout{\string\exf@notedata{#1}{#2}{#3}}}
+
\def\exf@problemname{problem}
\def\exf@subproblemname{sub\exf@problemname}
\def\exf@solutionname{solution}
@@ -69,6 +79,8 @@
\define@boolkey{exframe.sty}[exf@]{extdata}[true]{}
\define@boolkey{exframe.sty}[exf@]{extstyle}[true]{}
+\define@boolkey{exframe.sty}[exf@]{metastr}[true]{}
+
\define@boolkey{exf@setup}[]{solutions}[true]{}
\define@choicekey{exf@setup}{pdfdata}%
{auto,manual,sheet,off}[auto]{\def\exf@metadata{#1}}
@@ -80,11 +92,27 @@
\define@boolkey{exf@setup}[exf@]{autolabelsheet}[true]{}
\define@boolkey{exf@setup}[exf@]{autolabelproblem}[true]{}
\define@boolkey{exf@setup}[exf@]{warntext}[true]{}
+\define@boolkey{exf@setup}[exf@]{solutionbuf}[true]{}
+\exf@solutionbuftrue
+\define@boolkey{exf@setup}[exf@]{problembuf}[true]{}
+\def\exf@emptytestchar{&}
+\define@key{exf@setup}{emptytestchar}{\def\exf@emptytestchar{#1}}
\ProcessOptionsX
\newcommand{\exercisesetup}[1]{\exf@expsetkeys{exf@setup}{#1}}
+\ifexf@metastr
+\PassOptionsToPackage{course=true}{metastr}
+\RequirePackage{metastr}
+\fi
+
+\newenvironment{onlysolutions}%
+ {\ifsolutions\else%
+ \let\endonlysolutions\endcomment%
+ \expandafter\comment\fi}%
+ {}
+
\newcommand{\exerciseconfig}[1]{%
\@ifnextchar[{\exf@configopt{#1}}{\exf@confignoopt{#1}}}
\long\def\exf@configopt#1[#2]#3{%
@@ -99,8 +127,10 @@
\newcommand{\exerciseconfigempty}[3]{\exf@csdo\ifx{exf@config@#1}\exf@empty%
#2\else#3\fi}
-\long\def\exerciseifempty#1#2#3{\if\else#3\fi}
-\long\def\exerciseifnotempty#1#2{\if&\else#2\fi}
+\long\def\exerciseifempty#1#2#3{%
+ \if\exf@emptytestchar#1\exf@emptytestchar#2\else#3\fi}
+\long\def\exerciseifnotempty#1#2{%
+ \if\exf@emptytestchar#1\exf@emptytestchar\else#2\fi}
\exerciseconfig{termsheet}{Sheet}
\exerciseconfig{termsheets}{Sheets}
@@ -120,6 +150,7 @@
\exerciseconfig{styletitlesolution}{}
\exerciseconfig{styletitlesolutionsproblem}{\small}
\exerciseconfig{styletitlesolutions}{\normalsize}
+\exerciseconfig{styletitleproblems}{\Large}
\exerciseconfig{skipproblemabove}{3.25ex plus 1ex minus 1.5ex}
\exerciseconfig{skipproblembelow}{3pt plus 1pt minus 1pt}
@@ -142,19 +173,28 @@
\exerciseconfig{skipsolutionsabove}{1.5ex plus 0.5ex minus 1ex}
\exerciseconfig{skipsolutionsbelow}{1.5ex plus 0.5ex minus 1ex}
-\exerciseconfig{skipsolutionsproblem}{1.0ex plus 0ex minus 0.5ex}
+\exerciseconfig{skipsolutionsproblemabove}{1.0ex plus 0ex minus 0.5ex}
+\exerciseconfig{skipsolutionsproblemtitle}{1.0ex plus 0ex minus 0.5ex}
+\exerciseconfig{skipsolutionsproblem}{\exf@config@skipsolutionsproblemtitle}
\exerciseconfig{skipsolutionstitle}{1.0ex plus 0ex minus 0.5ex}
+\exerciseconfig{skipproblemsabove}{1.5ex plus 0.5ex minus 1ex}
+\exerciseconfig{skipproblemsbelow}{1.5ex plus 0.5ex minus 1ex}
+\exerciseconfig{skipproblemstitle}{1.0ex plus 0ex minus 0.5ex}
+
\exerciseconfig{insertsheettitle}{\centerline{\getsheetdata{title}}}
\exerciseconfig{insertsheetclearpage}{\exercisecleardoublepage}
\exerciseconfig{insertsheetbefore}{}
\exerciseconfig{insertsheetafter}{}
\exerciseconfig{insertsolutionsbefore}{}
\exerciseconfig{insertsolutionsafter}{}
+\exerciseconfig{insertproblemsbefore}{}
+\exerciseconfig{insertproblemsafter}{}
\exerciseconfig{insertproblembefore}{}
\exerciseconfig{insertproblemafter}{}
\exerciseconfig{insertproblemsolution}{}
\exerciseconfig{insertprobleminfo}{}
+\exerciseconfig{insertproblemselect}[1]{}
\exerciseconfig{insertsubproblembefore}{}
\exerciseconfig{insertsubproblemafter}{}
\exerciseconfig{insertsubprobleminfo}{}
@@ -195,13 +235,17 @@
{\getexerciseconfig{composetocproblem}{#1}{#2}}
\exerciseconfig{composetitlesolutions}%
{\getexerciseconfig{termsolutions}}
+\exerciseconfig{composetitleproblems}%
+ {\getexerciseconfig{termproblems}}
\exerciseconfig{composetocsolutions}%
{\getexerciseconfig{composetitlesolutions}}
+\exerciseconfig{composetocproblems}%
+ {\getexerciseconfig{composetitleproblems}}
\exerciseconfig{composetitlesolutionsproblemsingle}[2]%
{\getexerciseconfig{termsolution}}
\exerciseconfig{composetitlesolutionsproblemmulti}[2]%
{\exerciseifempty{#2}{\getexerciseconfig{termproblem} #1}{#1. #2}}
-\exerciseconfig{composeitemsolution}[2]{#1#2}
+\exerciseconfig{composeitemsolutionlabel}[2]{#1#2}
\exerciseconfig{composepointsnum}[1]{#1}
\exerciseconfig{composepoints}[1]{\getexerciseconfig{composepointsnum}{#1}~%
@@ -217,10 +261,55 @@
\exerciseconfig{composepointsawardalt}[2]%
{(\getexerciseconfig{composepoints}{#1}*\exerciseifnotempty{#2}{; #2})}
+\exerciseconfig{composepointspair}[2]{%
+ \ifdim#2pt=0pt%
+ \getexerciseconfig{composepoints}{#1}%
+ \else\ifdim#1pt=0pt%
+ +\getexerciseconfig{composepoints}{#2}%
+ \else%
+ \getexerciseconfig{composepointsnum}{#1}+%
+ \getexerciseconfig{composepointsnum}{#2}~%
+ \getexerciseconfig{termpoints}%
+ \fi\fi}
+\exerciseconfig{composepointspairbody}[2]{%
+ \ifdim#2pt=0pt\getexerciseconfig{composepointsbody}{#1}\else%
+ (\getexerciseconfig{composepointspair}{#1}{#2})\fi}
+\exerciseconfig{composepointspairstart}[2]{%
+ \ifdim#2pt=0pt\getexerciseconfig{composepointsstart}{#1}\else%
+ (\getexerciseconfig{composepointspair}{#1}{#2})\fi}
+\exerciseconfig{composepointspairmargin}[2]{%
+ \ifdim#2pt=0pt\getexerciseconfig{composepointsmargin}{#1}\else%
+ \getexerciseconfig{composepointspair}{#1}{#2}\fi}
+\exerciseconfig{composepointspairsheet}[2]{%
+ \ifdim#2pt=0pt\getexerciseconfig{composepointssheet}{#1}\else%
+ \getexerciseconfig{composepointspair}{#1}{#2}\fi}
+\exerciseconfig{composepointspairaward}[3]{%
+ \ifdim#2pt=0pt\getexerciseconfig{composepointsaward}{#1}{#3}\else%
+ (\getexerciseconfig{composepointspair}{#1}{#2}%
+ \exerciseifnotempty{#3}{; #3})\fi}
+\exerciseconfig{composepointspairawardalt}[3]{%
+ \ifdim#2pt=0pt\getexerciseconfig{composepointsawardalt}{#1}{#3}\else%
+ (\getexerciseconfig{composepointspair}{#1}{#2}*%
+ \exerciseifnotempty{#3}{; #3})\fi}
+\exerciseconfig{composepointspairbodyproblem}[2]{%
+ \getexerciseconfig{composepointspairbody}{#1}{#2}}
+\exerciseconfig{composepointspairbodysubproblem}[2]{%
+ \getexerciseconfig{composepointspairbody}{#1}{#2}}
+\exerciseconfig{composepointspairbodysolution}[2]{%
+ \getexerciseconfig{composepointspairbody}{#1}{#2}}
+\exerciseconfig{composepointspairstartproblem}[2]{%
+ \getexerciseconfig{composepointspairstart}{#1}{#2}}
+\exerciseconfig{composepointspairstartsubproblem}[2]{%
+ \getexerciseconfig{composepointspairstart}{#1}{#2}}
+\exerciseconfig{composepointspairstartsolution}[2]{%
+ \getexerciseconfig{composepointspairstart}{#1}{#2}}
+
\exerciseconfig{insertpointsmargin}[1]{\marginpar{\footnotesize #1}}
\exerciseconfig{insertwarnpoints}[3]
{\textbf{points mismatch for #1 (#2 determined vs.\ #3 given)}}
+\exerciseconfig{insertwarnpointsrerun}[1]
+ {\textbf{points changed for #1 (please recompile)}}
\exerciseconfig{countersheet}{\arabic{\exf@sheetcounter}}
\exerciseconfig{counterproblem}{\arabic{\exf@problemcounter}}
@@ -231,14 +320,23 @@
\exerciseconfig{counterproblemequation}{P\arabic{equation}}
\exerciseconfig{countersolutionequation}{S\arabic{equation}}
+\exerciseconfig{tagsheet}{\arabic{\exf@sheetcounter}}
+\exerciseconfig{tagproblem}{\csname the\exf@problemcounter\endcsname}
+\exerciseconfig{tagsubproblem}{\problemtag-\arabic{\exf@subproblemcounter}}
+
\exerciseconfig{labelsheet}[1]{sheet:#1}
\exerciseconfig{labelproblem}[1]{prob:#1}
+\exerciseconfig{labelsubproblem}[1]{\getexerciseconfig{labelproblem}{#1}}
\exerciseconfig{toclevelsheet}{}
\exerciseconfig{toclevelproblem}{}
+\exerciseconfig{toclevelproblems}{}
\exerciseconfig{toclevelsolution}{}
\exerciseconfig{toclevelsolutions}{}
+\exerciseconfig{extsolutions}{.sol}
+\exerciseconfig{extproblems}{.prb}
+
\newcommand{\defexercisestylearg}[3][]{%
\def\exf@tmp{#1}\ifx\exf@tmp\exf@empty%
\define@key{exf@style}{#2}{#3}\else%
@@ -249,26 +347,31 @@
{\csname ifexf@style@#1\endcsname\csname exf@style@code@#1\endcsname\fi}}
\newcommand{\exercisestyle}[1]{\exf@expsetkeys{exf@style}{#1}}
+\define@boolkey{exf@style}[exf@]{problemmanual}[true]{}
+\exf@problemmanualfalse
\def\exf@solutionbelow{subproblem}
\define@choicekey{exf@style}{solutionbelow}%
{here,subproblem,subproblem*,problem,problem*,sheet,manual}%
- {\def\exf@solutionbelow{#1}}
-\newcommand{\exf@solbelowis}[2]%
- {\def\exf@tmp{#1}\ifx\exf@solutionbelow\exf@tmp#2\fi}
+ {\ifexf@solfile@open\else\gdef\exf@solutionbelow{#1}\fi}
\defexercisestyle{sheetequation}{}
\defexercisestyle{problemequation}{}
\defexercisestyle{solutionequation}{}
\exf@style@solutionequationtrue
\def\exf@pointsat{start}
+\define@choicekey{exf@style}{problempointsat}%
+ {start,start*,margin,end,manual,off}{\def\exf@pointsat{#1}}
\define@choicekey{exf@style}{pointsat}%
{start,start*,margin,end,manual,off}{\def\exf@pointsat{#1}}
\def\exf@subpointsat{end}
+\define@choicekey{exf@style}{subproblempointsat}%
+ {start,start*,margin,end,manual,off}{\def\exf@subpointsat{#1}}
\define@choicekey{exf@style}{subpointsat}%
{start,start*,margin,end,manual,off}{\def\exf@subpointsat{#1}}
-\newcommand{\exf@pointsatis}[2]%
- {\def\exf@tmp{#1}\ifx\exf@pointsat\exf@tmp#2\fi}
-\newcommand{\exf@subpointsatis}[2]%
- {\def\exf@tmp{#1}\ifx\exf@subpointsat\exf@tmp#2\fi}
+\def\exf@solpointsat{off}
+\define@choicekey{exf@style}{solutionpointsat}%
+ {start,start*,margin,end,manual,off}{\def\exf@solpointsat{#1}}
+\define@choicekey{exf@style}{solpointsat}%
+ {start,start*,margin,end,manual,off}{\def\exf@solpointsat{#1}}
\defexercisestylearg{problemby}{\exf@numberproblemwithin{#1}}
\defexercisestylearg{equationby}{\exf@numberequationwithin{#1}}
\defexercisestyle{pagebysheet}{%
@@ -280,7 +383,7 @@
\defexercisestyle{equationbysheet}%
{\exf@numberequationwithin{\exf@sheetcounter}}
\defexercisestyle{fracpoints}%
- {\exerciseconfig{composepointsnum}[1]{\exf@nicefrac{##1}}}
+ {\exerciseconfig{composepointsnum}[1]{\protect\showfracpoints{##1}}}
\defexercisestylearg[true]{twoside}{\exercisesetup{twoside={#1}}}
\ifexf@extstyle
@@ -295,7 +398,8 @@
\exerciseconfigappend{styletextproblem}{\color[gray]{0.2}}}
\defexercisestyle{solutionsep}{%
\exerciseconfig{insertsolutionsbefore}{\hrule\nopagebreak[3]\vspace{0.5ex}}%
- \exerciseconfig{insertsolutionsafter}{\nopagebreak[3]\vspace{1.0ex}\hrule}}
+ \exerciseconfig{insertsolutionsafter}%
+ {\removelastskip\nopagebreak[3]\vspace{1.0ex}\hrule}}
\defexercisestyle{plainheader}{%
\exerciseconfig{styleheadertitle}{\Large\bfseries}%
\exerciseconfig{styleheadercourse}{\sffamily}%
@@ -356,6 +460,7 @@
\exf@csdo\def{exf@data@sheet@#1}{}%
\define@key{exf@sheet}{#1}%
{\exf@csdo\def{exf@data@sheet@#1}{##1}}}
+\newcommand{\setsheetdata}[1]{\setkeys{exf@sheet}{#1}}
\newcommand{\getsheetdata}[1]{\csname exf@data@sheet@#1\endcsname}
\newcommand{\sheetdataempty}[3]{\exf@csdo\ifx{exf@data@sheet@#1}\exf@empty%
#2\else#3\fi}
@@ -370,14 +475,14 @@
\define@key{exf@sheet}{title}{\def\exf@data@sheet@rawtitle{#1}}
\def\exf@data@sheet@title{\exf@config@composetitlesheet%
{\csname the\exf@sheetcounter\endcsname}{\exf@data@sheet@rawtitle}}%
-\def\exf@data@sheet@rawpoints{}
-\def\exf@data@sheet@points{\exf@config@composepointssheet%
- {\exf@data@sheet@rawpoints}}%
+\def\exf@data@sheet@points{\ifdefined\exf@sheet@points%
+ \expandafter\exf@config@composepointspairsheet\exf@sheet@points\fi}%
\newcommand{\defproblemdata}[1]{%
\exf@csdo\def{exf@data@problem@#1}{}%
\define@key{exf@problem}{#1}%
{\exf@csdo\def{exf@data@problem@#1}{##1}}}
+\newcommand{\setproblemdata}[1]{\setkeys{exf@problem,exf@scanproblem}{#1}}
\newcommand{\getproblemdata}[1]{\csname exf@data@problem@#1\endcsname}
\newcommand{\problemdataempty}[3]{\exf@csdo\ifx{exf@data@problem@#1}\exf@empty%
#2\else#3\fi}
@@ -447,33 +552,23 @@
\defprobleminfo{timepresent}{\{\!\{#1\}\!\}}
\fi
-\newcommand{\exf@writemetadata}[1]{%
+\newcommand{\exf@writemetadata}{%
\ifdefined\hypersetup%
- \def\exf@tmp{#1}\ifx\exf@tmp\exf@empty%
- \ifx\exf@data@author\exf@empty\else%
- \hypersetup{pdfauthor={\exf@data@author}}\fi%
- \ifx\exf@data@title\exf@empty\else%
- \hypersetup{pdftitle={\exf@data@title}}\fi%
- \else%
- \ifx\exf@data@sheet@author\exf@empty%
- \ifx\exf@data@author\exf@empty\else%
- \hypersetup{pdfauthor={\exf@data@author}}\fi%
- \else\hypersetup{pdfauthor={\exf@data@sheet@author}}\fi%
- \hypersetup{pdftitle={\exf@config@composemetasheet%
- {\csname the\exf@sheetcounter\endcsname}{\exf@data@sheet@rawtitle}}}%
- \fi%
+ \ifx\exf@data@author\exf@empty\else%
+ \hypersetup{pdfauthor={\exf@data@author}}\fi%
+ \ifx\exf@data@title\exf@empty\else%
+ \hypersetup{pdftitle={\exf@data@title}}\fi%
\ifx\exf@data@subject\exf@empty\else%
\hypersetup{pdfsubject={\exf@data@subject}}\fi%
\ifx\exf@data@keyword\exf@empty\else%
\hypersetup{pdfkeywords={\exf@data@keyword}}\fi%
- \fi%
- \gdef\exf@metadata{off}}
+ \fi}
-\AtBeginDocument{\def\exf@tmp{auto}\ifx\exf@metadata\exf@tmp%
- \exf@writemetadata{}\fi}
+\AtBeginDocument{\exf@ifis\exf@metadata{auto}%
+ {\exf@writemetadata\gdef\exf@metadata{off}}}
-\newcommand{\writeexercisedata}{\def\exf@tmp{manual}\ifx\exf@metadata\exf@tmp%
- \exf@writemetadata{}\fi}
+\newcommand{\writeexercisedata}{\exf@ifis\exf@metadata{manual}%
+ {\exf@writemetadata\gdef\exf@metadata{off}}}
\newcounter{\exf@sheetcounter}
\newcounter{\exf@problemcounter}
@@ -497,7 +592,15 @@
\newcommand{\exf@numberproblemwithin}[1]{%
\@addtoreset{\exf@problemcounter}{#1}%
\exf@csdo\def{the\exf@problemcounter}%
- {\csname the#1\endcsname.\exf@config@counterproblem}}
+ {\csname the#1\endcsname.\exf@config@counterproblem}%
+ \edef\exf@tmp{#1}%
+ \ifx\exf@tmp\exf@sheetcounter%
+ \exerciseconfig{tagproblem}{\ifdefined\sheettag\sheettag-\fi%
+ \arabic{\exf@problemcounter}}%
+ \else%
+ \exerciseconfig{tagproblem}{\csname the#1\endcsname-%
+ \arabic{\exf@problemcounter}}%
+ \fi}
\newcommand{\exf@numberequationwithin}[1]{%
\@addtoreset{exf@sheetequation}{#1}%
@@ -516,10 +619,12 @@
\def\theHexf@solutionequation%
{\csname theH#1\endcsname.sol.\arabic{equation}}}
-\newif\ifexf@infile\exf@infilefalse
-\newwrite\exf@out
+\newif\ifexf@solfile@open\exf@solfile@openfalse
+\newif\ifexf@probfile@open\exf@probfile@openfalse
+\newwrite\exf@solfile
+\newwrite\exf@probfile
-\newcommand{\exf@writeline}[1]{\immediate\write\exf@out{#1}}
+\newcommand{\exf@writeline}[2]{\immediate\write#1{#2}}
\newcommand{\exf@linesep}%
{\@percentchar---------------------------------------}
@@ -527,46 +632,69 @@
\ifdefined\currfilename\currfilename\space\fi%
l.\the\inputlineno}
-\newcommand{\exf@startfile}[1]{%
- \ifexf@infile\else%
- \global\exf@infiletrue%
- \gdef\exf@solutionbelow{manual}%
+\newcommand{\exf@start@solfile}[1]{%
+ \ifexf@solfile@open\else%
+ \exercisestyle{solutionbelow=manual}%
+ \global\exf@solfile@opentrue%
\edef\exf@tmp{#1}%
- \immediate\openout\exf@out\exf@tmp.sol%
- \exf@writeline{\@percentchar%
+ \immediate\openout\exf@solfile\exf@tmp\exf@config@extsolutions\relax%
+ \exf@writeline\exf@solfile{\@percentchar%
generated from file `\jobname' by exframe.sty}%
- \ifexf@lineno\exf@writeline{\exf@lineno}\fi%
- \exf@writeline{}%
+ \ifexf@lineno\exf@writeline\exf@solfile{\exf@lineno}\fi%
+ \exf@writeline\exf@solfile{}%
\fi}
-\newcommand{\exf@closefile}{%
- \ifexf@infile%
- \ifexf@lineno%
- \exf@writeline{\exf@linesep}\exf@writeline{\exf@lineno}\fi%
- \exf@writeline{\@backslashchar endinput}%
- \immediate\closeout\exf@out%
- \global\exf@infilefalse%
+\newcommand{\exf@close@solfile}{%
+ \ifexf@solfile@open%
+ \ifexf@lineno\exf@writeline\exf@solfile{\exf@linesep}%
+ \exf@writeline\exf@solfile{\exf@lineno}\fi%
+ \exf@writeline\exf@solfile{\@backslashchar endinput}%
+ \immediate\closeout\exf@solfile%
+ \global\exf@solfile@openfalse%
\fi}
-\AtEndDocument{\exf@closefile}
+\newcommand{\exf@start@probfile}[1]{%
+ \ifexf@probfile@open\else%
+ \global\exf@probfile@opentrue%
+ \edef\exf@tmp{#1}%
+ \immediate\openout\exf@probfile\exf@tmp\exf@config@extproblems\relax%
+ \exf@writeline\exf@probfile{\@percentchar%
+ generated from file `\jobname' by exframe.sty}%
+ \ifexf@lineno\exf@writeline\exf@probfile{\exf@lineno}\fi%
+ \exf@writeline\exf@probfile{}%
+ \fi}
-\newtoks\exf@buf
-\newif\ifexf@bufclean\exf@bufcleantrue
+\newcommand{\exf@close@probfile}{%
+ \ifexf@probfile@open%
+ \ifexf@lineno\exf@writeline\exf@probfile{\exf@linesep}%
+ \exf@writeline\exf@probfile{\exf@lineno}\fi%
+ \exf@writeline\exf@probfile{\@backslashchar endinput}%
+ \immediate\closeout\exf@probfile%
+ \global\exf@probfile@openfalse%
+ \fi}
-\def\exf@clearbuf{\global\exf@bufcleantrue\global\exf@buf={}}
-\def\exf@append@buf#1{\global\exf@buf=\expandafter{\the\exf@buf#1}}
-\def\exf@addbufline#1{{\protected@edef\exf@tmp{#1}%
- \exf@exptwo\exf@append@buf{\exf@tmp^^J}}}
+\AtEndDocument{\exf@close@solfile\exf@close@probfile}
-\def\exf@sourcebuf{\exf@exptwo\scantokens{\the\exf@buf}}
-\def\exf@writebuf{\exf@writeline{\the\exf@buf}}
+\newtoks\exf@solbuf
+\newtoks\exf@probbuf
+\newif\ifexf@solbuf@clean\exf@solbuf@cleantrue
+\newif\ifexf@probbuf@clean\exf@probbuf@cleantrue
+\def\exf@clear@solbuf{\global\exf@solbuf@cleantrue\global\exf@solbuf={}}
+\def\exf@clear@probbuf{\global\exf@probbuf@cleantrue\global\exf@probbuf={}}
+
+\def\exf@append@buf#1#2{\global#1=\expandafter{\the#1#2}}
+\def\exf@addline#1#2{{\protected@edef\exf@tmp{#2}%
+ \exf@exparg{\exf@append@buf#1}{\exf@tmp^^J}}}
+\def\exf@source@buf#1{\exf@exptwo\scantokens{\the#1}}
+\def\exf@write@buf#1#2{\exf@writeline#1{\the#2}}
\newcommand{\exf@verbatim}{%
\begingroup%
\@bsphack%
\let\do\@makeother\dospecials%
\catcode`\^^M\active%
- \def\verbatim@processline{\exf@exptwo\exf@append@buf{\the\verbatim@line^^J}}%
+ \def\verbatim@processline{\exf@exptwo\exf@verbatim@process%
+ {\the\verbatim@line^^J}}%
\verbatim@start}
\newcommand{\exf@endverbatim}{\@esphack\endgroup}
@@ -584,78 +712,199 @@
\def\exf@scanblock@noopt#1#2{#1{}{\scantokens#2}}
\def\exf@scanblock@opt#1[#2]{#1{#2}{}}
+\newcommand{\exf@addtopoints}[3]{%
+ \ifdefined#1\else\def#1{{0}{0}}\fi%
+ \setlength\exf@tmpdim{\expandafter\@firstoftwo#1pt}%
+ \addtolength\exf@tmpdim{#2pt}%
+ \edef\exf@tmp{\strip@pt\exf@tmpdim}%
+ \setlength\exf@tmpdim{\expandafter\@secondoftwo#1pt}%
+ \addtolength\exf@tmpdim{#3pt}%
+ \xdef#1{{\exf@tmp}{\strip@pt\exf@tmpdim}}}
+\newcommand{\exf@pointsmismatch}[3]{%
+ \let\exf@tmp\@undefined%
+ \ifdim\expandafter\@firstoftwo#1pt=\expandafter\@firstoftwo#2pt\else%
+ \def\exf@tmp{}\fi%
+ \ifdim\expandafter\@secondoftwo#1pt=\expandafter\@secondoftwo#2pt\else%
+ \def\exf@tmp{}\fi%
+ \ifdefined\exf@tmp#3\fi}
+
+\def\exf@outpoints#1#2#3{\ifdefined#3%
+ \exf@exptwo\exf@outpoints@switch{#3}{#1}{#2}%
+ \global\let#3\@undefined\fi}
+\def\exf@outpoints@switch#1#2#3{#2{\protect#3#1}}
+
+\def\exf@scanpoints#1#2+#3+#4@{%
+ \edef#1{\if @#2@0\else#2\fi}%
+ \edef#1{{#1}{\if @#3@0\else#3\fi}}}
+\def\exf@formatpoints#1#2{\ifdim#2pt=0pt#1\else%
+ \ifdim#1pt=0pt+#2\else#1+#2\fi\fi}
+
+\newcommand{\extractpoints}{\@ifstar{\exf@extractpoints\@secondoftwo}%
+ {\exf@extractpoints\@firstoftwo}}
+\newcommand{\exf@extractpoints}[2]{\edef\exf@tmp{#2}%
+ \exf@exptwo\exf@scanpoints\exf@tmp\exf@tmp++@%
+ \expandafter#1\exf@tmp}
+
+\newcommand{\switchpoints}[5]{\edef\exf@tmp{#5}%
+ \exf@exptwo\exf@scanpoints\exf@tmp\exf@tmp++@%
+ \expandafter\exf@switchpoints\exf@tmp{#1}{#2}{#3}{#4}}
+\newcommand{\exf@switchpoints}[6]{%
+ \ifdim#2pt=0pt\ifdim#1pt=0pt\def\exf@tmp##1##2{#6}%
+ \else\def\exf@tmp##1##2{#3}\fi%
+ \else\ifdim#1pt=0pt\def\exf@tmp##1##2{#4}%
+ \else\def\exf@tmp##1##2{#5}\fi\fi\exf@tmp{#1}{#2}}
+
+\newcommand{\exf@makepointsmargin}[2]{%
+ \exf@config@insertpointsmargin{\exf@config@composepointspairmargin{#1}{#2}}}
+
+\newcommand{\exf@warnmismatch}[4]{%
+ \ifdefined#4\ifdefined#3\exf@pointsmismatch#3#4{%
+ \let\exf@tmp\PackageWarning%
+ \ifx#1\exf@solutionname\let\exf@tmp\PackageWarningNoLine\fi%
+ \exf@tmp{exframe}{points mismatch %
+ (\expandafter\exf@formatpoints#3 determined %
+ vs. \expandafter\exf@formatpoints#4 given) %
+ for #1 \csname the#2\endcsname}%
+ \ifexf@warntext\edef\exf@tmp{%
+ {\expandafter\exf@formatpoints#3}{\expandafter\exf@formatpoints#4}}%
+ \exf@exptwo\exf@config@insertwarnpoints#1\exf@tmp\fi}%
+ \fi\fi}
+\newcommand{\exf@warnrerun}[4]{%
+ \ifdefined#4\ifdefined#3\exf@pointsmismatch#3#4{%
+ \PackageWarning{exframe}{points changed %
+ for #1 \csname the#2\endcsname; rerun to fix}%
+ \ifexf@warntext\exf@config@insertwarnpointsrerun#1\fi}%
+ \fi\fi}
+
\def\exf@splitsign#1-#2-#3&{\def\exf@splitnum{#1#2}\def\exf@splitminus{#3}}
\def\exf@splitdecimal#1.#2.#3&{\def\exf@splitint{#1}\def\exf@splitdec{#2}}
-\newcommand{\exf@nicefrac}[1]{%
+\newcommand{\showfracpoints}[1]{%
\edef\exf@tmp{#1}%
\expandafter\exf@splitsign\exf@tmp--&%
\expandafter\exf@splitdecimal\exf@splitnum..&%
- \if&\exf@splitint&\def\exf@splitint{0}\fi%
- \if&\exf@splitdec&\def\exf@splitdec{0}\fi%
+ \if @\exf@splitint @\def\exf@splitint{0}\fi%
+ \if @\exf@splitdec @\def\exf@splitdec{0}\fi%
\def\exf@tmp{\exf@splitint.\exf@splitdec}%
\ifnum\exf@splitdec=0\def\exf@tmp{\exf@splitint}\fi%
- \ifnum\exf@splitdec=5\def\exf@tmp{\exf@intfrac{\exf@splitint}{1}{2}}\fi%
- \ifnum\exf@splitdec=25\def\exf@tmp{\exf@intfrac{\exf@splitint}{1}{4}}\fi%
- \ifnum\exf@splitdec=75\def\exf@tmp{\exf@intfrac{\exf@splitint}{3}{4}}\fi%
- \ifnum\exf@splitdec=125\def\exf@tmp{\exf@intfrac{\exf@splitint}{1}{8}}\fi%
- \ifnum\exf@splitdec=375\def\exf@tmp{\exf@intfrac{\exf@splitint}{3}{8}}\fi%
- \ifnum\exf@splitdec=625\def\exf@tmp{\exf@intfrac{\exf@splitint}{5}{8}}\fi%
- \ifnum\exf@splitdec=875\def\exf@tmp{\exf@intfrac{\exf@splitint}{7}{8}}\fi%
+ \ifnum\exf@splitdec=5\def\exf@tmp{\exf@config@frac{\exf@splitint}{1}{2}}\fi%
+ \ifnum\exf@splitdec=25\def\exf@tmp{\exf@config@frac{\exf@splitint}{1}{4}}\fi%
+ \ifnum\exf@splitdec=75\def\exf@tmp{\exf@config@frac{\exf@splitint}{3}{4}}\fi%
+ \ifnum\exf@splitdec=125\def\exf@tmp{\exf@config@frac{\exf@splitint}{1}{8}}\fi%
+ \ifnum\exf@splitdec=375\def\exf@tmp{\exf@config@frac{\exf@splitint}{3}{8}}\fi%
+ \ifnum\exf@splitdec=625\def\exf@tmp{\exf@config@frac{\exf@splitint}{5}{8}}\fi%
+ \ifnum\exf@splitdec=875\def\exf@tmp{\exf@config@frac{\exf@splitint}{7}{8}}\fi%
\ifx\exf@splitminus\exf@empty\else$\exf@splitminus$\fi\exf@tmp%
}
-\newcommand{\exf@intfrac}[3]{%
- \ifnum#1=0\else#1\fi%
- \ifnum#2=0\else$%
+\newcommand{\exf@config@frac}[3]{%
+ \ifnum#1=0\relax\else#1\fi%
+ \ifnum#2=0\relax\else$%
^{\exf@text{#2}}%
\mskip-4mu/\mskip-2mu%
_{\exf@text{#3}}$\fi}
-\newlength{\exf@sheet@points@dim}
-\newcommand{\exf@notesheetpoints}[2]{%
+\newcommand{\exf@notedata@sheetpoints}[2]{%
\exf@csdo\gdef{exf@sheetpoints@#1}{#2}}
-\AtBeginDocument{\immediate\write\@auxout{%
- \string\providecommand{\string\exf@notesheetpoints}[2]{}}}
-\newcommand{\exf@writesheetpoints}[1]%
- {\immediate\write\@auxout{\string\exf@notesheetpoints{\sheettag}{#1}}}
-\newcommand{\getsheetpoints}[1]{\ifcsname exf@sheetpoints@#1\endcsname%
- \csname exf@sheetpoints@#1\endcsname\else 0\fi}
+\newcommand{\exf@writesheetpoints}[2]%
+ {\exf@writedata{sheetpoints}{\sheettag}{\exf@formatpoints{#1}{#2}}}
+\newcommand{\getsheetpoints}[1]{\if @#1@%
+ \ifdefined\exf@sheet@points%
+ \expandafter\exf@formatpoints\exf@sheet@points\else 0\fi%
+ \else\exf@csor{exf@sheetpoints@#1}{0}\fi}
-\newlength{\exf@problem@points@dim}
-\newcommand{\exf@noteproblempoints}[2]{%
+\newcommand{\exf@notedata@problempoints}[2]{%
\exf@csdo\gdef{exf@problempoints@#1}{#2}}
-\AtBeginDocument{\immediate\write\@auxout{%
- \string\providecommand{\string\exf@noteproblempoints}[2]{}}}
-\newcommand{\exf@writeproblempoints}[1]%
- {\immediate\write\@auxout{\string\exf@noteproblempoints{\problemtag}{#1}}}
-\newcommand{\getproblempoints}[1]{\ifcsname exf@problempoints@#1\endcsname%
- \csname exf@problempoints@#1\endcsname\else 0\fi}
+\newcommand{\exf@writeproblempoints}[2]%
+ {\exf@writedata{problempoints}{\problemtag}{\exf@formatpoints{#1}{#2}}}
+\newcommand{\getproblempoints}[1]{\if @#1@%
+ \ifdefined\exf@problem@points%
+ \expandafter\exf@formatpoints\exf@problem@points\else 0\fi%
+ \else\exf@csor{exf@problempoints@#1}{0}\fi}
\newcommand{\showpoints}{%
- \ifdefined\exf@in@subproblem%
+ \ifdefined\exf@in@solution\exf@outpoints{\exf@ensuretext}%
+ {\exf@config@composepointspairbodysolution}{\exf@solution@points@show}%
+ \else\ifdefined\exf@in@subproblem\exf@outpoints{\exf@ensuretext}%
+ {\exf@config@composepointspairbodysubproblem}{\exf@subproblem@points@show}%
+ \else\ifdefined\exf@in@problem\exf@outpoints{\exf@ensuretext}%
+ {\exf@config@composepointspairbodyproblem}{\exf@problem@points@show}%
+ \fi\fi\fi}
+
+\newcommand{\exf@notedata@subproblempoints}[2]{%
+ \exf@csdo\gdef{exf@subproblempoints@#1}{#2}}
+\newcommand{\exf@writesubproblempoints}[2]%
+ {\exf@writedata{subproblempoints}%
+ {\subproblemtag}{\exf@formatpoints{#1}{#2}}}
+\newcommand{\getsubproblempoints}[1]{\if @#1@%
\ifdefined\exf@subproblem@points%
- \exf@ensuretext{\exf@config@composepointsbody{\exf@subproblem@points}}%
- \global\let\exf@subproblem@points\@undefined%
- \fi%
- \else\ifdefined\exf@in@problem%
- \ifdefined\exf@problem@pointsshow%
- \exf@ensuretext{\exf@config@composepointsbody{\exf@problem@pointsshow}}%
- \global\let\exf@problem@pointsshow\@undefined%
- \fi%
- \fi\fi}
-
-\newlength{\exf@solution@points@dim}
+ \expandafter\exf@formatpoints\exf@subproblem@points\else 0\fi%
+ \else\exf@csor{exf@subproblempoints@#1}{0}\fi}
-\newcommand{\exf@awardpointsalt}[2][]{%
- \exf@ensuretext{\exf@config@composepointsawardalt{#2}{#1}}}
-\newcommand{\exf@awardpointsreg}[2][]{%
- \global\addtolength{\exf@solution@points@dim}{#2 pt}%
- \exf@ensuretext{\exf@config@composepointsaward{#2}{#1}}}
+\newcommand{\exf@awardpointsalt}[2][]{\exf@scanpoints\exf@tmp#2++@%
+ \exf@exptwo\exf@ensuretext{%
+ \expandafter\exf@config@composepointspairawardalt\exf@tmp{#1}}}
+\newcommand{\exf@awardpointsreg}[2][]{\exf@scanpoints\exf@tmp#2++@%
+ \exf@exptwo\exf@addtopoints\exf@solution@points@total\exf@tmp%
+ \exf@scanpoints\exf@tmp#2++@%
+ \exf@exptwo\exf@ensuretext{%
+ \expandafter\exf@config@composepointspairaward\exf@tmp{#1}}}
\newcommand{\awardpoints}{\@ifstar\exf@awardpointsalt\exf@awardpointsreg}
-\define@key{exf@sheet}{points}{\def\exf@points@given{#1}}
-\define@key{exf@sheet}{number}{\setcounter{\exf@sheetcounter}{#1}}
+\newcommand{\getsolutionpoints}[1]{\if @#1@%
+ \ifdefined\exf@solution@points%
+ \expandafter\exf@formatpoints\exf@solution@points\else 0\fi%
+ \else 0\fi}
+
+\newcounter{exerciseloop}
+\newcounter{exf@loopdepth}
+
+\def\exf@listwalk#1#2{\if @#2@\def\exf@tmp{}\else%
+ \def\exf@tmp{#1{#2}\exf@listwalk#1}\fi\exf@tmp}
+
+\newcommand{\exerciseloop}[2]{\addtocounter{exf@loopdepth}{1}%
+ \setcounter{exerciseloop}{0}%
+ \exf@csdo\gdef{exf@listcallback@\roman{exf@loopdepth}}##1%
+ {\stepcounter{exerciseloop}#2}%
+ \edef\exf@tmp{#1}%
+ \exf@csdotwo\exf@exptwo\exf@listwalk%
+ {exf@listcallback@\roman{exf@loopdepth}}\exf@tmp{}%
+ \addtocounter{exf@loopdepth}{-1}}
+\newcommand{\exerciseloopstr}[3][\exerciseloopret]{%
+ \def#1{}\exerciseloop{#2}{\protected@edef#1{#1#3}}}
+
+\def\exf@sheetlist{}
+\newcommand{\exf@notedata@sheet}[2]{%
+ \xdef\exf@sheetlist{\exf@sheetlist{#1}}}
+\def\exf@problemlist{}
+\newcommand{\exf@notedata@problem}[2]{%
+ \xdef\exf@problemlist{\exf@problemlist{#1}}%
+ \if @#2@\else%
+ \ifcsname exf@problemlist@#2\endcsname\else%
+ \exf@csdo\gdef{exf@problemlist@#2}{}\fi%
+ \exf@csdo\xdef{exf@problemlist@#2}%
+ {\csname exf@problemlist@#2\endcsname{#1}}%
+ \fi}
+\newcommand{\exf@notedata@subproblem}[2]{%
+ \ifcsname exf@subproblemlist@#2\endcsname\else%
+ \exf@csdo\gdef{exf@subproblemlist@#2}{}\fi%
+ \exf@csdo\xdef{exf@subproblemlist@#2}%
+ {\csname exf@subproblemlist@#2\endcsname{#1}}}
+
+\newcommand{\getsheetlist}[1]{\exf@sheetlist}
+\newcommand{\getproblemlist}[1]{\if @#1@%
+ \ifdefined\sheettag\exf@csor{exf@problemlist@\sheettag}{}%
+ \else\exf@problemlist\fi%
+ \else%
+ \if *#1\exf@problemlist\else\exf@csor{exf@problemlist@#1}{}\fi%
+ \fi}
+\newcommand{\getsubproblemlist}[1]{\if @#1@%
+ \exf@csor{exf@subproblemlist@\problemtag}{}\else%
+ \exf@csor{exf@subproblemlist@#1}{}\fi}
+
+\define@key{exf@sheet}{points}{\exf@scanpoints\exf@sheet@points#1++@}
+\define@key{exf@sheet}{number}{\setcounter{\exf@sheetcounter}{#1}%
+ \addtocounter{\exf@sheetcounter}{-1}\refstepcounter{\exf@sheetcounter}}
\define@key{exf@sheet}{label}{\def\exf@label{#1}}
\define@key{exf@sheet}{tag}{\def\sheettag{#1}}
@@ -663,25 +912,33 @@
\exf@config@insertsheetclearpage%
\refstepcounter{\exf@sheetcounter}%
\ifexf@style@sheetequation%
- \exf@eqsav\value{equation}%
+ \exf@eqsav\value{equation}\relax%
\setcounter{equation}{\value{exf@sheetequation}}%
\let\theequation\theexf@sheetequation%
\let\theHequation\theHexf@sheetequation%
\fi%
- \let\exf@points@given\@undefined%
- \def\sheettag{\csname the\exf@sheetcounter\endcsname}%
- \setlength{\exf@sheet@points@dim}{0pt}%
+ \let\exf@sheet@points\@undefined%
+ \def\sheettag{\getexerciseconfig{tagsheet}}%
+ \let\exf@sheet@points@total\@undefined%
\let\exf@label\@undefined%
\setkeys{exf@sheet}{#1}%
\ifexf@autolabelsheet\label{\exf@config@labelsheet{\sheettag}}\fi%
\ifdefined\exf@label\label{\exf@label}\fi%
- \ifdefined\exf@points@given%
- \let\exf@data@sheet@rawpoints\exf@points@given%
- \else\ifcsname exf@sheetpoints@\sheettag\endcsname%
- \exf@csdotwo\let\exf@data@sheet@rawpoints{exf@sheetpoints@\sheettag}%
+ \exf@writedata{sheet}{\sheettag}{}%
+ \ifdefined\exf@sheet@points%
+ \let\exf@sheet@points@given\exf@empty%
+ \else%
+ \let\exf@sheet@points@given\@undefined%
+ \ifcsname exf@sheetpoints@\sheettag\endcsname%
+ \exf@csdotwo\let\exf@tmp{exf@sheetpoints@\sheettag}%
+ \exf@exptwo\exf@scanpoints\exf@sheet@points\exf@tmp++@%
\fi\fi%
- \def\exf@tmp{sheet}\ifx\exf@metadata\exf@tmp%
- \exf@writemetadata{sheet}\fi%
+ \exf@ifis\exf@metadata{sheet}{{%
+ \ifx\exf@data@sheet@author\exf@empty\else%
+ \let\exf@data@author\exf@data@sheet@author\fi%
+ \def\exf@data@title{\exf@config@composemetasheet%
+ {\csname the\exf@sheetcounter\endcsname}{\exf@data@sheet@rawtitle}}%
+ \exf@writemetadata}\gdef\exf@metadata{off}}%
\exf@config@insertsheetbefore%
\ifx\exf@config@toclevelsheet\exf@empty\else%
\ifdefined\phantomsection\phantomsection\fi\fi%
@@ -689,33 +946,18 @@
{\exf@config@composetocsheet{\csname the\exf@sheetcounter\endcsname}%
{\exf@data@sheet@rawtitle}}%
\exf@config@insertsheettitle}%
- {\ifdefined\exf@points@given%
- \ifdim\exf@sheet@points@dim=0pt\else%
- \ifdim\exf@sheet@points@dim=\exf@data@sheet@rawpoints pt\else%
- \PackageWarning{exframe}{points mismatch for %
- \exf@sheetname\space\csname the\exf@sheetcounter\endcsname}%
- \ifexf@warntext\exf@config@insertwarnpoints{\exf@sheetname}%
- {\strip@pt\exf@sheet@points@dim}{\exf@data@sheet@rawpoints}\fi%
- \fi\fi%
+ {\ifdefined\exf@sheet@points@given%
+ \exf@warnmismatch{\exf@sheetname}{\exf@sheetcounter}%
+ {\exf@sheet@points@total}{\exf@sheet@points}%
\else%
- \ifx\exf@data@sheet@rawpoints\exf@empty\else%
- \ifdim\exf@sheet@points@dim=\exf@data@sheet@rawpoints pt\else%
- \PackageWarning{exframe}{points changed for %
- \exf@sheetname\space\csname the\exf@sheetcounter\endcsname;
- rerun to fix}%
- \ifexf@warntext\exf@config@insertwarnpoints{\exf@sheetname}%
- {\strip@pt\exf@sheet@points@dim}{\exf@data@sheet@rawpoints}\fi%
- \fi\fi%
- \ifdim\exf@sheet@points@dim=0pt%
- \def\exf@data@sheet@rawpoints{}%
- \else%
- \edef\exf@data@sheet@rawpoints{\strip@pt\exf@sheet@points@dim}%
- \fi%
+ \exf@warnrerun{\exf@sheetname}{\exf@sheetcounter}%
+ {\exf@sheet@points@total}{\exf@sheet@points}%
+ \let\exf@sheet@points\exf@sheet@points@total%
\fi%
- \ifx\exf@data@sheet@rawpoints\exf@empty\else%
- \exf@writesheetpoints{\exf@data@sheet@rawpoints}%
+ \ifdefined\exf@sheet@points%
+ \expandafter\exf@writesheetpoints\exf@sheet@points%
\fi%
- \exf@solbelowis{sheet}{\insertsolutions}%
+ \exf@ifis\exf@solutionbelow{sheet}{\insertsolutions}%
\exf@config@insertsheetafter%
\exf@config@insertsheetclearpage%
\ifexf@style@sheetequation%
@@ -728,32 +970,33 @@
\clearpage\ifexf@twoside\ifodd\value{page}\else%
\thispagestyle{empty}\hbox{}\newpage\fi\fi}
-\define@key{exf@problem}{points}{\def\exf@points@given{#1}}
+\define@key{exf@problem}{points}{\exf@scanpoints\exf@problem@points#1++@}
\define@key{exf@problem}{label}{\def\exf@label{#1}}
\define@key{exf@problem}{tag}{\def\problemtag{#1}}
\define@key{exf@problem}{sollabel}{\xdef\exf@sollabel{#1}}
-\newenvironment{\exf@problemname}[1][]{%
+\newenvironment{printproblem}[1]{%
\par\exf@config@styletext\addvspace{\exf@config@skipproblemabove}%
\refstepcounter{\exf@problemcounter}%
\exf@config@insertproblembefore%
\begingroup%
\def\exf@in@problem{}%
\ifexf@style@problemequation%
- \exf@eqsav\value{equation}%
+ \exf@eqsav\value{equation}\relax%
\setcounter{equation}{\value{exf@problemequation}}%
\let\theequation\theexf@problemequation%
\let\theHequation\theHexf@problemequation%
\fi%
\exf@init@block{\exf@config@skipprobleminfo}%
- \def\problemtag{\csname the\exf@problemcounter\endcsname}%
- \let\exf@points@given\@undefined%
+ \def\problemtag{\getexerciseconfig{tagproblem}}%
+ \let\exf@problem@points\@undefined%
\let\exf@label\@undefined%
\global\let\exf@sollabel\@undefined%
- \setlength{\exf@problem@points@dim}{0pt}%
- \setkeys{exf@problem,exf@probleminfo}{#1}%
+ \let\exf@problem@points@total\@undefined%
+ \setkeys{exf@problem,exf@probleminfo,exf@scanproblem}{#1}%
\ifexf@autolabelproblem\label{\exf@config@labelproblem{\problemtag}}\fi%
\ifdefined\exf@label\label{\exf@label}\fi%
+ \exf@writedata{problem}{\problemtag}{\ifdefined\sheettag\sheettag\fi}%
\gdef\exf@problem@solnewsec{}%
\xdef\exf@prevprob{\csname the\exf@problemcounter\endcsname}%
\ifcsname theH\exf@problemcounter\endcsname%
@@ -761,33 +1004,30 @@
\csname theH\exf@problemcounter\endcsname}%
\fi%
\ifx\exf@data@problem@rawtitle\exf@empty%
- \global\let\exf@prevprobtitle\@undefined%
+ \global\let\exf@prevprobtitle\@undefined%
\else%
- \protected@xdef\exf@prevprobtitle{\exf@data@problem@rawtitle}%
+ \protected@xdef\exf@prevprobtitle{\exf@data@problem@rawtitle}%
\fi%
\global\let\exf@prevsubprob\@undefined%
\global\let\exf@prevsubprobhref\@undefined%
- \let\exf@problem@points\@undefined%
- \ifdefined\exf@points@given%
- \let\exf@problem@points\exf@points@given%
+ \ifdefined\exf@problem@points%
+ \let\exf@problem@points@given\exf@empty%
\else%
+ \let\exf@problem@points@given\@undefined%
\ifcsname exf@problempoints@\problemtag\endcsname%
- \exf@csdotwo\let\exf@problem@points{exf@problempoints@\problemtag}%
+ \exf@csdotwo\let\exf@tmp{exf@problempoints@\problemtag}%
+ \exf@exptwo\exf@scanpoints\exf@problem@points\exf@tmp++@%
\fi\fi%
\global\let\exf@prevpoints\exf@problem@points%
- \let\exf@problem@pointsshow\@undefined%
- \ifdefined\exf@problem@points\ifdim\exf@problem@points pt=0pt\else%
- \let\exf@problem@pointsshow\exf@problem@points%
- \fi\fi%
- \exf@pointsatis{off}{\let\exf@problem@pointsshow\@undefined}%
- \exf@pointsatis{start}{\ifdefined\exf@problem@pointsshow%
- \exf@exptwo\exf@append@intro{\expandafter%
- \exf@config@composepointsstart\expandafter{\exf@problem@pointsshow}}%
- \let\exf@problem@pointsshow\@undefined\fi}%
- \exf@pointsatis{start*}{\ifdefined\exf@problem@pointsshow%
- \exf@exptwo\exf@prepend@intro{\expandafter%
- \exf@config@composepointsstart\expandafter{\exf@problem@pointsshow}}%
- \let\exf@problem@pointsshow\@undefined\fi}%
+ \let\exf@problem@points@show\@undefined%
+ \ifdefined\exf@problem@points%
+ \let\exf@problem@points@show\exf@problem@points%
+ \fi%
+ \exf@ifis\exf@pointsat{off}{\let\exf@problem@points@show\@undefined}%
+ \exf@ifis\exf@pointsat{start}{\exf@outpoints{\exf@append@intro}%
+ {\exf@config@composepointspairstartproblem}{\exf@problem@points@show}}%
+ \exf@ifis\exf@pointsat{start*}{\exf@outpoints{\exf@prepend@intro}%
+ {\exf@config@composepointspairstartproblem}{\exf@problem@points@show}}%
\exf@config@insertprobleminfo%
\exf@config@styletextproblem%
\ifdim\exf@config@skipproblemitem=0pt%
@@ -814,52 +1054,33 @@
\exf@config@composetitleproblem{\exf@empty}{\exf@data@problem@rawtitle}}}%
\fi%
\fi%
- \exf@pointsatis{margin}{\ifdefined\exf@problem@pointsshow%
- \expandafter\exf@prepend@def\expandafter\exf@intro\expandafter%
- {\expandafter\protect\expandafter%
- \exf@config@insertpointsmargin\expandafter{\expandafter%
- \exf@config@composepointsmargin\expandafter{\exf@problem@pointsshow}}}%
- \let\exf@problem@pointsshow\@undefined\fi}%
+ \exf@ifis\exf@pointsat{margin}{%
+ \exf@outpoints{\exf@prepend@def\exf@introitem}%
+ {\exf@makepointsmargin}{\exf@problem@points@show}}%
\exf@open@block{\exf@config@skipproblemtitle}%
\exf@addcontentsline{\exf@config@toclevelproblem}%
{\exf@config@composetocproblem{\csname the\exf@problemcounter\endcsname}%
{\exf@data@problem@rawtitle}}%
\@afterindentfalse}%
- {\exf@pointsatis{end}{\showpoints}%
- \ifdefined\exf@points@given%
- \ifdim\exf@problem@points@dim=0pt\else%
- \ifdim\exf@problem@points@dim=\exf@problem@points pt\else%
- \PackageWarning{exframe}{points mismatch for %
- \exf@problemname\space\csname the\exf@problemcounter\endcsname}%
- \ifexf@warntext\exf@config@insertwarnpoints{\exf@problemname}%
- {\strip@pt\exf@problem@points@dim}{\exf@problem@points}\fi%
- \fi\fi%
+ {\exf@ifis\exf@pointsat{end}{\showpoints}%
+ \ifdefined\exf@problem@points@given%
+ \exf@warnmismatch{\exf@problemname}{\exf@problemcounter}%
+ {\exf@problem@points@total}{\exf@problem@points}%
\else%
- \ifdefined\exf@problem@points%
- \ifdim\exf@problem@points@dim=\exf@problem@points pt\else%
- \PackageWarning{exframe}{points changed for %
- \exf@problemname\space\csname the\exf@problemcounter\endcsname;
- rerun to fix}%
- \ifexf@warntext\exf@config@insertwarnpoints{\exf@problemname}%
- {\strip@pt\exf@problem@points@dim}{\exf@problem@points}\fi%
- \fi\fi%
- \ifdim\exf@problem@points@dim=0pt%
- \let\exf@problem@points\@undefined%
- \else%
- \edef\exf@problem@points{\strip@pt\exf@problem@points@dim}%
- \fi%
+ \exf@warnrerun{\exf@problemname}{\exf@problemcounter}%
+ {\exf@problem@points@total}{\exf@problem@points}%
+ \let\exf@problem@points\exf@problem@points@total%
\fi%
\ifdefined\exf@problem@points%
- \exf@writeproblempoints{\exf@problem@points}%
- \global\addtolength{\exf@sheet@points@dim}{\exf@problem@points pt}%
- \fi%
- \ifdefined\exf@problem@points\else\ifdim\exf@sheet@points@dim=0pt\else%
+ \expandafter\exf@writeproblempoints\exf@problem@points%
+ \exf@exptwo\exf@addtopoints\exf@sheet@points@total\exf@problem@points%
+ \else\ifdefined\exf@sheet@points@total%
\PackageWarning{exframe}{no points defined for \exf@problemname}%
\fi\fi%
\global\let\exf@prevsubprob\@undefined%
\global\let\exf@prevsubprobhref\@undefined%
\par\exf@close@block%
- \exf@solbelowis{problem}{%
+ \exf@ifis\exf@solutionbelow{problem}{%
\exf@config@insertproblemsolution%
\exf@showsolutions{\exf@config@composetitlesolutionmulti}{}}%
\ifexf@style@problemequation%
@@ -869,12 +1090,98 @@
\endgroup%
\exf@config@insertproblemafter%
\addvspace{\exf@config@skipproblembelow}%
- \exf@solbelowis{problem*}{%
+ \exf@ifis\exf@solutionbelow{problem*}{%
\exf@showsolutions{\exf@config@composetitlesolutionmulti}{}}%
\ignorespacesafterend}
-\define@key{exf@subproblem}{points}{\def\exf@subproblem@points{#1}}
+\define@boolkey{exf@scanproblem}[exf@scanproblem@]{disable}[true]{}
+
+\newenvironment{exf@problem@direct}[1][]%
+ {\printproblem{#1}}{\endprintproblem\ignorespacesafterend}
+
+\newenvironment{exf@problem@scan}%
+ {\exf@scanblock{\exf@scanproblem}}{\endexf@scanproblem}%
+\newenvironment{exf@scanproblem}[2]{%
+ \exf@scanproblem@disablefalse%
+ \setkeys*{exf@scanproblem}{#1}%
+ \exf@config@insertproblemselect{#1}%
+ \ifexf@scanproblem@disable%
+ \def\exf@verbatim@process{\@gobble}%
+ \else%
+ \ifexf@lineno\exf@addline\exf@probbuf{\exf@linesep}%
+ \exf@addline\exf@probbuf{\exf@lineno}\fi%
+ \exf@addline\exf@probbuf%
+ {\@backslashchar begin{printproblem}{#1}}%
+ \def\exf@verbatim@process{\exf@append@buf\exf@probbuf}%
+ \fi%
+ \exf@verbatim#2}%
+ {\exf@endverbatim%
+ \ifexf@scanproblem@disable\else%
+ \exf@addline\exf@probbuf{\@backslashchar end{printproblem}}%
+ \global\exf@probbuf@cleanfalse%
+ \fi%
+ \ifexf@probfile@open%
+ \exf@write@buf\exf@probfile\exf@probbuf%
+ \exf@clear@probbuf%
+ \fi%
+ \ifexf@problemmanual\else%
+ \exf@source@buf\exf@probbuf%
+ \exf@clear@probbuf%
+ \fi%
+ \ignorespacesafterend}
+
+\newenvironment{\exf@problemname}%
+ {\ifexf@problembuf\let\exf@tmp\exf@problem@scan%
+ \else\let\exf@tmp\exf@problem@direct\fi%
+ \exf@tmp}%
+ {\ifexf@problembuf\let\exf@tmp\endexf@problem@scan%
+ \else\let\exf@tmp\endexf@problem@direct\fi%
+ \exf@tmp}
+
+\newcommand{\exf@problemstitle}{%
+ \protected@edef\exf@problemstitleexp{\exf@config@composetitleproblems}%
+ \ifx\exf@problemstitleexp\exf@empty\else%
+ \exf@section{\exf@config@skipproblemstitle}%
+ {\exf@config@styletitle\exf@config@styletitleproblems%
+ \exf@problemstitleexp}%
+ \exf@addcontentsline{\exf@config@toclevelproblems}%
+ {\exf@config@composetocproblems}%
+ \fi}
+
+\newcommand{\exf@showproblemsin}{%
+ \par\exf@config@styletext\addvspace{\exf@config@skipproblemsabove}%
+ \exf@config@insertproblemsbefore}
+
+\newcommand{\exf@showproblemsout}{%
+ \exf@config@insertproblemsafter%
+ \par\exf@config@styletext\addvspace{\exf@config@skipproblemsbelow}}
+
+\newcommand{\exf@showproblems}{%
+ \ifexf@probbuf@clean\else\begingroup%
+ \exf@showproblemsin%
+ \exf@problemstitle%
+ \exf@source@buf\exf@probbuf%
+ \exf@clear@probbuf%
+ \exf@showproblemsout%
+ \endgroup\fi}
+
+\newcommand{\writeproblems}[1][\jobname]{%
+ \exf@close@probfile\exf@start@probfile{#1}}
+
+\newcommand{\closeproblems}{\exf@close@probfile}
+
+\newcommand{\readproblems}[1][\jobname]{\exf@close@probfile%
+ \begingroup%
+ \exf@config@styletext\exf@config@styletextproblem%
+ \exf@problemstitle%
+ \input{#1\exf@config@extproblems}%
+ \endgroup}
+
+\newcommand{\insertproblems}{\exf@showproblems}
+
+\define@key{exf@subproblem}{points}{\exf@scanpoints\exf@subproblem@points#1++@}
\define@key{exf@subproblem}{label}{\def\exf@label{#1}}
+\define@key{exf@subproblem}{tag}{\def\subproblemtag{#1}}
\newenvironment{\exf@subproblemname}[1][]{%
\par{\exf@config@styletext\addvspace{\exf@config@skipsubproblemabove}}%
@@ -883,32 +1190,34 @@
\begingroup%
\def\exf@in@subproblem{}%
\exf@init@block{\exf@config@skipsubprobleminfo}%
+ \def\subproblemtag{\getexerciseconfig{tagsubproblem}}%
\let\exf@subproblem@points\@undefined%
\let\exf@label\@undefined%
\setkeys{exf@subproblem,exf@probleminfo}{#1}%
+ \ifexf@autolabelproblem\label{\exf@config@labelsubproblem%
+ {\subproblemtag}}\fi%
\ifdefined\exf@label\label{\exf@label}\fi%
+ \exf@writedata{subproblem}{\subproblemtag}{\problemtag}%
\xdef\exf@prevsubprob{\csname the\exf@subproblemcounter\endcsname}%
\ifcsname theH\exf@subproblemcounter\endcsname%
\xdef\exf@prevsubprobhref{\exf@subproblemcounter.%
\csname theH\exf@subproblemcounter\endcsname}%
\fi%
+ \let\exf@subproblem@points@show\@undefined%
+ \ifdefined\exf@subproblem@points%
+ \let\exf@subproblem@points@show\exf@subproblem@points\fi%
+ \exf@ifis\exf@subpointsat{off}{\let\exf@subproblem@points@show\@undefined}%
\ifdefined\exf@subproblem@points%
\global\let\exf@prevpoints\exf@subproblem@points%
- \global\addtolength{\exf@problem@points@dim}{\exf@subproblem@points pt}%
- \else%
- \ifdim\exf@problem@points@dim=0pt\else%
- \PackageWarning{exframe}{no points defined for \exf@subproblemname}%
- \fi%
- \fi%
- \exf@subpointsatis{off}{\let\exf@subproblem@points\@undefined}%
- \exf@subpointsatis{start}{\ifdefined\exf@subproblem@points%
- \exf@exptwo\exf@append@intro{\expandafter%
- \exf@config@composepointsstart\expandafter{\exf@subproblem@points}}%
- \let\exf@subproblem@points\@undefined\fi}%
- \exf@subpointsatis{start*}{\ifdefined\exf@subproblem@points%
- \exf@exptwo\exf@prepend@intro{\expandafter%
- \exf@config@composepointsstart\expandafter{\exf@subproblem@points}}%
- \let\exf@subproblem@points\@undefined\fi}%
+ \expandafter\exf@writesubproblempoints\exf@subproblem@points%
+ \exf@exptwo\exf@addtopoints\exf@problem@points@total\exf@subproblem@points%
+ \else\ifdefined\exf@problem@points@total%
+ \PackageWarning{exframe}{no points defined for \exf@subproblemname}%
+ \fi\fi%
+ \exf@ifis\exf@subpointsat{start}{\exf@outpoints{\exf@append@intro}%
+ {\exf@config@composepointspairstartsubproblem}{\exf@subproblem@points@show}}%
+ \exf@ifis\exf@subpointsat{start*}{\exf@outpoints{\exf@prepend@intro}%
+ {\exf@config@composepointspairstartsubproblem}{\exf@subproblem@points@show}}%
\exf@config@insertsubprobleminfo%
\ifdim\exf@config@skipsubproblemitem=0pt%
\exf@prepend@intro{{%
@@ -930,23 +1239,20 @@
{\csname the\exf@subproblemcounter\endcsname}%
\exf@config@composeitemsubproblemsep}}%
\fi%
- \exf@subpointsatis{margin}{\ifdefined\exf@subproblem@points%
- \expandafter\exf@prepend@def\expandafter\exf@intro\expandafter%
- {\expandafter\protect\expandafter%
- \exf@config@insertpointsmargin\expandafter{\expandafter%
- \exf@config@composepointsmargin\expandafter{\exf@subproblem@points}}}%
- \let\exf@subproblem@points\@undefined\fi}%
+ \exf@ifis\exf@subpointsat{margin}{%
+ \exf@outpoints{\exf@prepend@def\exf@introitem}%
+ {\exf@makepointsmargin}{\exf@subproblem@points@show}}%
\exf@open@block{\exf@config@skipsubproblemtitle}%
\@afterindentfalse}%
- {\exf@subpointsatis{end}{\showpoints}%
+ {\exf@ifis\exf@subpointsat{end}{\showpoints}%
\par\exf@close@block%
- \exf@solbelowis{subproblem*}{%
+ \exf@ifis\exf@solutionbelow{subproblem*}{%
\exf@config@insertsubproblemsolution%
\exf@showsolutions{\exf@config@composetitlesolutionsingle}{}}%
\endgroup%
\exf@config@insertsubproblemafter%
{\exf@config@styletext\addvspace{\exf@config@skipsubproblembelow}}%
- \exf@solbelowis{subproblem}{%
+ \exf@ifis\exf@solutionbelow{subproblem}{%
\exf@showsolutions{\exf@config@composetitlesolutionsingle}{}}%
\ignorespacesafterend}
@@ -956,30 +1262,40 @@
\define@key{exf@solution}{sheettag}{\def\sheettag{#1}}
\define@key{exf@solution}{href}{\def\exf@solhref{#1}}
\define@key{exf@solution}{label}{\def\exf@label{#1}}
-\define@key{exf@solution}{points}{\def\exf@solution@points{#1}}
+\define@key{exf@solution}{points}{\exf@scanpoints\exf@solution@points#1++@}
\define@key{exf@solution}{probtitle}{\def\exf@solprobtitle{#1}}
\newenvironment{printsolution}[1]{%
\par{\exf@config@styletext\addvspace{\exf@config@skipsolutionabove}}%
\exf@config@insertsolutionbefore%
\ifexf@style@solutionequation%
- \exf@eqsav\value{equation}%
+ \exf@eqsav\value{equation}\relax%
\setcounter{equation}{\value{exf@solutionequation}}%
\let\theequation\theexf@solutionequation%
\let\theHequation\theHexf@solutionequation%
\fi%
\begingroup%
+ \def\exf@in@solution{}%
\def\exf@solprob{}%
\def\exf@solsubprob{}%
\let\exf@label\@undefined%
- \setlength{\exf@solution@points@dim}{0pt}%
+ \let\exf@solution@points\@undefined%
+ \let\exf@solution@points@total\@undefined%
\def\exf@solhref{}%
\exf@init@block{\exf@config@skipsolutioninfo}%
\setkeys{exf@solution,exf@probleminfo}{#1}%
\exf@csdo\def{the\exf@solutioncounter}%
- {\exf@config@composeitemsolution{\exf@solprob}{\exf@solsubprob}}%
+ {\exf@config@composeitemsolutionlabel{\exf@solprob}{\exf@solsubprob}}%
\refstepcounter{\exf@solutioncounter}%
\ifdefined\exf@label\label{\exf@label}\fi%
+ \let\exf@solution@points@show\@undefined%
+ \ifdefined\exf@solution@points%
+ \let\exf@solution@points@show\exf@solution@points\fi%
+ \exf@ifis\exf@solpointsat{off}{\let\exf@solution@points@show\@undefined}%
+ \exf@ifis\exf@solpointsat{start}{\exf@outpoints{\exf@append@intro}%
+ {\exf@config@composepointspairstartsolution}{\exf@solution@points@show}}%
+ \exf@ifis\exf@solpointsat{start*}{\exf@outpoints{\exf@prepend@intro}%
+ {\exf@config@composepointspairstartsolution}{\exf@solution@points@show}}%
\exf@config@insertsolutioninfo%
\exf@config@styletext\exf@config@styletextsolution%
\ifx\exf@solsubprob\exf@empty%
@@ -1023,14 +1339,14 @@
\else\exf@solution@item\fi%
\exf@config@composeitemproblemsep}}%
\fi%
+ \exf@ifis\exf@solpointsat{margin}{%
+ \exf@outpoints{\exf@prepend@def\exf@introitem}%
+ {\exf@makepointsmargin}{\exf@solution@points@show}}%
\exf@open@block{\exf@config@skipsolutiontitle}%
\@afterindentfalse}%
- {\ifdefined\exf@solution@points\ifdim\exf@solution@points@dim=0pt\else%
- \ifdim\exf@solution@points@dim=\exf@solution@points pt\else%
- \PackageWarning{exframe}{points mismatch in \exf@solutionname}%
- \ifexf@warntext\exf@config@insertwarnpoints{\exf@solutionname}%
- {\strip@pt\exf@solution@points@dim}{\exf@solution@points}\fi%
- \fi\fi\fi%
+ {\exf@ifis\exf@solpointsat{end}{\showpoints}%
+ \exf@warnmismatch{\exf@solutionname}{\exf@solutioncounter}%
+ {\exf@solution@points@total}{\exf@solution@points}%
\par\exf@close@block%
\ifexf@style@solutionequation%
\setcounter{exf@solutionequation}{\value{equation}}%
@@ -1049,83 +1365,112 @@
\let\exf@solhref\@undefined%
\setkeys{exf@solution}{#1}%
\let\exf@composetitle\exf@config@composetitlesolutionsproblemmulti%
- \def\exf@solutionstoc{\exf@addcontentsline{\exf@config@toclevelsolution}%
- {\exf@config@composetocsolution{\exf@solprob}{\exf@solprobtitle}}}%
- \exf@solbelowis{problem}{\let\exf@composetitle%
+ \exf@ifis\exf@solutionbelow{problem}{\let\exf@composetitle%
\exf@config@composetitlesolutionsproblemsingle}%
- \exf@solbelowis{problem*}{\let\exf@composetitle%
+ \exf@ifis\exf@solutionbelow{problem*}{\let\exf@composetitle%
\exf@config@composetitlesolutionsproblemsingle}%
+ \def\exf@solutionstoc{\exf@addcontentsline{\exf@config@toclevelsolution}%
+ {\exf@config@composetocsolution{\exf@solprob}{\exf@solprobtitle}}}%
+ \addvspace{\exf@config@skipsolutionsproblemabove}%
\exf@solutionssection{\exf@config@styletitlesolutionsproblem}%
{\exf@composetitle{\exf@solprob}{\exf@solprobtitle}}%
- {\exf@config@skipsolutionsproblem}%
+ {\exf@config@skipsolutionsproblemtitle}%
{\exf@solutionstoc}{\exf@label}{\exf@solhref}%
\endgroup}
-\newenvironment{\exf@solutionname}%
- {\exf@scanblock{\exf@scansolution}}{\endexf@scansolution}%
-
-\newenvironment{exf@scansolution}[2]{%
- \exf@solbelowis{here}{\showpoints}%
- \global\exf@bufcleanfalse%
+\newcommand{\exf@process@solnewsec}{%
\ifdefined\exf@problem@solnewsec%
\def\exf@probarg{\ifdefined\exf@prevprob prob={\exf@prevprob}\fi%
\ifdefined\exf@prevprobtitle,probtitle={\exf@prevprobtitle}\fi%
\ifdefined\exf@prevprobhref,href={\exf@prevprobhref}\fi%
\ifdefined\exf@sollabel,label={\exf@sollabel}\fi}%
- \exf@solbelowis{here}{\let\exf@probarg\@undefined}%
- \exf@solbelowis{subproblem}{\let\exf@probarg\@undefined}%
- \exf@solbelowis{subproblem*}{\let\exf@probarg\@undefined}%
+ \exf@ifis\exf@solutionbelow{here}{\let\exf@probarg\@undefined}%
+ \exf@ifis\exf@solutionbelow{subproblem}{\let\exf@probarg\@undefined}%
+ \exf@ifis\exf@solutionbelow{subproblem*}{\let\exf@probarg\@undefined}%
\ifdefined\exf@probarg%
- \ifexf@lineno\exf@addbufline{\exf@linesep}\exf@addbufline{\exf@lineno}\fi%
- \exf@addbufline{\@backslashchar solutionssection{\exf@probarg}}%
- \exf@addbufline{}%
+ \ifexf@lineno\exf@addline\exf@solbuf{\exf@linesep}%
+ \exf@addline\exf@solbuf{\exf@lineno}\fi%
+ \exf@addline\exf@solbuf{\@backslashchar solutionssection{\exf@probarg}}%
+ \exf@addline\exf@solbuf{}%
\fi%
\global\let\exf@problem@solnewsec\@undefined%
- \fi%
- \ifexf@lineno\exf@addbufline{\exf@linesep}\exf@addbufline{\exf@lineno}\fi%
- \def\exf@subprobarg{%
+ \fi}%
+
+\newcommand{\exf@generate@solprobarg}{%
+ \edef\exf@solprobarg{%
\ifdefined\exf@prevprob prob={\exf@prevprob},\fi%
- \ifdefined\exf@prevsubprob%
- subprob={\exf@prevsubprob},%
+ \ifdefined\exf@prevsubprob subprob={\exf@prevsubprob},%
\ifdefined\exf@prevsubprobhref href={\exf@prevsubprobhref},\fi%
\else%
\ifdefined\exf@prevprobhref href={\exf@prevprobhref},\fi%
\fi%
- \ifdefined\exf@prevpoints points={\exf@prevpoints},\fi%
+ \ifdefined\exf@prevpoints points=%
+ {\expandafter\exf@formatpoints\exf@prevpoints},\fi%
\ifdefined\sheettag sheettag={\sheettag},\fi%
\ifdefined\problemtag problemtag={\problemtag},\fi}%
- \exf@addbufline{\@backslashchar begin{printsolution}{\exf@subprobarg#1}}%
\global\let\exf@prevsubprob\@undefined%
\global\let\exf@prevsubprobhref\@undefined%
- \global\let\exf@prevpoints\@undefined%
+ \global\let\exf@prevpoints\@undefined}%
+
+\newenvironment{exf@solution@direct}[1][]%
+ {\showpoints%
+ \global\let\exf@problem@solnewsec\@undefined%
+ \exf@generate@solprobarg%
+ \exf@showsolutionsin%
+ \let\exf@composetitle\exf@config@composetitlesolutionsingle%
+ \exf@exptwo\printsolution{\exf@solprobarg#1}}%
+ {\endprintsolution%
+ \exf@showsolutionsout%
+ \ignorespacesafterend}%
+
+\newenvironment{exf@solution@scan}%
+ {\exf@scanblock{\exf@scansolution}}{\endexf@scansolution}%
+\newenvironment{exf@scansolution}[2]{%
+ \exf@ifis\exf@solutionbelow{here}{\showpoints}%
+ \exf@process@solnewsec%
+ \exf@generate@solprobarg%
+ \ifexf@lineno\exf@addline\exf@solbuf{\exf@linesep}%
+ \exf@addline\exf@solbuf{\exf@lineno}\fi%
+ \exf@addline\exf@solbuf%
+ {\@backslashchar begin{printsolution}{\exf@solprobarg#1}}%
+ \def\exf@verbatim@process{\exf@append@buf\exf@solbuf}%
\exf@verbatim#2}%
{\exf@endverbatim%
- \exf@addbufline{\@backslashchar end{printsolution}}%
- \ifexf@infile%
- \exf@writebuf%
- \exf@clearbuf%
+ \exf@addline\exf@solbuf{\@backslashchar end{printsolution}}%
+ \global\exf@solbuf@cleanfalse%
+ \ifexf@solfile@open%
+ \exf@write@buf\exf@solfile\exf@solbuf%
+ \exf@clear@solbuf%
\fi%
- \ifsolutions\else\exf@clearbuf\fi%
- \exf@solbelowis{here}{\exf@showsolutions%
+ \ifsolutions\else\exf@clear@solbuf\fi%
+ \exf@ifis\exf@solutionbelow{here}{\exf@showsolutions%
{\exf@config@composetitlesolutionsingle}{}}%
\ifdefined\exf@in@subproblem\else%
- \exf@solbelowis{subproblem}{%
+ \exf@ifis\exf@solutionbelow{subproblem}{%
\exf@showsolutions{\exf@config@composetitlesolutionsingle}{}}%
- \exf@solbelowis{subproblem*}{%
+ \exf@ifis\exf@solutionbelow{subproblem*}{%
\exf@showsolutions{\exf@config@composetitlesolutionsingle}{}}\fi%
\ifdefined\exf@in@problem\else%
- \exf@solbelowis{problem}{%
+ \exf@ifis\exf@solutionbelow{problem}{%
\exf@showsolutions{\exf@config@composetitlesolutionmulti}{}}%
- \exf@solbelowis{problem*}{%
+ \exf@ifis\exf@solutionbelow{problem*}{%
\exf@showsolutions{\exf@config@composetitlesolutionmulti}{}}\fi%
\ignorespacesafterend}
+\newenvironment{\exf@solutionname}%
+ {\ifexf@solutionbuf\let\exf@tmp\exf@solution@scan%
+ \else\let\exf@tmp\exf@solution@direct\fi%
+ \exf@tmp}%
+ {\ifexf@solutionbuf\let\exf@tmp\endexf@solution@scan%
+ \else\let\exf@tmp\endexf@solution@direct\fi%
+ \exf@tmp}
+
\newcommand{\exf@solutionssection}[6]{%
\protected@edef\exf@solutionstitleexp{#2}%
\ifx\exf@solutionstitleexp\exf@empty\else%
\ifdefined#5%
\exf@csdo\def{the\exf@solutioncounter}%
- {\exf@config@composeitemsolution{\exf@solprob}{\exf@solsubprob}}%
+ {\exf@config@composeitemsolutionlabel{\exf@solprob}{\exf@solsubprob}}%
\refstepcounter{\exf@solutioncounter}\label{#5}%
\fi%
\exf@section{#3}{\exf@config@styletitle\exf@config@styletitlesolution#1%
@@ -1139,35 +1484,132 @@
{\exf@addcontentsline{\exf@config@toclevelsolutions}%
{\exf@config@composetocsolutions}}{\@undefined}{\@undefined}}
+\newcommand{\exf@showsolutionsin}{%
+ \par\exf@config@styletext\addvspace{\exf@config@skipsolutionsabove}%
+ \exf@config@styletextsolution%
+ \exf@config@insertsolutionsbefore}
+
+\newcommand{\exf@showsolutionsout}{%
+ \exf@config@insertsolutionsafter%
+ \par\exf@config@styletext\addvspace{\exf@config@skipsolutionsbelow}}
+
\newcommand{\exf@showsolutions}[2]{%
- \ifexf@bufclean\else\begingroup%
- \par\exf@config@styletext\addvspace{\exf@config@skipsolutionsabove}%
- \exf@config@styletextsolution%
- \exf@config@insertsolutionsbefore%
+ \ifexf@solbuf@clean\else\begingroup%
+ \exf@showsolutionsin%
\let\exf@composetitle#1%
#2%
- \exf@sourcebuf%
- \exf@clearbuf%
- \removelastskip%
- \exf@config@insertsolutionsafter%
- \par\exf@config@styletext\addvspace{\exf@config@skipsolutionbelow}%
+ \exf@source@buf\exf@solbuf%
+ \exf@clear@solbuf%
+ \exf@showsolutionsout%
\endgroup\fi}
-\newcommand{\writesolutions}[1][\jobname]{\exf@closefile\exf@startfile{#1}}
+\newcommand{\writesolutions}[1][\jobname]{%
+ \exf@close@solfile\exf@start@solfile{#1}}
-\newcommand{\closesolutions}{\exf@closefile}
+\newcommand{\closesolutions}{\exf@close@solfile}
-\newcommand{\readsolutions}[1][\jobname]{\exf@closefile%
+\newcommand{\readsolutions}[1][\jobname]{\exf@close@solfile%
\ifsolutions\begingroup%
\exf@config@styletext\exf@config@styletextsolution%
- \let\exf@config@composetitlesolution\exf@config@composetitlesolutionmulti%
+ \let\exf@composetitle\exf@config@composetitlesolutionmulti%
\exf@solutionstitle%
- \input{#1.sol}%
+ \input{#1\exf@config@extsolutions}%
\endgroup\fi}
\newcommand{\insertsolutions}{\exf@showsolutions%
{\exf@config@composetitlesolutionmulti}{\exf@solutionstitle}}
+\ifdefined\metaset
+
+\exercisedata{author={\metapick[]{author}}}
+\exercisedata{title={\metapick[]{title}}}
+\exercisedata{subject={\metapick[]{subject}}}
+\exercisedata{keyword={\metapick[]{keyword}}}
+\exercisedata{date={\metapick[]{date}}}
+\ifdefined\mstr@def@course
+\exercisedata{course={\metapick[]{course}}}
+\exercisedata{instructor={\metapick[]{instructor}}}
+\exercisedata{institution={\metapick[]{institution}}}
+\exercisedata{period={\metapick[]{period}}}
+\exercisedata{material={\metapick[]{material}}}
+\fi
+
+\metadef{sheettitle}
+\metadef{sheetauthor}
+
+\metaunset[info]{writepdf}
+\def\exf@writemetadata{%
+ \exf@ifis\exf@metadata{sheet}{\metaset[use]{sheettitle}{}}%
+ \metawritepdfinfo%
+ \exf@ifis\exf@metadata{sheet}{\metaunset[use]{sheettitle}}}
+
+\metaset{sheetauthor}{\exerciseifempty{\getsheetdata{author}}%
+ {\metapick[#1]{instructor}}{\getsheetdata{author}}}
+\metaset{sheettitle}{\exerciseifempty{\getsheetdata{rawtitle}}%
+ {\metatranslate[#1]{sheet} \thesheet}%
+ {\getsheetdata{rawtitle}}}
+\metaset{author}{\exerciseifempty{\getsheetdata{author}}%
+ {\metapick[#1]{instructor}}{\metapick[#1]{sheetauthor}}}
+\metaset{subtitle}{%
+ \metaif[use]{sheettitle}
+ {\metapick[#1]{sheettitle}}
+ {\metapick[#1]{material}}}
+
+\exerciseconfig{termsheet}{\metaterm{sheet}}
+\exerciseconfig{termsheets}{\metaterm{sheets}}
+\exerciseconfig{termproblem}{\metaterm{problem}}
+\exerciseconfig{termproblems}{\metaterm{problems}}
+\exerciseconfig{termsolution}{\metaterm{solution}}
+\exerciseconfig{termsolutions}{\metaterm{solutions}}
+\exerciseconfig{termpoint}{\metaterm{point}}
+\exerciseconfig{termpoints}{\metaterm{points}}
+
+\ifdefined\mstr@lang@en
+\metasetterm[en]{sheet}{Sheet}
+\metasetterm[en]{sheets}{Sheets}
+\metasetterm[en]{problem}{Problem}
+\metasetterm[en]{problems}{Problems}
+\metasetterm[en]{solution}{Solution}
+\metasetterm[en]{solutions}{Solutions}
+\metasetterm[en]{point}{point}
+\metasetterm[en]{points}{points}
+\fi
+
+\ifdefined\mstr@lang@de
+\metasetterm[de]{sheet}{Blatt}
+\metasetterm[de]{sheets}{Blätter}
+\metasetterm[de]{problem}{Aufgabe}
+\metasetterm[de]{problems}{Aufgaben}
+\metasetterm[de]{solution}{L\"osung}
+\metasetterm[de]{solutions}{L\"osungen}
+\metasetterm[de]{point}{Punkt}
+\metasetterm[de]{points}{Punkte}
+\fi
+
+\ifdefined\mstr@lang@fr
+\metasetterm[fr]{sheet}{Feuille}
+\metasetterm[fr]{sheets}{Feuilles}
+\metasetterm[fr]{problem}{Probl\`eme}
+\metasetterm[fr]{problems}{Probl\`emes}
+\metasetterm[fr]{solution}{Solution}
+\metasetterm[fr]{solutions}{Solutions}
+\metasetterm[fr]{point}{point}
+\metasetterm[fr]{points}{points}
+\fi
+
+\ifdefined\mstr@lang@es
+\metasetterm[es]{sheet}{Hoja}
+\metasetterm[es]{sheets}{Hojas}
+\metasetterm[es]{problem}{Problema}
+\metasetterm[es]{problems}{Problemas}
+\metasetterm[es]{solution}{Solucion}
+\metasetterm[es]{solutions}{Soluciones}
+\metasetterm[es]{point}{punto}
+\metasetterm[es]{points}{puntos}
+\fi
+
+\fi
+
\endinput
%%
%% End of file `exframe.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/exframe.tlpobj new/tlpkg/tlpobj/exframe.tlpobj
--- old/tlpkg/tlpobj/exframe.tlpobj 2019-02-28 03:35:59.000000000 +0100
+++ new/tlpkg/tlpobj/exframe.tlpobj 2020-02-26 01:54:40.000000000 +0100
@@ -1,6 +1,6 @@
name exframe
category Package
-revision 49784
+revision 53911
shortdesc Framework for exercise problems
relocated 1
longdesc This LaTeX2e package provides a general purpose framework to
@@ -11,10 +11,9 @@
longdesc implement a consistent numbering. It also provides a very
longdesc flexible interface for configuring and customising the
longdesc formatting, layout, and representation of the exercise content.
-runfiles size=12
+runfiles size=16
RELOC/tex/latex/exframe/exframe.sty
catalogue-ctan /macros/latex/contrib/exframe
-catalogue-date 2019-01-21 18:01:45 +0100
catalogue-license lppl1.3
catalogue-topics exam exercise
-catalogue-version 3.1
+catalogue-version 3.4
++++++ exsheets.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exsheets/README new/doc/latex/exsheets/README
--- old/doc/latex/exsheets/README 2017-02-11 00:30:33.000000000 +0100
+++ new/doc/latex/exsheets/README 2019-09-30 23:50:28.000000000 +0200
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-EXSHEETS 2017/02/08 v0.21i
+EXSHEETS 2019/09/30 v0.21k
bundled packages:
the EXSHEETS package
Yet another package for the creation of exercise sheets
@@ -11,7 +11,7 @@
Web: https://bitbucket.org/cgnieder/exsheets/
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
-Copyright 2011-2017 Clemens Niederberger
+Copyright 2011-2019 Clemens Niederberger
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
Binary files old/doc/latex/exsheets/exsheets_en.pdf and new/doc/latex/exsheets/exsheets_en.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/exsheets/exsheets_en.tex new/doc/latex/exsheets/exsheets_en.tex
--- old/doc/latex/exsheets/exsheets_en.tex 2017-02-11 00:30:33.000000000 +0100
+++ new/doc/latex/exsheets/exsheets_en.tex 2019-09-27 23:25:12.000000000 +0200
@@ -10,10 +10,10 @@
%
% --------------------------------------------------------------------------
% Clemens Niederberger
-% Web: http://www.mychemistry.eu/forums/forum/exsheets/
+% Web: https://bitbucket.org/cgnieder/exsheets/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2011-2017 Clemens Niederberger
+% Copyright 2011-2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/exsheets.doc.tlpobj new/tlpkg/tlpobj/exsheets.doc.tlpobj
--- old/tlpkg/tlpobj/exsheets.doc.tlpobj 2019-02-28 03:36:01.000000000 +0100
+++ new/tlpkg/tlpobj/exsheets.doc.tlpobj 2019-10-01 02:21:51.000000000 +0200
@@ -1,9 +1,9 @@
name exsheets.doc
category Package
-revision 43188
+revision 52227
shortdesc doc files of exsheets
relocated 1
-docfiles size=198
+docfiles size=196
RELOC/doc/latex/exsheets/README
RELOC/doc/latex/exsheets/exsheets_en.pdf
RELOC/doc/latex/exsheets/exsheets_en.tex
++++++ exsheets.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/exsheets/exsheets-listings.sty new/tex/latex/exsheets/exsheets-listings.sty
--- old/tex/latex/exsheets/exsheets-listings.sty 2017-02-11 00:30:33.000000000 +0100
+++ new/tex/latex/exsheets/exsheets-listings.sty 2019-09-27 23:25:12.000000000 +0200
@@ -8,7 +8,7 @@
% Web: https://bitbucket.org/cgnieder/exsheets/
% E-Mail: contact@mychemistry.eu
% ----------------------------------------------------------------------------
-% Copyright 2011-2017 Clemens Niederberger
+% Copyright 2011-2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -138,7 +138,7 @@
\NewLstQuSolPair{lstquestion}{question}{lstsolution}{solution}
-\tex_endinput:D
+\file_input_stop:
HISTORY
2013/09/18 - first draft, see http://tex.stackexchange.com/a/133969/5049
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/exsheets/exsheets.sty new/tex/latex/exsheets/exsheets.sty
--- old/tex/latex/exsheets/exsheets.sty 2017-02-11 00:30:33.000000000 +0100
+++ new/tex/latex/exsheets/exsheets.sty 2019-09-30 23:50:28.000000000 +0200
@@ -8,7 +8,7 @@
% Web: http://www.mychemistry.eu/forums/forum/exsheets
% E-Mail: contact@mychemistry.eu
% ----------------------------------------------------------------------------
-% Copyright 2011-2017 Clemens Niederberger
+% Copyright 2011-2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -28,8 +28,8 @@
\RequirePackage { expl3 , xparse }
\ExplSyntaxOn
-\tl_const:Nn \c_exsheets_date_tl {2017/02/08}
-\tl_const:Nn \c_exsheets_version_tl {0.21i}
+\tl_const:Nn \c_exsheets_date_tl {2019/09/30}
+\tl_const:Nn \c_exsheets_version_tl {0.21k}
\tl_const:Nn \c_exsheets_info_tl
{Yet~ another~ package~ for~ the~ creation~ of~ exercise~ sheets~ and~ exams.}
@@ -118,7 +118,7 @@
}
\msg_new:nnn {exsheets} {loading-configurations}
- { Loading~ custom~ configurations~ file~ `exsheets_configurations.cgf'. }
+ { Loading~ custom~ configurations~ file~ `exsheets_configurations.cfg'. }
\msg_new:nnn {exsheets} {deprecated-command}
{
@@ -2395,7 +2395,7 @@
\tl_if_eq:nnTF {#3} { - }
{
\int_zero:N \l__exsheets_tmpa_int
- \int_set_eq:NN \l__exsheets_tmpb_int \c_ten_thousand
+ \int_set:Nn \l__exsheets_tmpb_int { 10000 }
\tl_if_blank:nF {#1} { \int_set:Nn \l__exsheets_tmpa_int {#1} }
\tl_if_blank:nF {#2} { \int_set:Nn \l__exsheets_tmpb_int {#2} }
\int_do_while:nn { \l__exsheets_tmpa_int <= \l__exsheets_tmpb_int }
@@ -2444,7 +2444,7 @@
\tl_if_eq:nnTF {#3} { - }
{
\int_zero:N \l__exsheets_tmpa_int
- \int_set_eq:NN \l__exsheets_tmpb_int \c_ten_thousand
+ \int_set:Nn \l__exsheets_tmpb_int { 10000 }
\tl_if_blank:nF {#1} { \int_set:Nn \l__exsheets_tmpa_int {#1} }
\tl_if_blank:nF {#2} { \int_set:Nn \l__exsheets_tmpb_int {#2} }
\int_do_while:nn { \l__exsheets_tmpa_int <= \l__exsheets_tmpb_int }
@@ -2489,9 +2489,9 @@
=
\use:c { l__exsheets_counter_#1_int }
}
- &&
- !\int_compare_p:n
- { \use:c { l__exsheets_counter_#1_int } = 0 }
+ % &&
+ % !\int_compare_p:n
+ % { \use:c { l__exsheets_counter_#1_int } = 0 }
}
{#2}
}
@@ -2576,7 +2576,7 @@
\tl_if_in:nnTF {#1} { @@@ }
{ \__exsheets_solutions_name:nnn { } {#2} {#3} }
{ \__exsheets_solutions_name:nnn {#1} {#2} {#3} }
- \tex_penalty:D \c_ten_thousand
+ \tex_penalty:D 10000 \scan_stop:
}
\cs_generate_variant:Nn \exsheets_solutions_print_name:nnn { V , VVV }
@@ -2752,7 +2752,7 @@
{ \exsheets_write_blank:n {#1} }
{
\bool_if:NTF \l__exsheets_blank_width_bool
- { \__exsheets_blank_skip:N \l__exsheets_blank_dim }
+ { \__exsheets_blank_skip:V \l__exsheets_blank_dim }
{
\__exsheets_blank_skip:n
{ \box_wd:N \l__exsheets_blank_box }
@@ -2760,7 +2760,7 @@
}
}
-\cs_new_protected:Npn \__exsheets_blank_skip:N #1
+\cs_new_protected:Npn \__exsheets_blank_skip:n #1
{
\bool_if:NTF \l__exsheets_blank_width_bool
{ \dim_set:Nn \l__exsheets_tmpa_dim {#1} }
@@ -2791,7 +2791,7 @@
}
{ \exsheets_write_blank:n { \skip_horizontal:N \l__exsheets_tmpa_dim } }
}
-\cs_generate_variant:Nn \__exsheets_blank_skip:N { n }
+\cs_generate_variant:Nn \__exsheets_blank_skip:n { V }
% the following code from Heiko Oberdieck in d.c.t.t served as inspiration
% and basis for the \blank command:
@@ -2965,7 +2965,7 @@
}
}
-\tex_endinput:D
+\file_input_stop:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
HISTORY:
@@ -3224,6 +3224,7 @@
2016/10/25 v0.21g - smaller steps when creating the blank lines
2016/11/28 v0.21h - bug in \exsheets@used@id fixed
2017/02/08 v0.21i - adapt to l3sort integration into l3kernel
+2019/09/27 v0.21j - fix bug #44
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TODO:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/exsheets/exsheets_configurations.cfg new/tex/latex/exsheets/exsheets_configurations.cfg
--- old/tex/latex/exsheets/exsheets_configurations.cfg 2017-02-11 00:30:33.000000000 +0100
+++ new/tex/latex/exsheets/exsheets_configurations.cfg 2019-09-27 23:25:12.000000000 +0200
@@ -5,10 +5,10 @@
%
% ----------------------------------------------------------------------------
% Clemens Niederberger
-% Web: http://www.mychemistry.eu/forums/forum/exsheets
+% Web: https://bitbucket.org/cgnieder/exsheets/
% E-Mail: contact@mychemistry.eu
% ----------------------------------------------------------------------------
-% Copyright 2011-2017 Clemens Niederberger
+% Copyright 2011-2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/exsheets/exsheets_headings.cfg new/tex/latex/exsheets/exsheets_headings.cfg
--- old/tex/latex/exsheets/exsheets_headings.cfg 2017-02-11 00:30:33.000000000 +0100
+++ new/tex/latex/exsheets/exsheets_headings.cfg 2019-09-27 23:25:12.000000000 +0200
@@ -8,7 +8,7 @@
% Web: https://bitbucket.org/cgnieder/exsheets/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2011-2017 Clemens Niederberger
+% Copyright 2011-2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -358,4 +358,4 @@
attach = { main[hc,vc] number[hc,vc] (0pt,0pt) }
}
-\tex_endinput:D
+\file_input_stop:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/exsheets/exsheets_headings.def new/tex/latex/exsheets/exsheets_headings.def
--- old/tex/latex/exsheets/exsheets_headings.def 2017-02-11 00:30:33.000000000 +0100
+++ new/tex/latex/exsheets/exsheets_headings.def 2019-09-27 23:25:12.000000000 +0200
@@ -8,7 +8,7 @@
% Web: https://bitbucket.org/cgnieder/exsheets/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2011-2017 Clemens Niederberger
+% Copyright 2011-2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -471,4 +471,4 @@
}
}
-\tex_endinput:D
+\file_input_stop:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/exsheets.tlpobj new/tlpkg/tlpobj/exsheets.tlpobj
--- old/tlpkg/tlpobj/exsheets.tlpobj 2019-02-28 03:36:02.000000000 +0100
+++ new/tlpkg/tlpobj/exsheets.tlpobj 2019-10-01 02:21:52.000000000 +0200
@@ -1,6 +1,6 @@
name exsheets
category Package
-revision 43188
+revision 52227
shortdesc Create exercise sheets and exams
relocated 1
longdesc The package provides the means to create exercises or questions
@@ -26,7 +26,7 @@
catalogue-also xsim
catalogue-contact-repository https://bitbucket.org/cgnieder/exsheets/
catalogue-ctan /macros/latex/contrib/exsheets
-catalogue-date 2017-05-19 18:29:46 +0200
+catalogue-date 2019-09-30 17:42:25 +0200
catalogue-license lppl1.3
catalogue-topics exercise exam expl3
-catalogue-version 0.21i
+catalogue-version 0.21k
++++++ extarrows.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extarrows/README new/doc/latex/extarrows/README
--- old/doc/latex/extarrows/README 2008-05-16 17:44:05.000000000 +0200
+++ new/doc/latex/extarrows/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-Package: extarrows (extensible arrows)
-
-Version:
- * 1.0b (2008/05/15)
- Thanks to Herbert Voss
- * 1.0a (2004/11/05)
-
-Author: kyanh
-
-License: LGPL
-
-This package provides some extensible arrows in maths. mode
- (more than \xleftarrow, \xrightarrow, ...)
-
- \xlongequal
- \xLongleftarrow
- \xLongrightarrow
- \xLongleftrightarrow
- \xLeftrightarrow
-
- \xlongleftrightarrow
- \xleftrightarrow
- \xlongleftarrow
- \xlongrightarrow
-
-Examples:
- extarrows-test.tex (source)
- extarrows-test.pdf (demonstration)
-
---
-Huynh Ky Anh
-Vietnamese TeX Users Group
-http://kyanh.net/
-http://viettug.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extarrows/README.md new/doc/latex/extarrows/README.md
--- old/doc/latex/extarrows/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extarrows/README.md 2020-03-19 22:43:06.000000000 +0100
@@ -0,0 +1,34 @@
+## Description
+
+`extarrows` (extensible arrows) provides some extensible arrows in math mode.
+
+The list of new arrow commands:
+
+* `\xlongequal`
+* `\xLongleftarrow`
+* `\xLongrightarrow`
+* `\xLongleftrightarrow`
+* `\xLeftrightarrow`
+* `\xlongleftrightarrow`
+* `\xleftrightarrow`
+* `\xlongleftarrow`
+* `\xlongrightarrow`
+
+## Examples
+
+* Source file: [extarrows-test.tex](extarrows-test.tex)
+* Sample output: [extarrows-test.pdf](extarrows-test.pdf)
+
+## History
+
+* Version 1.2.0 (2020/03/12): Documentation updates. Use https://github.com/viettug/extarrows
+* Version 1.0b (2008/05/15): Thanks to Herbert Voss
+* Version 1.0a (2004/11/05): Initial version
+
+## Author:
+
+Ky-Anh Huynh
+
+## License
+
+LGPL
Binary files old/doc/latex/extarrows/extarrows-test.pdf and new/doc/latex/extarrows/extarrows-test.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extarrows/extarrows-test.tex new/doc/latex/extarrows/extarrows-test.tex
--- old/doc/latex/extarrows/extarrows-test.tex 2008-05-16 17:44:05.000000000 +0200
+++ new/doc/latex/extarrows/extarrows-test.tex 2020-03-19 22:43:06.000000000 +0100
@@ -1,9 +1,17 @@
+% Purpose : Provide some extensible arrows in math mode.
+% (Sample source file)
+% Author : Ky-Anh Huynh
+% License : LGPL
+
\documentclass[10pt, a4paper, oneside]{article}
\usepackage{extarrows}
+% Define a simple macro for testing
\def\test#1/{%
- \texttt{\textbackslash #1:}\qquad& A\csname #1\endcsname[\text{to love}]{\text{we love}}Z}
+ \texttt{\textbackslash #1:}\qquad& A\csname #1\endcsname[\text{sub-script}]{\text{super-script}}Z}
+
+% Test command without sub/super-scripts
\def\tfst #1/{%
\texttt{\textbackslash #1:}\qquad& A\csname #1\endcsname[]{}Z}
@@ -11,14 +19,12 @@
\section{Syntax}
\begin{verbatim}
+\arrowname{super-script}
\arrowname[sub-script]{super-script}
\end{verbatim}
\noindent
-\texttt{arrowname} is \texttt{xlongequal}, \texttt{xLongleftarrow}, etc.
-
-\noindent
-The parameter \verb"[sub-script]" is optional.
+\texttt{arrowname} is one of known arrow command, for example, \texttt{xlongequal}, \texttt{xLongleftarrow},\ldots
\section{Examples}
\begin{align}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/extarrows.doc.tlpobj new/tlpkg/tlpobj/extarrows.doc.tlpobj
--- old/tlpkg/tlpobj/extarrows.doc.tlpobj 2019-02-28 03:36:02.000000000 +0100
+++ new/tlpkg/tlpobj/extarrows.doc.tlpobj 2020-03-20 18:32:42.000000000 +0100
@@ -1,9 +1,9 @@
name extarrows.doc
category Package
-revision 15878
+revision 54400
shortdesc doc files of extarrows
relocated 1
-docfiles size=10
- RELOC/doc/latex/extarrows/README
+docfiles size=18
+ RELOC/doc/latex/extarrows/README.md
RELOC/doc/latex/extarrows/extarrows-test.pdf
RELOC/doc/latex/extarrows/extarrows-test.tex
++++++ extarrows.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/extarrows/extarrows.sty new/tex/latex/extarrows/extarrows.sty
--- old/tex/latex/extarrows/extarrows.sty 2008-05-16 17:44:05.000000000 +0200
+++ new/tex/latex/extarrows/extarrows.sty 2020-03-19 22:43:06.000000000 +0100
@@ -1,5 +1,9 @@
+% Purpose : Provide some extensible arrows in math mode.
+% Author : Ky-Anh Huynh
+% License : LGPL
+
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{extarrows}[2008/05/15 v1.0b Some extensible arrows]
+\ProvidesPackage{extarrows}[2020/03/12 v1.2.0 Some extensible arrows]
\RequirePackage{amsmath}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/extarrows.tlpobj new/tlpkg/tlpobj/extarrows.tlpobj
--- old/tlpkg/tlpobj/extarrows.tlpobj 2019-02-28 03:36:02.000000000 +0100
+++ new/tlpkg/tlpobj/extarrows.tlpobj 2020-03-20 18:32:42.000000000 +0100
@@ -1,6 +1,6 @@
name extarrows
category Package
-revision 15878
+revision 54400
shortdesc Extra Arrows beyond those provided in amsmath
relocated 1
longdesc Arrows are provided to supplement \xleftarrow and \xrightarrow
@@ -10,8 +10,9 @@
longdesc \xlongrightarrow.
runfiles size=1
RELOC/tex/latex/extarrows/extarrows.sty
+catalogue-contact-bugs https://github.com/viettug/extarrows/issues
+catalogue-contact-repository https://github.com/viettug/extarrows
catalogue-ctan /macros/latex/contrib/extarrows
-catalogue-date 2018-10-09 06:08:39 +0200
catalogue-license lgpl
catalogue-topics maths
-catalogue-version 1.0b
+catalogue-version 1.2.0
++++++ extract.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/README new/doc/latex/extract/README
--- old/doc/latex/extract/README 2006-11-09 14:48:06.000000000 +0100
+++ new/doc/latex/extract/README 2019-09-18 23:57:16.000000000 +0200
@@ -1,5 +1,5 @@
-extract v1.8
-------------
+extract v1.9a
+-------------
This package can be used to (conditionally) extract specific
commands and environments from a source file and write them to a
@@ -44,7 +44,7 @@
License
-------
-Copyright (C) 2004-2005 Hendri Adriaens
+Copyright (C) 2004-2019 Hendri Adriaens
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/extract.bib new/doc/latex/extract/extract.bib
--- old/doc/latex/extract/extract.bib 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/extract.bib 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,139 @@
+%%
+%% This is file `extract.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `bib')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+@MISC{LaTeXbase,
+ author = {Johannes Braams and David Carlisle and Alan Jeffrey and Leslie Lamport
+ and Frank Mittelbach and Chris Rowley and Rainer Sch\"opf},
+ title = {The {\LaTeXe} Sources},
+ howpublished = {\url{CTAN:/macros/latex/base}},
+ year = 2003
+}
+
+@MISC{xkeyval,
+ author = {Hendri Adriaens},
+ title = {\pf{xkeyval} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/xkeyval}}
+}
+
+@MISC{verbatim,
+ author = {Rainer Sch\"opf},
+ title = {\pf{verbatim} package, v1.5q},
+ howpublished = {\url{CTAN:/macros/latex/required/tools}},
+ year = {2003/08/22}
+}
+
+@MISC{xcomment,
+ author = {Timothy Van Zandt},
+ title = {\pf{xcomment} package, v1.2},
+ howpublished = {\url{CTAN:/macros/latex/contrib/seminar}},
+ year = {1993/02/12}
+}
+
+@MISC{askinclude,
+ author = {{Pablo A. Straub}},
+ title = {\pf{askinclude} package, v1.2e},
+ howpublished = {\url{CTAN:/macros/latex/contrib/misc}},
+ year = {1994/11/11}
+}
+
+@MISC{excludeonly,
+ author = {Dan Luecking},
+ title = {\pf{excludeonly} package, v1.0},
+ howpublished = {\url{CTAN:/macros/latex/contrib/misc}},
+ year = {2003/03/14}
+}
+
+@MISC{comment,
+ author = {Victor Eijkhout},
+ title = {\pf{comment} package, v3.6},
+ howpublished = {\url{CTAN:/macros/latex/contrib/comment}},
+ year = {1999/10}
+}
+
+@MISC{optional,
+ author = {Donald Arseneau},
+ title = {\pf{optional} package, v2.2},
+ howpublished = {\url{CTAN:/macros/latex/contrib/misc}},
+ year = {2001/09}
+}
+
+@MISC{version,
+ author = {Stephen Bellantoni},
+ title = {\pf{version} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/misc}},
+ year = {1990}
+}
+
+@MISC{versions,
+ author = {Uwe L\"uck},
+ title = {\pf{versions} package, v0.51},
+ howpublished = {\url{CTAN:/macros/latex/contrib/versions}},
+ year = {2003/10/15}
+}
+
+@MISC{pagesel,
+ author = {Heiko Oberdiek},
+ title = {\pf{pagesel} package, v1.1},
+ howpublished = {\url{CTAN:/macros/latex/contrib/oberdiek}},
+ year = {1999/04/13}
+}
+
+@MISC{pdfpages,
+ author = {Andreas Matthias},
+ title = {\pf{pdfpages} package, v0.3e},
+ howpublished = {\url{CTAN:/macros/latex/contrib/pdfpages}},
+ year = {2004/01/31}
+}
+
+@MISC{selectp,
+ author = {Donald Arseneau},
+ title = {\pf{selectp} package, v0.9},
+ howpublished = {\url{CTAN:/macros/latex/contrib/misc}},
+ year = {1992/09/25}
+}
+
+@MISC{fancyvrb,
+ author = {Timothy Van Zandt},
+ title = {\pf{fancyvrb} package, v2.6},
+ howpublished = {\url{CTAN:/macros/latex/contrib/fancyvrb}},
+ year = {1998/07/17}
+}
+
+@MISC{listings,
+ author = {Carsten Heinz},
+ title = {\pf{listings} package, v1.3},
+ howpublished = {\url{CTAN:/macros/latex/contrib/listings}},
+ year = {2004/09/07}
+}
+\endinput
+%%
+%% End of file `extract.bib'.
Binary files old/doc/latex/extract/extract.pdf and new/doc/latex/extract/extract.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrex1.tex new/doc/latex/extract/xtrex1.tex
--- old/doc/latex/extract/xtrex1.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrex1.tex 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,56 @@
+%%
+%% This is file `xtrex1.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `xtrex1')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\documentclass[10pt]{article}
+\usepackage[
+ active,
+ generate=file,
+ copydocumentclass=false,
+ extract-env=equation
+]{extract}
+\begin{extract}
+\documentclass[11pt]{article}
+\end{extract}
+\begin{document}
+Some text.
+\begin{equation}
+a^2+b^2=c^2
+\end{equation}
+Some text.
+\begin{equation}
+x^2+y^2=z^2
+\end{equation}
+Some text.
+\end{document}
+\endinput
+%%
+%% End of file `xtrex1.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrex2.tex new/doc/latex/extract/xtrex2.tex
--- old/doc/latex/extract/xtrex2.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrex2.tex 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,57 @@
+%%
+%% This is file `xtrex2.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `xtrex2')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\documentclass{article}
+\usepackage[
+ active,
+ generate=file,
+ extract-env=exercise,
+ extract-cmd=section,
+ extract-cmdline=label
+]{extract}
+\begin{extract*}
+\newtheorem{exercise}{Exercise}
+\end{extract*}
+\begin{document}
+\section{Theory}
+\label{sec:1}
+Some text.
+\section{Exercises}
+\begin{exercise}
+Use the results from section
+\ref{sec:1} to show that\dots
+\end{exercise}
+Some text.
+\end{document}
+\endinput
+%%
+%% End of file `xtrex2.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrex3.tex new/doc/latex/extract/xtrex3.tex
--- old/doc/latex/extract/xtrex3.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrex3.tex 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,64 @@
+%%
+%% This is file `xtrex3.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `xtrex3')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\documentclass{article}
+\usepackage[
+ active,
+ generate=file,
+ extract-env=figure,
+ figure-nrs={1,3},
+ figure-labels={fig-a,fig-b}
+]{extract}
+\begin{document}
+Some text.
+\begin{figure}
+Figure 1.
+\end{figure}
+Some text.
+\extractionlabel{fig-a}
+\begin{figure}
+Figure 2.
+\end{figure}
+Some text.
+\extractionlabel{fig-b}
+\begin{figure}
+Figure 3.
+\end{figure}
+Some text.
+\extractionlabel{fig-c}
+\begin{figure}
+Figure 4.
+\end{figure}
+\end{document}
+\endinput
+%%
+%% End of file `xtrex3.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrex4.tex new/doc/latex/extract/xtrex4.tex
--- old/doc/latex/extract/xtrex4.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrex4.tex 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,54 @@
+%%
+%% This is file `xtrex4.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `xtrex4')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\documentclass{article}
+\usepackage[
+ active,
+ generate=file,
+ extract-env=equation*
+]{extract}
+\begin{extract*}
+\usepackage{amsmath}
+\end{extract*}
+\begin{document}
+Some text.
+\begin{equation*}
+x^2+y^2=z^2
+\end{equation*}
+\begin{extract}
+$x=3$, $y=4$ and $z=5$
+satisfy this equation.
+\end{extract}
+\end{document}
+\endinput
+%%
+%% End of file `xtrex4.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrex5.tex new/doc/latex/extract/xtrex5.tex
--- old/doc/latex/extract/xtrex5.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrex5.tex 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,59 @@
+%%
+%% This is file `xtrex5.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `xtrex5')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\documentclass{article}
+\usepackage[
+ active,
+ generate=file,
+ copydocumentclass=false,
+ extract-labels=type-a,
+ line-labels={type-a,type-c},
+ line-nrs=3
+]{extract}
+\begin{extract}[type-a]
+\documentclass{article}
+\end{extract}
+\begin{extract}[type-b]
+\documentclass{book}
+\end{extract}
+\begin{document}
+\parindent0pt
+\extractline[type-a]line 1\\
+\extractline*line 2\\
+\extractline line 3\\
+\extractline*[type-a]line 4\\
+\extractline*[type-c]line 5\\
+\extractline line 6\\
+\end{document}
+\endinput
+%%
+%% End of file `xtrex5.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrex6.tex new/doc/latex/extract/xtrex6.tex
--- old/doc/latex/extract/xtrex6.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrex6.tex 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,62 @@
+%%
+%% This is file `xtrex6.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `xtrex6')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\documentclass{article}
+\usepackage[
+ active,
+ generate=file,
+ extract-env=figure
+]{extract}
+\begin{document}
+\begin{figure}[!h]
+\begin{extractskip}
+\fbox{figure 1}
+\end{extractskip}
+\fbox{figure 2}
+\end{figure}
+\begin{extract*}
+\begin{itemize}
+\item 1
+\item 2
+a\begin{extractskip}b
+\item 3
+c\end{extractskip}d
+\item 4
+\begin{extractskip}
+\item 5
+\end{extractskip}
+\end{itemize}
+\end{extract*}
+\end{document}
+\endinput
+%%
+%% End of file `xtrex6.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrex7.tex new/doc/latex/extract/xtrex7.tex
--- old/doc/latex/extract/xtrex7.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrex7.tex 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,56 @@
+%%
+%% This is file `xtrex7.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `xtrex7')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\documentclass{article}
+\usepackage[
+ active,
+ generate=file,
+ extractskip-labels=skipb
+]{extract}
+\begin{document}
+\begin{extract*}
+\begin{itemize}
+\begin{extractskip}[skipa]
+\item 1
+\end{extractskip}
+\begin{extractskip}[skipb]
+\item 2
+\end{extractskip}
+\begin{extractskip}[skipc]
+\item 3
+\end{extractskip}
+\end{itemize}
+\end{extract*}
+\end{document}
+\endinput
+%%
+%% End of file `xtrex7.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/extract/xtrpream.ble new/doc/latex/extract/xtrpream.ble
--- old/doc/latex/extract/xtrpream.ble 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/extract/xtrpream.ble 2019-09-18 23:57:16.000000000 +0200
@@ -0,0 +1,165 @@
+%%
+%% This is file `xtrpream.ble',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% extract.dtx (with options: `preamble')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2019 Hendri Adriaens
+%% ---------------------------------------
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of the file extract.dtx and the derived files
+%% extract.sty, xtrex1.tex, xtrex2.tex, xtrex3.tex, xtrex4.tex,
+%% xtrex5.tex, xtrex6.tex and xtrex7.tex.
+%%
+%% The following files constitute the extract package and must be
+%% distributed as a whole: readme, extract.dtx, extract.pdf and
+%% extract.sty.
+%%
+\usepackage{url}
+\usepackage{extract}
+\usepackage{xcolor}
+\usepackage{fourier}
+\usepackage{varioref}
+\usepackage{pst-text}
+\def\reftextafter{on page~\thevpagerefnum}
+\def\reftextbefore{on page~\thevpagerefnum}
+\def\reftextfaceafter{on page~\thevpagerefnum}
+\def\reftextfacebefore{on page~\thevpagerefnum}
+\usepackage{listings}
+\lstnewenvironment{command}{%
+ \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},%
+ xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{}
+\lstnewenvironment{example}{%
+ \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,%
+ backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,%
+ xrightmargin=\fboxsep,gobble=1}}{}
+\def\mktitledecor{%
+ \rput[tl]{90}(-6.5,-22.56){%
+ \psline[linewidth=1pt](0,1.5)(\paperheight,1.5)%
+ \rput[lB](.075\paperheight,.5){\pscharpath[linecolor=blue!50,%
+ fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]%
+ {\Huge\bfseries\sffamily extract}%
+ }%
+ \rput[rB](.925\paperheight,.5){\pscharpath[linecolor=blue!50,%
+ fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]%
+ {\Huge\bfseries Documentation}%
+ }%
+ \psline[linewidth=1pt](0,0)(\paperheight,0)%
+ }%
+}
+\usepackage{float}
+\newfloat{Listing}{htb}{loe}
+\makeatletter
+\def\tableofcontents{%
+ \begin{multicols}{2}%
+ [\section*{Contents}%
+ \setlength{\columnseprule}{.4pt}%
+ \setlength{\columnsep}{18pt}]%
+ \@starttoc{toc}%
+ \end{multicols}%
+}
+\def\changes@#1#2#3{%
+ \protected@edef\@tempa{%
+ \noexpand\glossary{\textbf{#1}\hfill\emph{(#2)}%
+ \levelchar
+ \ifx\saved@macroname\@empty
+ \space\actualchar\generalname
+ \else
+ \expandafter\@gobble\saved@macroname
+ \actualchar\string\verb\quotechar*%
+ \verbatimchar\saved@macroname\verbatimchar
+ \fi
+ :\levelchar #3}%
+ }%
+ \@tempa\endgroup\@esphack
+}
+\def\DescribeMacros{\leavevmode\@bsphack
+ \begingroup\MakePrivateLetters\Describe@Macros}
+\def\Describe@Macros#1{\endgroup\strut
+ \marginpar{\raggedleft
+ \def\@tempa{#1}\count@\z@
+ \@for\@tempa:=\@tempa\do{%
+ \ifnum\count@>\z@\\\fi\advance\count@\@ne
+ \MacroFont\expandafter\string\@tempa
+ \expandafter\SpecialUsageIndex\expandafter{\@tempa}%
+ }}%
+ \@esphack\ignorespaces
+}
+\def\DescribeOption#1{\leavevmode\@bsphack
+ \marginpar{\raggedleft\PrintDescribeOption{#1}}%
+ \SpecialOptionIndex{#1}\@esphack\ignorespaces}
+\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
+\def\SpecialOptionIndex#1{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (option)\encapchar usage}%
+ \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
+ usage}\@esphack}
+\def\DescribeOptions#1{\leavevmode\@bsphack
+ \marginpar{\raggedleft\strut\emph{options}%
+ \@for\@tempa:=#1\do{%
+ \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
+ }}\@esphack\ignorespaces}
+\def\DescribeEnv#1{\leavevmode\@bsphack
+ \marginpar{\raggedleft\PrintDescribeEnv{#1}}%
+ \SpecialEnvIndex{#1}\@esphack\ignorespaces}
+\def\PrintDescribeEnv#1{\strut\emph{environment}\\\MacroFont #1\ }
+\def\SpecialEnvIndex#1{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (environment)\encapchar usage}%
+ \index{environments:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
+ usage}\@esphack}
+\def\SpecialMainEnvIndex#1{\@bsphack\special@index{%
+ #1\actualchar
+ {\string\ttfamily\space#1}
+ \encapchar main}%
+ \special@index{environments:\levelchar#1\actualchar{%
+ \string\ttfamily\space#1}\encapchar
+ main}\@esphack}
+\def\DescribeEnvs#1{\leavevmode\@bsphack
+ \marginpar{\raggedleft\strut\emph{environments}%
+ \@for\@tempa:=#1\do{%
+ \\\strut\MacroFont\@tempa\SpecialEnvIndex\@tempa
+ }}\@esphack\ignorespaces}
+\renewenvironment{theglossary}{%
+ \glossary@prologue
+ \GlossaryParms \let\item\@idxitem \ignorespaces
+ }{}%
+\makeatother
+\def\PrintChangesX{%
+ \begingroup
+ \let\efill\relax
+ \PrintChanges
+ \endgroup
+}
+\def\PrintIndexX{%
+ \begingroup
+ \setcounter{IndexColumns}{2}
+ \setlength{\columnsep}{18pt}%
+ \setlength{\columnseprule}{.4pt}%
+ \PrintIndex
+ \endgroup
+}
+\def\pf#1{\textsf{#1}}
+\def\descriptionlabel{\hspace\labelsep\normalfont}
+\EnableCrossrefs
+\RecordChanges
+\GlossaryPrologue{\section*{Version history}}
+\CodelineIndex
+\endinput
+%%
+%% End of file `xtrpream.ble'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/extract.doc.tlpobj new/tlpkg/tlpobj/extract.doc.tlpobj
--- old/tlpkg/tlpobj/extract.doc.tlpobj 2019-02-28 03:36:03.000000000 +0100
+++ new/tlpkg/tlpobj/extract.doc.tlpobj 2019-09-19 01:54:00.000000000 +0200
@@ -1,8 +1,17 @@
name extract.doc
category Package
-revision 15878
+revision 52117
shortdesc doc files of extract
relocated 1
-docfiles size=51
+docfiles size=69
RELOC/doc/latex/extract/README
+ RELOC/doc/latex/extract/extract.bib
RELOC/doc/latex/extract/extract.pdf
+ RELOC/doc/latex/extract/xtrex1.tex
+ RELOC/doc/latex/extract/xtrex2.tex
+ RELOC/doc/latex/extract/xtrex3.tex
+ RELOC/doc/latex/extract/xtrex4.tex
+ RELOC/doc/latex/extract/xtrex5.tex
+ RELOC/doc/latex/extract/xtrex6.tex
+ RELOC/doc/latex/extract/xtrex7.tex
+ RELOC/doc/latex/extract/xtrpream.ble
++++++ extract.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/extract/extract.sty new/tex/latex/extract/extract.sty
--- old/tex/latex/extract/extract.sty 2006-11-09 14:48:06.000000000 +0100
+++ new/tex/latex/extract/extract.sty 2019-09-18 23:57:16.000000000 +0200
@@ -7,7 +7,7 @@
%% extract.dtx (with options: `extract')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2005 Hendri Adriaens
+%% Copyright (C) 2004-2019 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -32,7 +32,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{extract}
- [2005/05/07 v1.8 extract content from document (HA)]
+ [2019/09/18 v1.9a extract content from document (HA)]
\RequirePackage{verbatim}
\RequirePackage{xkeyval}
\newwrite\XTR@out
@@ -97,25 +97,52 @@
\fi
\fi
\newcount\@envdepth\@envdepth\z@
-\def\begin#1{%
- \@ifundefined{#1}%
- {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
- {\def\reserved@a{\def\@currenvir{#1}%
- \edef\@currenvline{\on@line}%
- \csname #1\endcsname}}%
- \@ignorefalse
- \begingroup\@endpefalse
- \global\advance\@envdepth\@ne
- \global\@namedef{@afterendenvhook@\romannumeral\@envdepth}{}%
- \reserved@a}
-\def\end#1{%
- \csname end#1\endcsname\@checkend{#1}%
- \expandafter\endgroup\if@endpe\@doendpe\fi
- \expandafter\let\expandafter\reserved@a
- \csname @afterendenvhook@\romannumeral\@envdepth\endcsname
- \global\advance\@envdepth\m@ne
- \reserved@a\relax
- \if@ignore\@ignorefalse\ignorespaces\fi}
+\@ifl@t@r\fmtversion{2019/10/01}%
+{% new format
+ \@namedef{begin }#1{%
+ \@ifundefined{#1}%
+ {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+ {\def\reserved@a{\def\@currenvir{#1}%
+ \edef\@currenvline{\on@line}%
+ \csname #1\endcsname}}%
+ \@ignorefalse
+ \begingroup\@endpefalse
+ \global\advance\@envdepth\@ne
+ \global\@namedef{@afterendenvhook@\romannumeral\@envdepth}{}%
+ \reserved@a
+ }%
+ \@namedef{end }#1{%
+ \csname end#1\endcsname\@checkend{#1}%
+ \expandafter\endgroup\if@endpe\@doendpe\fi
+ \expandafter\let\expandafter\reserved@a
+ \csname @afterendenvhook@\romannumeral\@envdepth\endcsname
+ \global\advance\@envdepth\m@ne
+ \reserved@a\relax
+ \if@ignore\@ignorefalse\ignorespaces\fi
+ }%
+}{% old format
+ \def\begin#1{%
+ \@ifundefined{#1}%
+ {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+ {\def\reserved@a{\def\@currenvir{#1}%
+ \edef\@currenvline{\on@line}%
+ \csname #1\endcsname}}%
+ \@ignorefalse
+ \begingroup\@endpefalse
+ \global\advance\@envdepth\@ne
+ \global\@namedef{@afterendenvhook@\romannumeral\@envdepth}{}%
+ \reserved@a
+ }%
+ \def\end#1{%
+ \csname end#1\endcsname\@checkend{#1}%
+ \expandafter\endgroup\if@endpe\@doendpe\fi
+ \expandafter\let\expandafter\reserved@a
+ \csname @afterendenvhook@\romannumeral\@envdepth\endcsname
+ \global\advance\@envdepth\m@ne
+ \reserved@a\relax
+ \if@ignore\@ignorefalse\ignorespaces\fi
+ }%
+}
\def\AfterEndEnv{%
\expandafter\g@addto@macro
\csname @afterendenvhook@\romannumeral\@envdepth\endcsname
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/extract.tlpobj new/tlpkg/tlpobj/extract.tlpobj
--- old/tlpkg/tlpobj/extract.tlpobj 2019-02-28 03:36:03.000000000 +0100
+++ new/tlpkg/tlpobj/extract.tlpobj 2019-09-19 01:54:00.000000000 +0200
@@ -1,6 +1,6 @@
name extract
category Package
-revision 15878
+revision 52117
shortdesc Extract parts of a document and write to another document
relocated 1
longdesc The package provides the means to extract specific content from
@@ -17,10 +17,10 @@
longdesc from the start of the document) should be extracted and which
longdesc not. This might be useful for extracting specific slides from a
longdesc presentation and use them in a new file.
-runfiles size=4
+runfiles size=5
RELOC/tex/latex/extract/extract.sty
catalogue-ctan /macros/latex/contrib/extract
-catalogue-date 2016-06-24 19:18:15 +0200
-catalogue-license lppl
+catalogue-date 2019-09-18 21:11:08 +0200
+catalogue-license lppl1.3
catalogue-topics editorial
-catalogue-version 1.8
+catalogue-version 1.9a
++++++ factura.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/README new/doc/latex/factura/README
--- old/doc/latex/factura/README 2018-03-13 22:59:20.000000000 +0100
+++ new/doc/latex/factura/README 2019-08-17 23:50:51.000000000 +0200
@@ -1,4 +1,4 @@
-<factura>
+<factura>
* Brief description in english *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-beispiel-rechnung.tex new/doc/latex/factura/factura-beispiel-rechnung.tex
--- old/doc/latex/factura/factura-beispiel-rechnung.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-beispiel-rechnung.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `beispiel')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -40,7 +40,7 @@
%% Adaptado a otra legislación
%% (prefactura) Escribimos una prefactura
%% (nospanish) Sin cargar babel en castellano, ni la codificación T1 para la tipografías
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%%</desc>
%%
\documentclass[
@@ -86,7 +86,7 @@
\def\@@Conforme{der Kunde}
\def\@@DenomFactura{Rechnung}
\def\@@DenomCotiza{Voranschlag}
-% \LetraNumeracion{\fontsize{14}{14}\bfseries}
+
\renewcommand{\@EstiloDenom}{\@LetraDenom\@Denominacion-\ifsinnumero\else\@LetraNumeracion Nr:\space\@Num\fi}
\renewcommand{\@EstiloNumControl}{}
\makeatother
@@ -98,11 +98,11 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\FondoFactura{factura-ejemplo-fondo}
-\Condiciones{Die Zahlungsbedingungen}
+\NotaFinal{Die Zahlungsbedingungen}
\Resumen{Zusammenfassung}
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-aux.tex new/doc/latex/factura/factura-ejemplo-aux.tex
--- old/doc/latex/factura/factura-ejemplo-aux.tex 2018-05-01 19:47:50.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-aux.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `aux')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -39,8 +39,8 @@
%% Archivo auxiliar; no para ser compilado sino para ser incluido en los ejemplos.
%%
\usepackage{xspace,catchfilebetweentags,regexpatch}
-\def\optcolor{\color{blue}}
-\def\macrocolor{\color{purple}}
+\def\ejemplooptcolor{\color{blue}}
+\def\ejemplomacrocolor{\color{purple}}
\makeatletter
\catcode`\%=11
\catcode`\|=14
@@ -54,8 +54,8 @@
\CatchFileBetweenDelims{\DescEjemplo}{\jobname.tex}{<desc>}{</desc>}[\catcode37=11\catcode13=14\makeatletter]|
\catcode`\%=11
\makeatletter
- \regexpatchcmd*{\DescEjemplo}{\cC.\cO[*]*}{\c{begingroup}\c{macrocolor}\c{ttfamily}\c{string}\0\c{endgroup}\c{xspace}}{}{}|
- \regexpatchcmd*{\DescEjemplo}{(\()(\cL[a-zG]*)(\))}{(\c{begingroup}\c{optcolor}\c{ttfamily}\2\c{endgroup})}{}{}|
+ \regexpatchcmd*{\DescEjemplo}{\cC.\cO[*]*}{\c{begingroup}\c{ejemplomacrocolor}\c{ttfamily}\c{string}\0\c{endgroup}\c{xspace}}{}{}|
+ \regexpatchcmd*{\DescEjemplo}{(\()(\cL[a-zG]*)(\))}{(\c{begingroup}\c{ejemplooptcolor}\c{ttfamily}\2\c{endgroup})}{}{}|
\xpatchcmd*{\DescEjemplo}{%% }{\item}{}{}|
\xpatchcmd*{\DescEjemplo}{%%}{}{}{}|
\makeatother
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-cotizacion.tex new/doc/latex/factura/factura-ejemplo-cotizacion.tex
--- old/doc/latex/factura/factura-ejemplo-cotizacion.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-cotizacion.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `cotiza')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -42,7 +42,7 @@
%% (sintotales) No totaliza, para que el cliente tenga un presupuesto por distintos ítems que luego elegirá entre ellos, es decir, una lista de precios
%% (\FondoFactura) Con el fondo de la imprenta agregado
%% (\FirmaFactura) Agregando la firma escaneada en la factura, es decir, en la cotización
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% Sin resumen
%% (\Descripcion) Con descripción larga
%%</desc>
@@ -66,13 +66,13 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\FondoFactura{factura-ejemplo-fondo}
\FirmaFactura{\includegraphics[width=4.5cm]{factura-ejemplo-firma}}[0pt][17pt]
% \Denom{PRESUPUESTO} % También podemos cambiar el nombre del documento.
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura01.tex new/doc/latex/factura/factura-ejemplo-factura01.tex
--- old/doc/latex/factura/factura-ejemplo-factura01.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura01.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factuno')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -38,8 +38,8 @@
%% Descripción de este ejemplo:
%%<desc>
%% Escribimos una factura
-%% Todo con los valores por omisión
-%% (\Condiciones) Con condiciones del documento
+%% Hacemos una factura básica con todo en sus valores por omisión, no ajustamos nada
+%% (\NotaFinal) Con nota final
%% (\Resumen) Con resumen
%% (\Descripcion) Con descripción larga
%%</desc>
@@ -56,9 +56,9 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\Resumen{El resumen opcional}
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura02.tex new/doc/latex/factura/factura-ejemplo-factura02.tex
--- old/doc/latex/factura/factura-ejemplo-factura02.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura02.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factdos')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -53,7 +53,7 @@
%% (\SepDescripcion) Alterando la distancia desde el contorno hasta el texto en la descripción
%% (\SepItemsExtra) Agregando una separación extra entre los ítems en la factura
%% (\LineaDescripcion) Alterando la línea de la descripción, la curvatura en la esquina y la sombra
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% (\Resumen) Con resumen
%% Con artículos gravados con todos los IVA
%% (\ItemX) Agregando un ítem sin precio
@@ -79,7 +79,7 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\SepVertical{0.75cm}
\SepDatosResumen{1cm}
@@ -88,16 +88,16 @@
\SepDescripcion{16pt}
\LineaDescripcion{1pt}{20pt}{3pt}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\Resumen{El resumen opcional}
\begin{document}
\begin{factura}
- \Item{1}{ítem con IVA general, con descuento}{1000}{8}
- \ItemR{1}{ítem con IVA reducido, con descuento}{1000}{5}
- \ItemA{1}{ítem con IVA adicional, con descuento}{1000}{10}
- \ItemE{1}{ítem exento de impuesto, con descuento}{1000}
+ \Item{1}{ítem con IVA general, viene con descuento}{1000}{12}
+ \ItemR{1}{ítem con IVA reducido, viene con descuento}{1000}{5}
+ \ItemA{1}{ítem con IVA adicional, viene con descuento}{1000}{10}
+ \ItemE{1}{ítem exento de impuesto}{1000}
\ItemX{1}{línea sin precio}
\end{factura}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura03.tex new/doc/latex/factura/factura-ejemplo-factura03.tex
--- old/doc/latex/factura/factura-ejemplo-factura03.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura03.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `facttres')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -44,12 +44,13 @@
%% (expandecuadro) Expande el cuadro de la factura con espacio en blanco
%% (impdesc) Con el tipo de impuesto como parte de la descripción y no de los precios
%% (sinfirmas) Sin firmas
+%% Sin especificar fecha para que tome la fecha del día.
%% (\FormatoFecha) Cambiando el separador de la fecha para que salga escrita dd/mm/yyyy
%% (\DescuentoE y \DescuentoG) Con descuentos totales en porcentajes para exentos y gravables con IVA general
%% (\SepVertical) Alterando la separación mínima vertical entre los elementos
%% (\SepEncabezado) Alterando el margen interno desde el contorno hasta el texto en el encabezado
%% (\LineaEncabezado) Alterando la línea de las cajas del encabezado, la curvatura en la esquina y la sombra
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% Sin resumen
%% Con artículos gravados con todos los IVA
%% Sin descripción larga
@@ -75,15 +76,15 @@
\Email{jacinto@ayala.sv}
\FormatoFecha{ddmmyyyy}{/}
-\Fecha{02-07-2019}
\DescuentoE{15}
\DescuentoG{20}
+
\SepVertical{0.75cm}
\SepEncabezado{16pt}
\LineaEncabezado{1pt}{20pt}{3pt}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura04.tex new/doc/latex/factura/factura-ejemplo-factura04.tex
--- old/doc/latex/factura/factura-ejemplo-factura04.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura04.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factcuatro')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -50,7 +50,7 @@
%% (\Fecha*) Suministrando la fecha según formato de datetime2 sin alterar cómo sale escrita
%% (\SepItemsExtra) Agregando una separación extra entre los ítems en la factura
%% (\Letra***) Cambiando varias de las tipografías
-%% Sin condiciones del documento
+%% Sin nota final
%% Sin resumen
%% (\NotaPrevia) Con nota previa
%% (\ItemX) Agregando un ítem sin precio
@@ -74,13 +74,13 @@
\Direccion{Av. Ayala, Galpón San Vicente, Sector Arauca, Apure, Venezuela}
\Telefono{+58 (987) 654.32.10}
-\Fecha*{2019}{07}{02}
+\Fecha*{2020}{07}{02}
\SepItemsExtra{5pt}
\LetraDescripcion{\fontsize{20}{30}}
\LetraTitEnc{\fontsize{15}{20}\bfseries}
\LetraFirmas{\fontsize{16}{20}\itshape}
-\LetraCondiciones{\fontsize{18}{28}\bfseries}
+\LetraNotaFinal{\fontsize{18}{28}\bfseries}
\NotaPrevia{\hfill LA NOTA PREVIA}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura05.tex new/doc/latex/factura/factura-ejemplo-factura05.tex
--- old/doc/latex/factura/factura-ejemplo-factura05.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura05.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factcinco')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -51,7 +51,7 @@
%% (\Conforme) Especificando el nombre de quien firma la copia de la factura como recibida
%% (\FormatoFecha) Suministrando la fecha según el formato yyyymmdd pero que salga escrita dd.mm.yyyy
%% (\SepDatosResumen) Alterando la separación horizontal entre los datos del cliente y el resumen
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% (\Resumen) Con resumen
%% (\ItemX) Agregando un ítem sin precio
%% (\Descripcion) Con descripción larga
@@ -80,10 +80,10 @@
\Conforme{\Contacto}
\FormatoFecha[yyyymmdd]{ddmmyyyy}{.}
-\Fecha{20190702}
+\Fecha{20200702}
\SepDatosResumen{1cm}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\Resumen{El resumen opcional}
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura06.tex new/doc/latex/factura/factura-ejemplo-factura06.tex
--- old/doc/latex/factura/factura-ejemplo-factura06.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura06.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factseis')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -39,6 +39,8 @@
%%<desc>
%% Escribimos una factura
%% (numitem) Con la columna para enumerar los ítems
+%% (descuentos) Con la columna para descuentos individuales
+%% (subtotal) Con la columna extra para subtotal
%% (denom) Escribe la denominación (“FACTURA”) y el número
%% (sinlineasve) Sin líneas verticales externas
%% (sinlineashi) Sin líneas horizontales internas
@@ -49,7 +51,7 @@
%% (\FormatoFecha) Cambiando el formato para que la fecha salga escrita en el formato default de datetime2 pero cambiando el separador yyyy/mm/dd
%% (\SepEncabezado) Alterando el margen interno desde el contorno hasta el texto en el encabezado
%% (\SepDescripcion) Alterando la distancia desde el contorno hasta el texto en la descripción
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% Sin resumen
%% Escribimos un ítem cuya descripción ocupa más que una línea
%% (\Descripcion) Con descripción larga
@@ -58,6 +60,8 @@
%%
\documentclass[
numitem,
+descuentos,
+subtotal,
denom,
sinlineasve,
sinlineashi,
@@ -75,18 +79,18 @@
\Conforme{Ramela San Vicente}
\FormatoFecha{default}{/}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\SepEncabezado{16pt}
\SepDescripcion{16pt}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\begin{document}
\begin{factura}
- \Item{2}{ítem con IVA general}{1000}[Un ítem que ofrecemos a precio de costo y que está gravado con IVA general]\label{primeritem}
- \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}{1000}
+ \Item{2}{ítem con IVA general, viene con descuento}{1000}{8}[Un ítem que ofrecemos a precio de costo y que está gravado con IVA general]\label{primeritem}
+ \Item{1}{ítem con IVA general, viene con descuento}{1000}{12}
\end{factura}
\Descripcion{
@@ -95,9 +99,9 @@
En el artículo número \itemref{primeritem} se facturaron \cantref{primeritem} “\descref{primeritem}”, cada uno por un valor de \Moneda~\puref{primeritem}, dando un subtotal por este elemento de \Moneda~\subtref{primeritem}; el descuento en ese artículo es del \dctoref{primeritem}\%, dando un total de \Moneda~\ptref{primeritem}, y esta gravado con IVA de \ivaref{primeritem}\%. Ampliando la descripción podemos decir que este ítem es: “\ldescref{primeritem}”.
- La base imponible total de esta factura es de \Moneda~\numprint\BIG; el IVA es de \Moneda~\numprint\AlicuotaG, el descuento presidencial en el IVA es de \Moneda~\numprint\AlicuotaGDesc, y el total final es de \Moneda~\numprint\Total.
+ La base imponible total de esta factura es de \Moneda~\numprint\BIG; el IVA es de \Moneda~\numprint\AlicuotaG, y el total final es de \Moneda~\numprint\Total.
- % Estas son todas las macros para las totalizaciones: \BIG, \BIR, \BIA, \BIE, \AlicuotaG, \AlicuotaGDesc, \AlicuotaR, \AlicuotaA, \SubtG, \SubtR, \SubtA, \SubtE, \DescG, \DescR, \DescA, \DescE.
+ % Estas son todas las macros para las totalizaciones: \BIG, \BIR, \BIA, \BIE, \AlicuotaG, \AlicuotaR, \AlicuotaA, \SubtG, \SubtR, \SubtA, \SubtE, \DescG, \DescR, \DescA, \DescE.
}
%% Este es un comando auxiliar suministrado por factura-ejemplo-aux.tex para escribir el detalle del ejemplo en la última hoja.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura07.tex new/doc/latex/factura/factura-ejemplo-factura07.tex
--- old/doc/latex/factura/factura-ejemplo-factura07.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura07.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factsiete')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -38,8 +38,6 @@
%% Descripción de este ejemplo:
%%<desc>
%% Escribimos una factura
-%% (descuentos) Con la columna para descuentos individuales
-%% (subtotal) Con la columna extra para subtotal
%% (filas) Totalización en modo de filas
%% (centrado) Centrados los totales en el modo de filas
%% (denom) Escribe la denominación (“FACTURA”) y el número
@@ -54,15 +52,13 @@
%% (\LineaDescripcion) Alterando la línea de la descripción, la curvatura en la esquina y la sombra
%% (\LineaFirmas) Alterando la longitud de las líneas para firmar y su grosor
%% (\PosFecha, \PosFirmas y \PosDenom) Alterando la posición de la fecha, las firmas y de la denominación del documento
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% Sin resumen
%% Escribimos un ítem cuya descripción ocupa más que una línea
%% (\Descripcion) Con descripción larga
%%</desc>
%%
\documentclass[
-descuentos,
-subtotal,
filas,
centrado,
denom,
@@ -82,7 +78,7 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\makeatletter
\renewcommand{\@@Cantidad}{Cant.}
@@ -94,18 +90,18 @@
\LineaEncabezado{1pt}{20pt}{3pt}
\LineaDescripcion{1pt}{20pt}{3pt}
\LineaFirmas{6.5cm}{2pt}
-% Puede usarse \PosFecha* o \PosDenom*, \PosControl* o \PosCondiciones* para que el texto se despliegue en la posición 'Y' dada pero hacia arriba y no hacia abajo. \PosFirmas no acepta eso.
+% Puede usarse \PosFecha* o \PosDenom*, \PosControl* o \PosNotaFinal* para que el texto se despliegue en la posición 'Y' dada pero hacia arriba y no hacia abajo. \PosFirmas no acepta eso.
\PosFecha{-0cm}{-1.5cm}
\PosFirmas{1cm}{1cm}{-3cm}
\PosDenom{-0cm}{4.3cm}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\begin{document}
\begin{factura}
- \Item{1}{ítem con IVA general, con descuento}{1000}{8}
- \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}[otro ítem con IVA general (esta descripción es sólo para el .csv)]{1000}{20}
+ \Item{1}{ítem con IVA general}{1000}
+ \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}[otro ítem con IVA general (esta descripción es sólo para el .csv)]{1000}
\end{factura}
\Descripcion{La descripción larga}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura08.tex new/doc/latex/factura/factura-ejemplo-factura08.tex
--- old/doc/latex/factura/factura-ejemplo-factura08.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura08.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factocho')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -43,13 +43,15 @@
%% (siniva) Sin IVA
%% (csv) Escribe un archivo CSV con la información numérica de la factura
%% Redefiniendo el formato de la fecha (redefiniendo macros \@@Fecha y \@EstiloFecha)
-%% (\Descuento*) Con descuentos totales en moneda (y no en porcentajes) aplicables por igual a todos los tipos de elementos existentes
+%% (\Descuento*) Con descuentos totales en dinero neto (y no en porcentajes) aplicables por igual a todos los tipos de elementos existentes
%% (\Letra***) Cambiando varias de las tipografías
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% (\Resumen) Con resumen
%% (\NotaInterna) Con nota interna
+%% Escribimos un ítem cuya descripción ocupa más que una línea
%% (\Descripcion) Con descripción larga
-%% (\FirmaReporte) Agregando la firma escaneada en el reporte; ajustando el corrimiento en “y” de la firma respecto a la línea
+%% (\FirmaReporte) Agregando la firma escaneada en el reporte
+%% Con \FirmaReporte, ajustando el corrimiento en “y” de la firma respecto a la línea
%%</desc>
%%
\documentclass[
@@ -68,7 +70,7 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\makeatletter
\renewcommand{\@@Fecha}{\slshape FECHA:}
@@ -76,6 +78,7 @@
\makeatother
\Descuento*{300}
+
\LetraItems{\fontsize{20}{30}}
\LetraNumeros{\fontsize{20}{30}}
\LetraTipoIVA{\fontsize{20}{30}\bfseries}
@@ -86,7 +89,7 @@
\LetraNumTotal{\fontsize{20}{30}\bfseries}
\tabcolsep7pt
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\Resumen{El resumen opcional}
\NotaInterna{LA NOTA INTERNA}
@@ -94,7 +97,7 @@
\begin{factura}
\Item{1}{ítem con IVA general}{1000}
- \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}[otro ítem con IVA general (esta descripción es sólo para el .csv)]{1000}{20}
+ \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}[otro ítem con IVA general (esta descripción es sólo para el .csv)]{1000}
\end{factura}
\Descripcion{La descripción larga}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura09.tex new/doc/latex/factura/factura-ejemplo-factura09.tex
--- old/doc/latex/factura/factura-ejemplo-factura09.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura09.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factnueve')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -41,23 +41,25 @@
%% Escribimos en el reverso de la factura
%% (sinlineahni) Sin línea horizontal interna después de la nota interna.
%% (G) Escribiendo una letra ‘G’ en los ítems gravados con IVA general así sea el único gravamen a facturar
-%% (electro) Con descuento en IVA al pagar por medios electrónicos
-%% Con nota interna automática por el descuento en pagos electrónicos.
%% (\Credito) Especificando la cantidad de días para el crédito
%% (\SepNotaPrevia) Alterando el margen interno desde el contorno hasta el texto en la nota previa
-%% (\SepCondiciones) Especificando la distancia desde el contorno hasta el texto de las condiciones, predeterminadamente sin contorno
-%% (\LineaCondiciones) Agregando el contorno para las condiciones que predeterminadamente está deshabilitado
-%% (\Condiciones) Con condiciones del documento
-%% Haciendo mención a las fechas y al crédito en las condiciones
+%% (\SepNotaFinal) Especificando la distancia desde el contorno hasta el texto de la nota final, predeterminadamente sin contorno
+%% (\LineaNotaFinal) Agregando el contorno para la nota final que predeterminadamente está deshabilitado
+%% (\PosNotaFinal) Alterando la posición de la nota final
+%% (\NotaFinal) Con nota final
+%% Haciendo mención a las fechas y al crédito en la nota final
%% (\NotaPrevia) Con nota previa
+%% (\NotaPrevia*) Con nota previa agregada al final de la nota previa anterior
+%% (\NotaInterna) Con nota interna
%% (\NotaExterna) Con nota externa
+%% (\NotaExterna**) Con nota externa agregada al principio de la nota externa anterior
%% (\Descripcion) Con descripción larga
%%</desc>
%%
\documentclass[
sinlineahni,
G,
-electro,
+% electro,
]{factura}
\input{factura-ejemplo-aux.tex}% Se incluye para efectos del ejemplo, así tendremos disponible la macro \Ejemplo.
@@ -70,16 +72,20 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
-\Credito{21}
+\Fecha{02-07-2020}
+\Credito{11}
\SepNotaPrevia{16pt}
-\SepCondiciones{16pt}
-\LineaCondiciones{0.4pt}{4pt}{3pt}
+\SepNotaFinal{16pt}
+\LineaNotaFinal{0.4pt}{4pt}{3pt}
+\PosNotaFinal{.9cm}{.9cm}{-5.3cm}
-\Condiciones{La factura se emitió el \Fecha{} con crédito de \Credito{} dias, siendo su fecha de vencimiento el \FechaVencimiento.}
+\NotaFinal{La factura se emitió el \Fecha{} con crédito de \Credito{} dias, siendo su vencimiento el \FechaVencimiento.}
\NotaPrevia{\hfill LA NOTA PREVIA}
+\NotaPrevia*{- SEGUNDA PARTE DE LA NOTA PREVIA}
+\NotaInterna{LA NOTA INTERNA}
\NotaExterna{LA NOTA EXTERNA}
+\NotaExterna**{PRIMERA PARTE DE LA NOTA EXTERNA - }
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-factura10.tex new/doc/latex/factura/factura-ejemplo-factura10.tex
--- old/doc/latex/factura/factura-ejemplo-factura10.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-factura10.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `factdiez')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -39,27 +39,27 @@
%%<desc>
%% Escribimos una factura
%% Escribimos en el reverso de la factura
-%% Establecemos las opciones de la clase a través de comandos
+%% Establecemos algunas opciones de la clase a través de comandos
%% (sinlineasv) Sin líneas verticales
%% (sinlineash) Sin líneas horizontales
+%% (sinmonedatotales) No agrega el símbolo monetario en los totales
%% (vencimiento) Con fecha de vencimiento explícita así no haya crédito
-%% Sin especificar fecha para que tome la del día.
-%% Con nota interna automática con el monto en Bs.S dada la fecha de emisión de la factura antes del cambio en la moneda el dia 04-06-2018.
%% (\GeometriaReverso) Cambiando la geometría del reverso de la factura
%% (\LineaNotaPrevia) Alterando la línea de la nota previa, para desaparecerla
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% (\NotaPrevia) Con nota previa
%% (\Descripcion) Con descripción larga
%%</desc>
%%
\documentclass[
filas, % luego queda sin efecto con \filasfalse en el preámbulo
-sinlineasv,
-sinlineash,
+sinmonedatotales,
+vencimiento,
csv, % luego queda sin efecto con \csvfalse en el preámbulo
]{factura}
-\vencimientotrue \filasfalse \csvfalse
+% Cambiamos por aquí como condicionales las opciones de la clase; es lo mismo que arriba en \documentclass.
+\sinlineasvtrue \sinlineashtrue \filasfalse \csvfalse
\input{factura-ejemplo-aux.tex}% Se incluye para efectos del ejemplo, así tendremos disponible la macro \Ejemplo.
\usepackage[utf8]{inputenc}
@@ -71,18 +71,18 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-% \Fecha{02-07-2019}
+\Fecha{02-07-2020}
\GeometriaReverso{vmargin={4cm,4cm},hmargin={4cm,4cm},footskip=0pt,headsep=0pt,headheight=0pt}
\LineaNotaPrevia{0pt}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\NotaPrevia{\hfill LA NOTA PREVIA}
\begin{document}
\begin{factura}
- \Item{1}{ítem con IVA general}{2000000}
+ \Item{1}{ítem con IVA general}{1000}
\end{factura}
\Descripcion{La descripción larga}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-firma.tex new/doc/latex/factura/factura-ejemplo-firma.tex
--- old/doc/latex/factura/factura-ejemplo-firma.tex 2018-05-01 19:47:50.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-firma.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `firma')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-fondo.tex new/doc/latex/factura/factura-ejemplo-fondo.tex
--- old/doc/latex/factura/factura-ejemplo-fondo.tex 2018-05-01 19:47:50.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-fondo.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `fondo')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-membrete.tex new/doc/latex/factura/factura-ejemplo-membrete.tex
--- old/doc/latex/factura/factura-ejemplo-membrete.tex 2018-05-01 19:47:50.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-membrete.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `membrete')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
Binary files old/doc/latex/factura/factura-ejemplo-prefactura.pdf and new/doc/latex/factura/factura-ejemplo-prefactura.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-prefactura.tex new/doc/latex/factura/factura-ejemplo-prefactura.tex
--- old/doc/latex/factura/factura-ejemplo-prefactura.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-prefactura.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `prefac')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -42,7 +42,7 @@
%% (linea) Con línea para inutilizar el espacio en blanco
%% (\Descuento) Con descuentos totales en porcentaje aplicables por igual a todos los tipos de elementos existentes
%% (\FondoFactura) Con el fondo de la imprenta agregado
-%% (\Condiciones) Con condiciones del documento
+%% (\NotaFinal) Con nota final
%% Sin resumen
%% (\Descripcion) Con descripción larga
%%</desc>
@@ -68,11 +68,12 @@
\Telefono{+58 (987) 654.32.10}
\Email{jacinto@ayala.sv}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\Descuento{18}
+
\FondoFactura{factura-ejemplo-fondo}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-reporte1.tex new/doc/latex/factura/factura-ejemplo-reporte1.tex
--- old/doc/latex/factura/factura-ejemplo-reporte1.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-reporte1.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `repuno')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -46,8 +46,8 @@
%% Sin especificar el proveedor, así toma el emisor de la factura como el nombre del proveedor
%% (\FondoReporte) Especificamos el fondo o membrete del reporte, sólo para la primera página
%% (\InicioReporte) Estableciendo un margen superior distinto para la primera página del reporte por presencia de membrete
-%% (\TituloReporte) Establecemos el título del reporte sin que salga en las cabeceras
-%% (\Condiciones) Con condiciones del documento
+%% (\TituloReporte) Establecemos el título del reporte sin que salga en las cabeceras ni pies de página
+%% (\NotaFinal) Con nota final
%% Sin resumen
%% (\Descripcion) Con descripción larga
%% (\FirmaReporte) Agregando en el reporte la línea para firmar a mano
@@ -70,7 +70,7 @@
\Email{jacinto@ayala.sv}
\Emisor{Lázaro de la Vega}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\FondoReporte{factura-ejemplo-membrete}
\InicioReporte{2.2cm}
@@ -85,7 +85,7 @@
% \EstiloPagReporte[empty]{soloarriba}
% \EstiloPagReporte{soloarriba}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\begin{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-reporte2.tex new/doc/latex/factura/factura-ejemplo-reporte2.tex
--- old/doc/latex/factura/factura-ejemplo-reporte2.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-reporte2.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `repdos')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -43,13 +43,14 @@
%% (\Proveedor) Especificando el nombre del proveedor para el encabezado del reporte
%% (\GeometriaReporte) Cambiando la geometría del papel del reporte
%% (\FondoReporte*) Especificamos el fondo o membrete del reporte para todas las páginas
-%% (\TituloReporte*) Establecemos el título del reporte para que salga en las cabeceras
-%% (\Condiciones) Con condiciones del documento
+%% (\TituloReporte*) Establecemos el título del reporte para que salga en las cabeceras o pies de página
+%% (\NotaFinal) Con nota final
%% Sin resumen
%% (\Descripcion) Con descripción larga
%% Con etiquetas y referencias
-%% (\FirmaReporte) Agregando la firma escaneada en el reporte; ajustando el corrimiento en “y” de la firma respecto a la línea
-%% Cambiando la ubicación en “x” de la línea de la firma y cambiando la longitud de la línea hacia los lados
+%% (\FirmaReporte) Agregando la firma escaneada en el reporte
+%% Con \FirmaReporte, ajustando el corrimiento en “y” de la firma respecto a la línea
+%% Con \FirmaReporte, cambiando la ubicación en “x” de la línea de la firma y cambiando la longitud de la línea hacia los lados
%%</desc>
%%
\documentclass[
@@ -68,7 +69,7 @@
\Email{jacinto@ayala.sv}
\Proveedor{Lázaro de la Vega y San Román}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\GeometriaReporte{vmargin={4.4cm,2.5cm},hmargin={3cm,2cm},footskip=1.2cm,headsep=0.777cm,headheight=1.5cm}
\FondoReporte*{factura-ejemplo-membrete}
@@ -77,12 +78,12 @@
% \EstiloPagReporte{solonumpag}
% \EstiloPagReporte{soloabajo}
-\Condiciones{Las condiciones del documento...}
+\NotaFinal{La nota final...}
\begin{document}
\begin{factura}
- \Item{2}{ítem con IVA general}{1000}[Un ítem que ofrecemos a precio de costo y que está gravado con IVA general]\label{primeritem}
+ \Item{2}{ítem con IVA general, viene con descuento}{1000}{8}[Un ítem que ofrecemos a precio de costo y que está gravado con IVA general]\label{primeritem}
\Item{4}{otro ítem con IVA general}{100}
\end{factura}
@@ -95,9 +96,9 @@
En el artículo número \itemref{primeritem} se facturaron \cantref{primeritem} “\descref{primeritem}”, cada uno por un valor de \Moneda~\puref{primeritem}, dando un subtotal por este elemento de \Moneda~\subtref{primeritem}; el descuento en ese artículo es del \dctoref{primeritem}\%, dando un total de \Moneda~\ptref{primeritem}, y esta gravado con IVA de \ivaref{primeritem}\%. Ampliando la descripción podemos decir que este ítem es: “\ldescref{primeritem}”.
- La base imponible total de esta factura es de \Moneda~\numprint\BIG; el IVA es de \Moneda~\numprint\AlicuotaG, el descuento presidencial en el IVA es de \Moneda~\numprint\AlicuotaGDesc, y el total final es de \Moneda~\numprint\Total.
+ La base imponible total de esta factura es de \Moneda~\numprint\BIG; el IVA es de \Moneda~\numprint\AlicuotaG, y el total final es de \Moneda~\numprint\Total.
- % Estas son todas las macros para las totalizaciones: \BIG, \BIR, \BIA, \BIE, \AlicuotaG, \AlicuotaGDesc, \AlicuotaR, \AlicuotaA, \SubtG, \SubtR, \SubtA, \SubtE, \DescG, \DescR, \DescA, \DescE.
+ % Estas son todas las macros para las totalizaciones: \BIG, \BIR, \BIA, \BIE, \AlicuotaG, \AlicuotaR, \AlicuotaA, \SubtG, \SubtR, \SubtA, \SubtE, \DescG, \DescR, \DescA, \DescE.
\FirmaReporte[\includegraphics[width=4.5cm]{factura-ejemplo-firma}][0pt][17pt][3cm][3cm]
\end{reporte}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/factura/factura-ejemplo-reporte3.tex new/doc/latex/factura/factura-ejemplo-reporte3.tex
--- old/doc/latex/factura/factura-ejemplo-reporte3.tex 2018-08-02 22:31:55.000000000 +0200
+++ new/doc/latex/factura/factura-ejemplo-reporte3.tex 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `reptres')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -44,13 +44,14 @@
%% Sin especificar la persona de contacto
%% (\Proveedor) Especificando el nombre del proveedor para el encabezado del reporte
%% Sin especificar fondo de reporte
-%% (\TituloReporte) Establecemos el título del reporte sin que salga en las cabeceras
+%% (\TituloReporte) Establecemos el título del reporte sin que salga en las cabeceras ni pies de página
%% (\InfoPagina) Personalizamos la información de la cabecera del reporte y mostramos el nombre del proveedor allí
%% (\EstiloPagReporte) Cambiamos el estilo de página para que la información del reporte aparezca como pie de página
%% Sin descripción larga
-%% (\FirmaReporte) Agregando la firma escaneada en el reporte; ajustando el corrimiento en “y” de la firma respecto a la línea
-%% Cambiando la ubicación en “x” de la línea de la firma y cambiando la longitud de la línea hacia los lados
-%% Cambiando el nombre de la persona que va a firmar
+%% (\FirmaReporte) Agregando la firma escaneada en el reporte
+%% Con \FirmaReporte, ajustando el corrimiento en “y” de la firma respecto a la línea
+%% Con \FirmaReporte, cambiando la ubicación en “x” de la línea de la firma y cambiando la longitud de la línea hacia los lados
+%% Con \FirmaReporte, cambiando el nombre de la persona que va a firmar
%%</desc>
%%
\documentclass[
@@ -64,7 +65,7 @@
\RazonSocial{Ayala San Vicente Usureros}
\Proveedor{Lázaro de la Vega y San Román}
-\Fecha{02-07-2019}
+\Fecha{02-07-2020}
\TituloReporte{El título del reporte}
\InfoPagina{La cabecera o pie del reporte - \Proveedor}
Binary files old/doc/latex/factura/factura.pdf and new/doc/latex/factura/factura.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/factura.doc.tlpobj new/tlpkg/tlpobj/factura.doc.tlpobj
--- old/tlpkg/tlpobj/factura.doc.tlpobj 2019-02-28 03:36:03.000000000 +0100
+++ new/tlpkg/tlpobj/factura.doc.tlpobj 2020-04-20 01:55:52.000000000 +0200
@@ -1,6 +1,6 @@
name factura.doc
category Package
-revision 48333
+revision 54803
shortdesc doc files of factura
relocated 1
docfiles size=276
++++++ factura.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/factura/factura.cls new/tex/latex/factura/factura.cls
--- old/tex/latex/factura/factura.cls 2018-08-02 22:31:55.000000000 +0200
+++ new/tex/latex/factura/factura.cls 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `class')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -37,7 +37,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{factura}
-[2018/08/02 v3.57
+[2020/04/18 v3.73
Clase para elaborar facturas legales
en la Repu'blica Bolivariana de Venezuela.
]
@@ -45,35 +45,36 @@
\RequirePackage{etoolbox}% 'etoolbox' para los condicionales binarios y para \AtEndPreamble.
%% Condicionales auxiliares que sólo pueden ser usados dentro de un grupo.
-\newbool{Electro}
+\newbool{DCU}
+\newbool{DUC}
\newbool{Descuentos}
+%% (quitado por no vigente)
+ % \newbool{Electro}
+\newbool{ExpAbajo}\booltrue{ExpAbajo}
\newbool{IVA}
-\newbool{Subtotal}
+\newbool{NumItem}
+\newbool{PrimeroDescripcion}
\newbool{SinCantidad}
-\newbool{SinLineasVertInt}
-\newbool{SinLineasVertExt}
\newbool{SinLineaHoriNI}
\newbool{SinLineaHoriTit}
\newbool{SinLineaHoriTot}
\newbool{SinLineasHoriExt}
-\newbool{DCU}
-\newbool{DUC}
-\newbool{NumItem}
-\newbool{PrimeroDescripcion}
-\newbool{ExpAbajo}\booltrue{ExpAbajo}
+\newbool{SinLineasVertExt}
+\newbool{SinLineasVertInt}
+\newbool{Subtotal}
%% Condicionales auxiliares para la posición de los objetos fijos cuando son medidos desde la derecha, o desde abajo.
-\newbool{FechaXnegativo}
-\newbool{FechaYnegativo}
-\newbool{FechaYarriba}
-\newbool{CondYnegativo}% no hay CondXnegativo.
-\newbool{CondYarriba}
-\newbool{DenomXnegativo}
-\newbool{DenomYnegativo}
-\newbool{DenomYarriba}
+\newbool{NotaFinalYarriba}
+\newbool{NotaFinalYnegativo}% no hay NotaFinalXnegativo.
\newbool{ControlXnegativo}
-\newbool{ControlYnegativo}
\newbool{ControlYarriba}
+\newbool{ControlYnegativo}
+\newbool{DenomXnegativo}
+\newbool{DenomYarriba}
+\newbool{DenomYnegativo}
+\newbool{FechaXnegativo}
+\newbool{FechaYarriba}
+\newbool{FechaYnegativo}
\newbool{FirmasYnegativo}% no hay FirmasXnegativo; hay X_inicial y X_final para las firmas.
%% Condicionales relativos a opciones de la clase.
@@ -89,7 +90,8 @@
\newif\ifdescuentos
\newif\ifdosfirmas
\newif\ifduc
-\newif\ifelectro
+%% (quitado por no vigente)
+ % \newif\ifelectro
\newif\ifexpandecuadro
\newif\iffilas
\newif\ifG
@@ -114,6 +116,7 @@
\newif\ifsinlineasve
\newif\ifsinlineasvi
\newif\ifsinmarcas
+\newif\ifsinmonedatotales
\newif\ifsinnumero
\newif\ifsinreverso
\newif\ifsintotales
@@ -169,16 +172,16 @@
\newlength{\@GrosorLineaEncabezado}
\newlength{\@GrosorLineaNotaPrevia}
\newlength{\@GrosorLineaDescripcion}
-\newlength{\@GrosorLineaCondiciones}
+\newlength{\@GrosorLineaNotaFinal}
\newlength{\@GrosorLineaInfoPag}
\newlength{\@EsquinaLineaEncabezado}
\newlength{\@EsquinaLineaNotaPrevia}
\newlength{\@EsquinaLineaDescripcion}
-\newlength{\@EsquinaLineaCondiciones}
+\newlength{\@EsquinaLineaNotaFinal}
\newlength{\@SombraEncabezado}
\newlength{\@SombraNotaPrevia}
\newlength{\@SombraDescripcion}
-\newlength{\@SombraCondiciones}
+\newlength{\@SombraNotaFinal}
\newlength{\@LineaNodoXo}
\newlength{\@LineaNodoYo}
\newlength{\@LineaNodoXf}
@@ -191,18 +194,20 @@
\newlength{\@PosFirmasXuno}
\newlength{\@PosFirmasXdos}
\newlength{\@PosFirmasY}
-\newlength{\@PosCondicionesX}
-\newlength{\@PosCondicionesY}
+\newlength{\@PosNotaFinalXuno}
+\newlength{\@PosNotaFinalXdos}
+\newlength{\@PosNotaFinalY}
\newlength{\@PosControlX}
\newlength{\@PosControlY}
\newlength{\@EspacioVacioInicial}
\newlength{\@EspacioVacioFinal}
+\newlength{\@EspacioSignoMonetario}
\newlength{\@SeparaItemsExtra}
\newlength{\@SeparaItemsExtraFinal}
\newlength{\@SeparaInternaEncabezado}
\newlength{\@SeparaInternaNotaPrevia}
\newlength{\@SeparaInternaDescripcion}
-\newlength{\@SeparaInternaCondiciones}
+\newlength{\@SeparaInternaNotaFinal}
\newlength{\@SeparaDatosResumen}
\newlength{\@SeparaVertical}
\newlength{\@SeparaMinTotales}
@@ -231,7 +236,7 @@
\newbox{\@CajaFecha}
\newbox{\@CajaDenom}
\newbox{\@CajaControl}
-\newbox{\@CajaCond}
+\newbox{\@CajaNotaFinal}
\newbox{\@CajaEspacioVacio}
\newbox{\@CajaPrueba}
\newbox{\@CajaCaracterCR}
@@ -261,7 +266,7 @@
\DeclareOption{descuentos}{\descuentostrue}% Para los descuentos individuales.
\DeclareOption{dosfirmas}{\dosfirmastrue}% Pone las dos firmas para firmar.
\DeclareOption{duc}{\ductrue}% Descripción, luego precio unitario y luego cantidad.
-\DeclareOption{electro}{\electrotrue}% Parche por el Decreto 3085 de Nikolài.
+\DeclareOption{electro}{\CLASSERROR{Ya no esta' vigente el descuento en la ali'cuota general por pagos electro'nicos}}% Parche por el Decreto 3.085 de Nikolái, ya no vigente.
\DeclareOption{expandecuadro}{\expandecuadrotrue}% Para rellenar con líneas en blanco de manera automática.
\DeclareOption{filas}{\filastrue}% Estilo de totalización en filas.
\DeclareOption{G}{\Gtrue}% Con esta opción sale la letra 'G' en los items con IVA general, y sale el porcentaje en la base imponible general.
@@ -286,6 +291,7 @@
\DeclareOption{sinlineasvi}{\sinlineasvitrue}% Estilo 'sinlineasvi'.
\DeclareOption{sinlineasv}{\sinlineasvtrue}% Estilo 'sinlineasv'.
\DeclareOption{sinmarcas}{\sinmarcastrue}% Para evitar que aparezcan los caracteres especiales cuando la descripción es larga.
+\DeclareOption{sinmonedatotales}{\sinmonedatotalestrue}% Para que no ponga el signo monetario en los totales.
\DeclareOption{sinnumero}{\sinnumerotrue}% Escribir el texto de la denominación del documento pero sin escribir el número.
\DeclareOption{sinreverso}{\sinreversotrue}% Para no imprimir el reverso de la factura.
\DeclareOption{sintotales}{\sintotalestrue}% No escribe los totales al final, por ejemplo para cotizaciones de productos similares.
@@ -339,24 +345,30 @@
\DTMfdef{ddmmyyyy}#1#2#3#4#5#6#7#8&{\DTMs{#5#6#7#8-#3#4-#1#2}}
\DTMfdef{mm-dd-yyyy}#1-#2-#3&{\DTMs{#3-#1-#2}}
-%% Macros internas para el texto de la metadata que se va a escribir con la versión de la clase.
-\def\@factura@ver{\expandafter\csname ver@factura.cls\endcsname}
-\StrBefore*{\@factura@ver}{ }[\@factura@fecha]
-\StrBetween*[1,2]{\@factura@ver}{ }{ }[\@factura@vernum]
-\def\@factura@version{Hecho con la clase factura-\@factura@vernum\ (\@factura@fecha)}
+%% Macros internas para el texto de la metadata que se va a escribir con el número de la versión de la clase.
+\edef\@factura@ver{\expandafter\csname ver@factura.cls\endcsname}
+\ExplSyntaxOn
+ \seq_set_split:NnV \l_tmpa_seq {~} {\@factura@ver}
+ \tl_set:Nx \@factura@vernum {\seq_item:Nn \l_tmpa_seq {2}}
+
+ \seq_set_split:NnV \l_tmpa_seq {~} {\@factura@ver}
+ \tl_set:Nx \@factura@fecha {\seq_item:Nn \l_tmpa_seq {1}}
+\ExplSyntaxOff
+\def\@factura@ver{Hecho con la clase factura-\@factura@vernum\ (\@factura@fecha)}
%% Escribimos la versión de la clase en la metadata del PDF.
\ifxetex
- \special{pdf: docinfo << /Subject (\@factura@version) >>}
+ \special{pdf: docinfo << /Subject (\@factura@ver) >>}
\else
- \ifluatex
- \pdfextension info{/Subject (\@factura@version)}
- \else
- \pdfinfo{/Subject (\@factura@version)}
- \fi
+ \AtEndDocument{
+ \ifluatex
+ \pdfextension info{/Subject (\@factura@ver)}
+ \else
+ \pdfinfo{/Subject (\@factura@ver)}
+ \fi}
\fi
-\AtEndPreamble{
+\def\@EstableceOpciones{%
% Establecemos los parámetros y macros relativas a la fecha.
\DTMsetstyle{\@FormatoFecha}\DTMsetup{datesep=\@FechaSeparadores}\gdef\DTMinformat{\@FormatoFechaEntrada}
@@ -478,16 +490,17 @@
\fi
\fi
- \ifelectro
- \booltrue{Electro}
- \gdef\@NotaInterna{\@TextoDescuentoPresidencial}
- \CLASSWARNING{Ya no esta' vigente el descuento en la ali'cuota general. Aplica'ndolo igual como se pidio'}
- \CLASSWARNING{Se establecio' el texto aclaratorio del descuento presidencial como 'nota interna'}
- \iffilas
- \filasfalse
- \CLASSWARNING{La opcio'n 'electro' no es compatible con la opcio'n 'filas'. Sin efecto la opcio'n 'filas'}
- \fi
- \fi
+%% (quitado por no vigente)
+ % \ifelectro
+ % \boolfalse{Electro}
+ % \electrofalse
+ % \gdef\@NotaInterna{\@TextoDescuentoPresidencial}
+ % \CLASSWARNING{Se establecio' el texto aclaratorio del descuento presidencial como 'nota interna'}
+ % \iffilas
+ % \filasfalse
+ % \CLASSWARNING{La opcio'n 'electro' no es compatible con la opcio'n 'filas'. Sin efecto la opcio'n 'filas'}
+ % \fi
+ % \fi
\iftodosiva \@BIRtrue \@BIAtrue \@Exentotrue \Gtrue \fi
\ifsiniva\AtBeginDocument{\gdef\@ImpuestoG{0}\gdef\@ImpuestoR{0}\gdef\@ImpuestoA{0}}\fi
@@ -555,7 +568,16 @@
\@twosidetrue\@mparswitchtrue
\else
\@twosidefalse\@mparswitchfalse
- \fi
+ \fi}
+
+\NewDocumentCommand{\BeforeEndPreamble}{s s +m}{
+ \IfBooleanTF{#2}
+ {\gpreto{\@BeforeEndPreamble}{#3}}
+ {\IfBooleanTF{#1}{\long\gdef\@BeforeEndPreamble{#3}}{\gappto{\@BeforeEndPreamble}{#3}}}}
+
+\AtEndPreamble{
+ \@EstableceOpciones
+ \ifx\@undefined\@BeforeEndPreamble\else\@BeforeEndPreamble\@EstableceOpciones\fi
% Escribimos en el .log las opciones cargadas:
\ifagrupado \CLASSINFO{Opcio'n cargada: agrupado}\fi
@@ -570,7 +592,8 @@
\ifdescuentos \CLASSINFO{Opcio'n cargada: descuentos}\fi
\ifdosfirmas \CLASSINFO{Opcio'n cargada: dosfirmas}\fi
\ifduc \CLASSINFO{Opcio'n cargada: duc}\fi
- \ifelectro \CLASSINFO{Opcio'n cargada: electro}\fi
+ %% (quitado por no vigente)
+ % \ifelectro \CLASSINFO{Opcio'n cargada: electro}\fi
\ifexpandecuadro \CLASSINFO{Opcio'n cargada: expandecuadro}\fi
\iffilas \CLASSINFO{Opcio'n cargada: filas}\fi
\ifG \CLASSINFO{Opcio'n cargada: G}\fi
@@ -595,6 +618,7 @@
\ifsinlineasve \CLASSINFO{Opcio'n cargada: sinlineasve}\fi
\ifsinlineasvi \CLASSINFO{Opcio'n cargada: sinlineasvi}\fi
\ifsinmarcas \CLASSINFO{Opcio'n cargada: sinmarcas}\fi
+ \ifsinmonedatotales \CLASSINFO{Opcio'n cargada: sinmonedatotales}\fi
\ifsinnumero \CLASSINFO{Opcio'n cargada: sinnumero}\fi
\ifsinreverso \CLASSINFO{Opcio'n cargada: sinreverso}\fi
\ifsintotales \CLASSINFO{Opcio'n cargada: sintotales}\fi
@@ -618,7 +642,7 @@
%% La geometría para la factura, su reverso, y el reporte.
%% Para la factura, el margen superior está definido desde el encabezado con los datos del cliente;
%% el margen inferior está definido hasta el final de la descripción (o del cuadro de la factura si no hay descripción).
-%% Hay elementos que salen fuera de estos márgenes, como las firmas, las condiciones del documento, la numeración y la fecha.
+%% Hay elementos que salen fuera de estos márgenes, como las firmas, la nota final, la numeración y la fecha.
\def\GeometriaFactura#1{\gdef\@GeometriaFactura{#1}}
\def\GeometriaReverso#1{\gdef\@GeometriaReverso{#1}}
\def\GeometriaReporte#1{\gdef\@GeometriaReporte{#1}}
@@ -637,6 +661,7 @@
\def\@DescuentoRnum{0}
\def\@DescuentoAnum{0}
\def\@DescuentoEnum{0}
+\FPset\PrecioUtempx{1}
%% \Fecha, \FormatoFecha, \Credito, \Moneda, \RazonSocial, \Nombre, \RIF, \CI, \Contacto, \Dirección, \Telefono, \Email, \Conforme, \Emisor, \Proveedor.
\NewDocumentCommand{\Fecha}{s m g g}{%
@@ -697,19 +722,33 @@
%% Información de página: cabeceras de páginas o pies de página.
\def\InfoPagina#1{\gdef\@InfoPagina{#1}}
-%% Texto que esclarece las condiciones del documento.
-\NewDocumentCommand{\Condiciones}{+m}{\gdef\@Condiciones{#1}}
+%% Advertencia para la migración de cualquier comando de condiciones a nota final.
+\def\@ClassWarningCondiciones{\CLASSWARNING{Ya no son condiciones sino nota final, debe hacerse la migración a los nuevos comandos}}
%% Resumen opcional que va a la derecha de los datos del cliente.
\NewDocumentCommand{\Resumen}{+m}{\gdef\@Resumen{#1}}
-\NewDocumentCommand{\NotaPrevia}{+m}{\gdef\@NotaPrevia{#1}}
-
-%% Nota interna al cuadro de la factura y nota externa a él (que sale antes de \Descripcion).
-\NewDocumentCommand{\NotaInterna}{+m}{%
- \ifdefvoid{\@NotaInterna}{}{\CLASSWARNING{Se sobreescribio' la nota interna previamente definida}}%
- \gdef\@NotaInterna{#1}}
-\NewDocumentCommand{\NotaExterna}{+m}{\gdef\@NotaExterna{#1}}
+%% Nota previa (al cuadro), nota interna (del cuadro), nota externa (luego del cuadro) y nota final (luego de la descripción).
+\NewDocumentCommand{\NotaPrevia}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaPrevia}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaPrevia}{#3}}{\gdef\@NotaPrevia{#3}}}}
+
+\NewDocumentCommand{\NotaInterna}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaInterna}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaInterna}{#3}}{\gdef\@NotaInterna{#3}}}}
+
+\NewDocumentCommand{\NotaExterna}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaExterna}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaExterna}{#3}}{\gdef\@NotaExterna{#3}}}}
+
+\NewDocumentCommand{\NotaFinal}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaFinal}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaFinal}{#3}}{\gdef\@NotaFinal{#3}}}}
+\NewDocumentCommand{\Condiciones}{+m}{\gdef\@NotaFinal{#1}\@ClassWarningCondiciones}
\AtBeginDocument{%
% Si no se especificó fecha, tomamos la de hoy. Además, advertimos cuando el documento se está compilando en una fecha distinta de la fecha establecida en el encabezado.
@@ -723,26 +762,27 @@
\CLASSWARNING{Fecha del documento \@Fecha\space distinta de la fecha de hoy}%
\fi
+%% (quitado por no vigente)
% Establecemos el signo monetario dependiendo de la fecha de emisión de la factura, para efectos de la Reconversión Monetaria:
- \ifx\@undefined\@Moneda
- \DTMsaveddatediff{FechaEmision}{FechaBsS}{\AuxFecha}%
- \ifnum\AuxFecha<0%
- \Moneda{\@MonedaBs}%
- \LetraNotaInterna{\fontsize{14}{18}}%
- \NotaInterna{\FPupn\TotalBsS{\Total{} 100000 div \@DigitosMoneda{} round}Según Decreto Presidencial 3.548, el total en Bolívares Soberanos es de {\bfseries \@MonedaBsS~\numprint{\TotalBsS}}}%
- \CLASSWARNING{Se establecio' el texto aclaratorio sobre el total en Boli'vares Soberanos como una nota interna}%
- \else
- \DTMsaveddatediff{FechaEmision}{FechaBs}{\AuxFecha}%
- \ifnum\AuxFecha>-1%
- \Moneda{\@MonedaBs}%
- \else
- \Moneda{\@MonedaBsS}%
- \LetraNotaInterna{\fontsize{14}{18}}%
- \NotaInterna{\FPupn\TotalBsF{\Total{} 100000 * \@DigitosMoneda{} round}El total en Bolívares Fuertes es de {\bfseries \@MonedaBsF~\numprint{\TotalBsF}}}%
- \CLASSWARNING{Se establecio' el texto aclaratorio sobre el total en Boli'vares Fuertes como una nota interna}%
- \fi
- \fi
- \fi
+ % \ifx\@undefined\@Moneda
+ % \DTMsaveddatediff{FechaEmision}{FechaBsS}{\AuxFecha}%
+ % \ifnum\AuxFecha<0%
+ % \Moneda{\@MonedaBs}%
+ % \LetraNotaInterna{\fontsize{14}{18}}%
+ % \NotaInterna{\FPupn\TotalBsS{\Total{} 100000 div \@DigitosMoneda{} round}Según Decreto Presidencial 3.548, el total en Bolívares Soberanos es de {\bfseries \@MonedaBsS~\numprint{\TotalBsS}}}%
+ % \CLASSWARNING{Se establecio' el texto aclaratorio sobre el total en Boli'vares Soberanos como una nota interna}%
+ % \else
+ % \DTMsaveddatediff{FechaEmision}{FechaBs}{\AuxFecha}%
+ % \ifnum\AuxFecha>-1%
+ % \Moneda{\@MonedaBs}%
+ % \else
+ % \Moneda{\@MonedaBsS}%
+ % \LetraNotaInterna{\fontsize{14}{18}}%
+ % \NotaInterna{\FPupn\TotalBsF{\Total{} 100000 * \@DigitosMoneda{} round}El total en Bolívares Fuertes es de {\bfseries \@MonedaBsF~\numprint{\TotalBsF}}}%
+ % \CLASSWARNING{Se establecio' el texto aclaratorio sobre el total en Boli'vares Fuertes como una nota interna}%
+ % \fi
+ % \fi
+ % \fi
% Efectuamos distintos chequeos para dar errores o advertencias si faltó algo.
\ifdefvoid{\@RazonSocial}{\CLASSERROR{Hay que definir la razo'n social}}{}%
@@ -760,7 +800,7 @@
\ifdefvoid{\@Direccion}{\CLASSERROR{Hay que definir la direccio'n fiscal}}{}%
\ifdefvoid{\@Telefono}{\CLASSWARNING{Pudiera definirse un nu'mero telefo'nico}}{}%
\ifdefvoid{\@Email}{\CLASSWARNING{Pudiera definirse una direccio'n de correo electro'nico}}{}%
- \ifdefvoid{\@Condiciones}{\CLASSWARNING{Pudieran definirse las condiciones del documento}}{}%
+ \ifdefvoid{\@NotaFinal}{\CLASSWARNING{Pudiera definirse una nota final}}{}%
\ifcotizacion
\ifdefvoid{\@FondoFactura}{\CLASSWARNING{En la opcio'n para cotizacion se recomienda agregar el fondo}}{}%
\fi
@@ -824,55 +864,49 @@
\def\Num{\@Num}%
\def\NumSerieControl{\@NumSerieControl}%
\def\NumControl{\@NumControl}%
- \def\Condiciones{\@Condiciones}%
+ \def\NotaFinal{\@NotaFinal}%
\def\Resumen{\@Resumen}%
\def\NotaPrevia{\@NotaPrevia}%
\def\NotaInterna{\@NotaInterna}%
\def\NotaExterna{\@NotaExterna}%
\def\TituloReporte{\@TituloReporte}}
-%% Posiciones (X,Y) de los objetos: i) fecha, ii) denominación, iii) condiciones, iv) número de control, v) firmas.
+%% Posiciones (X,Y) de los objetos: i) fecha, ii) denominación, iii) nota final, iv) número de control, v) firmas.
\NewDocumentCommand{\PosFecha}{s m m}{
+ \setlength{\@PosFechaX}{#2}
+ \setlength{\@PosFechaY}{#3}
\IfBooleanTF{#1}{\booltrue{FechaYarriba}}{\boolfalse{FechaYarriba}}
- \IfBeginWith{#2}{-}
- {\StrBehind{#2}{-}[\templeng]\setlength{\@PosFechaX}{-\templeng}\booltrue{FechaXnegativo}}
- {\boolfalse{FechaXnegativo}\setlength{\@PosFechaX}{#2}}
- \IfBeginWith{#3}{-}
- {\StrBehind{#3}{-}[\templeng]\setlength{\@PosFechaY}{-\templeng}\booltrue{FechaYnegativo}}
- {\boolfalse{FechaYnegativo}\setlength{\@PosFechaY}{#3}}}
+ \IfBeginWith{#2}{-}{\booltrue{FechaXnegativo}}{\boolfalse{FechaXnegativo}}
+ \IfBeginWith{#3}{-}{\booltrue{FechaYnegativo}}{\boolfalse{FechaYnegativo}}}
\NewDocumentCommand{\PosDenom}{s m m}{
+ \setlength{\@PosDenomX}{#2}
+ \setlength{\@PosDenomY}{#3}
\IfBooleanTF{#1}{\booltrue{DenomYarriba}}{\boolfalse{DenomYarriba}}
- \IfBeginWith{#2}{-}
- {\StrBehind{#2}{-}[\templeng]\setlength{\@PosDenomX}{-\templeng}\booltrue{DenomXnegativo}}
- {\boolfalse{DenomXnegativo}\setlength{\@PosDenomX}{#2}}
- \IfBeginWith{#3}{-}
- {\StrBehind{#3}{-}[\templeng]\setlength{\@PosDenomY}{-\templeng}\booltrue{DenomYnegativo}}
- {\boolfalse{DenomYnegativo}\setlength{\@PosDenomY}{#3}}}
+ \IfBeginWith{#2}{-}{\booltrue{DenomXnegativo}}{\boolfalse{DenomXnegativo}}
+ \IfBeginWith{#3}{-}{\booltrue{DenomYnegativo}}{\boolfalse{DenomYnegativo}}}
\NewDocumentCommand{\PosControl}{s m m}{
+ \setlength{\@PosControlX}{#2}
+ \setlength{\@PosControlY}{#3}
\IfBooleanTF{#1}{\booltrue{ControlYarriba}}{\boolfalse{ControlYarriba}}
- \IfBeginWith{#2}{-}
- {\StrBehind{#2}{-}[\templeng]\setlength{\@PosControlX}{-\templeng}\booltrue{ControlXnegativo}}
- {\boolfalse{ControlXnegativo}\setlength{\@PosControlX}{#2}}
- \IfBeginWith{#3}{-}
- {\StrBehind{#3}{-}[\templeng]\setlength{\@PosControlY}{-\templeng}\booltrue{ControlYnegativo}}
- {\boolfalse{ControlYnegativo}\setlength{\@PosControlY}{#3}}}
-
-\NewDocumentCommand{\PosCondiciones}{s m m}{
- \IfBooleanTF{#1}{\booltrue{CondYarriba}}{\boolfalse{CondYarriba}}
- \setlength{\@PosCondicionesX}{#2}%
- \IfBeginWith{#3}{-}
- {\StrBehind{#3}{-}[\templeng]\setlength{\@PosCondicionesY}{-\templeng}\booltrue{CondYnegativo}}
- {\boolfalse{CondYnegativo}\setlength{\@PosCondicionesY}{#3}}}
-%% 'X' no acepta valores negativos en \PosCondiciones.
+ \IfBeginWith{#2}{-}{\booltrue{ControlXnegativo}}{\boolfalse{ControlXnegativo}}
+ \IfBeginWith{#3}{-}{\booltrue{ControlYnegativo}}{\boolfalse{ControlYnegativo}}}
+
+\NewDocumentCommand{\PosNotaFinal}{s m m m}{
+ \setlength{\@PosNotaFinalXuno}{#2}
+ \setlength{\@PosNotaFinalXdos}{#3}
+ \setlength{\@PosNotaFinalY}{#4}
+ \IfBooleanTF{#1}{\booltrue{NotaFinalYarriba}}{\boolfalse{NotaFinalYarriba}}
+ \IfBeginWith{#4}{-}{\booltrue{NotaFinalYnegativo}}{\boolfalse{NotaFinalYnegativo}}}
+\let\PosCondiciones\PosNotaFinal
+%% La nota final se define con un X_inicial, un X_final y un Y_inicial (Xo,Xf,Y)
\NewDocumentCommand{\PosFirmas}{m m m}{
\setlength{\@PosFirmasXuno}{#1}
\setlength{\@PosFirmasXdos}{#2}
- \IfBeginWith{#3}{-}
- {\StrBehind{#3}{-}[\templeng]\setlength{\@PosFirmasY}{-\templeng}\booltrue{FirmasYnegativo}}
- {\boolfalse{FirmasYnegativo}\setlength{\@PosFirmasY}{#3}}}
+ \setlength{\@PosFirmasY}{#3}
+ \IfBeginWith{#3}{-}{\booltrue{FirmasYnegativo}}{\boolfalse{FirmasYnegativo}}}
%% La firma se define con un X_inicial, un X_final y un Y_inicial (Xo,Xf,Y)
%% Tamaño y grosor de la línea de las firmas.
@@ -901,7 +935,8 @@
%% Separación interna entre la línea y el texto de la descripción.
\def\SepDescripcion#1{\setlength{\@SeparaInternaDescripcion}{#1}}
-\def\SepCondiciones#1{\setlength{\@SeparaInternaCondiciones}{#1}}
+\def\SepNotaFinal#1{\setlength{\@SeparaInternaNotaFinal}{#1}}
+\let\SepCondiciones\SepNotaFinal
%% Grosor de la línea de las cajas del encabezado, curvatura de la esquina y sombra.
%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ).
@@ -924,12 +959,13 @@
\IfValueT{#2}{\setlength{\@EsquinaLineaDescripcion}{#2}}
\IfValueT{#3}{\setlength{\@SombraDescripcion}{#3}}}
-%% Grosor de la línea de las condiciones, curvatura de la esquina y sombra.
+%% Grosor de la línea de la nota final, curvatura de la esquina y sombra.
%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ).
-\NewDocumentCommand{\LineaCondiciones}{m g g}{
- \setlength{\@GrosorLineaCondiciones}{#1}
- \IfValueT{#2}{\setlength{\@EsquinaLineaCondiciones}{#2}}
- \IfValueT{#3}{\setlength{\@SombraCondiciones}{#3}}}
+\NewDocumentCommand{\LineaNotaFinal}{m g g}{
+ \setlength{\@GrosorLineaNotaFinal}{#1}
+ \IfValueT{#2}{\setlength{\@EsquinaLineaNotaFinal}{#2}}
+ \IfValueT{#3}{\setlength{\@SombraNotaFinal}{#3}}}
+\let\LineaCondiciones\LineaNotaFinal
%% El espacio vertical que hay que avanzar sólo en la primera página del reporte antes de empezar a escribir sobre él. Usable cuando la primera página tiene un membrete y las demás no, es decir, cuando se usa \FondoReporte y no \FondoReporte*.
\def\InicioReporte#1{\setlength{\@InicioReporte}{#1}}
@@ -983,8 +1019,9 @@
%% Tipo de letra para la nota previa.
\def\LetraNotaPrevia#1{\gdef\@LetraNotaPrevia{#1\selectfont}}
-%% Tipo de letra para las condiciones del documento.
-\def\LetraCondiciones#1{\gdef\@LetraCondiciones{#1\selectfont}}
+%% Tipo de letra para la nota final.
+\def\LetraNotaFinal#1{\gdef\@LetraNotaFinal{#1\selectfont}}
+\let\LetraCondiciones\LetraNotaFinal
%% Letra para la denominación del documento ('FACTURA', 'COTIZACIÓN',...).
\def\LetraDenom#1{\gdef\@LetraDenom{#1\selectfont}}
@@ -1128,8 +1165,11 @@
%% Gracias a Heiko Oberdiek y a David Carlisle (Thanks to Heiko Oberdiek and David Carlisle).
%% http://tex.stackexchange.com/questions/108565/know-the-cell-width-with-tabul...
\NewEnviron{factura}{%
- \expandafter\@FacturaAuxCmd\expandafter{\BODY}%
- \ifnum\value{page}=1\else\CLASSERROR{La factura ocupa mas que una pagina}\fi}
+ \ifx\undefined\Total
+ \expandafter\@FacturaAuxCmd\expandafter{\BODY}%
+ \ifnum\value{page}=1\else\CLASSERROR{La factura ocupa mas que una pagina}\fi
+ \else
+ \CLASSERROR{Ya se uso' un entorno de factura, ignorando}\fi}
\NewEnviron{reverso}{%
\if@factura
@@ -1271,7 +1311,8 @@
\if@BIR\@EscribeTotalColAlicuota{R}\fi
\@EscribeTotalColAlicuota{G}%
\if@BIA\@EscribeTotalColAlicuota{A}\fi
- \ifbool{Electro}{\@EscribeTotalColAlicuotaGDesc}{}%
+ %% (quitado por no vigente)
+ % \ifbool{Electro}{\@EscribeTotalColAlicuotaGDesc}{}%
\fi}
\newcommand{\@EscribeTotalColBI}[1]{%
@@ -1280,24 +1321,25 @@
\else
\ifG\ \hfill(\csname @Alicuota#1porc\endcsname\%)\else\mbox{}\fi
\fi
- & \@LetraNumTotales\numprint{\csname BI#1\endcsname} \\}
+ & \@LetraNumTotales\@SignoMonetarioAux\numprint{\csname BI#1\endcsname} \\}
\newcommand{\@EscribeTotalColAlicuota}[1]{%
{\@LetraTitTotales \csname @@Alicuota#1\endcsname\ \hfill (\csname @Alicuota#1porc\endcsname\%)}
- & \@LetraNumTotales\numprint{\csname Alicuota#1\endcsname} \\}
+ & \@LetraNumTotales\@SignoMonetarioAux\numprint{\csname Alicuota#1\endcsname} \\}
-\newcommand{\@EscribeTotalColAlicuotaGDesc}{%
- {\@LetraTitTotales \@@AlicuotaGDesc\ \hfill (\@AlicuotaGDescPorc\%)}
- & \@LetraNumTotales\numprint{\AlicuotaGDesc} \\}
+%% (quitado por no vigente)
+ % \newcommand{\@EscribeTotalColAlicuotaGDesc}{%
+ % {\@LetraTitTotales \@@AlicuotaGDesc\ \hfill (\@AlicuotaGDescPorc\%)}
+ % & \@LetraNumTotales\@SignoMonetarioAux\numprint{\AlicuotaGDesc} \\}
\newcommand{\@EscribeTotalColSubt}[1]{%
{\@LetraTitTotales \csname @@Subtotal#1\endcsname}
- & \@LetraNumTotales\numprint{\csname Subt#1\endcsname} \\}
+ & \@LetraNumTotales\@SignoMonetarioAux\numprint{\csname Subt#1\endcsname} \\}
\newcommand{\@EscribeTotalColDesc}[1]{%
{\@LetraTitTotales \csname @@Descuento#1\endcsname
\csname if@Desc#1num\endcsname \else \ \hfill (\csname @Descuento#1porc\endcsname\%)\fi}
- & \@LetraNumTotales\numprint{\csname Desc#1\endcsname} \\}
+ & \@LetraNumTotales\@SignoMonetarioAux\numprint{\csname Desc#1\endcsname} \\}
%% Presentación de los totales en modo filas.
\newcommand{\@EscribeTotalFilasBI}[1]{%
@@ -1306,14 +1348,16 @@
\newcommand{\@EscribeTotalFilasAlicuota}[1]{%
\@EscribeTotalFilasAlicuotaizq{#1}: & \@EscribeTotalFilasAlicuotader{#1}}
-\newcommand{\@EscribeTotalFilasDesc}[1]{%
- \@EscribeTotalFilasDescizq{#1}: & \@EscribeTotalFilasDescder{#1}}
+%% (no implementado)
+ % \newcommand{\@EscribeTotalFilasDesc}[1]{%
+ % \@EscribeTotalFilasDescizq{#1}: & \@EscribeTotalFilasDescder{#1}}
\newcommand{\@EscribeTotalFilasSoloBI}[1]{%
{\@LetraTitTotales\@EscribeTotalFilasBIizq{#1}:} {\@LetraNumTotales\@EscribeTotalFilasBIder{#1}}}
-\newcommand{\@EscribeTotalFilasSoloDesc}[1]{%
- {\@LetraTitTotales\@EscribeTotalFilasDescizq{#1}:} {\@LetraNumTotales\@EscribeTotalFilasDescder{#1}}}
+%% (no implementado)
+ % \newcommand{\@EscribeTotalFilasSoloDesc}[1]{%
+ % {\@LetraTitTotales\@EscribeTotalFilasDescizq{#1}:} {\@LetraNumTotales\@EscribeTotalFilasDescder{#1}}}
\newcommand{\@EscribeTotalFilasSoloAlicuota}[1]{%
{\@LetraTitTotales\@EscribeTotalFilasAlicuotaizq{#1}:} {\@LetraNumTotales\@EscribeTotalFilasAlicuotader{#1}}}
@@ -1330,24 +1374,25 @@
\fi}
\newcommand{\@EscribeTotalFilasBIder}[1]{%
- \@LetraNumTotales\numprint{\csname BI#1\endcsname}}
+ \@LetraNumTotales\@SignoMonetarioAux\numprint{\csname BI#1\endcsname}}
\newcommand{\@EscribeTotalFilasAlicuotaizq}[1]{%
\@LetraTitTotales\csname @@Alicuota#1\endcsname \ (\csname @Alicuota#1porc\endcsname\%)}
\newcommand{\@EscribeTotalFilasAlicuotader}[1]{%
- \@LetraNumTotales\numprint{\csname Alicuota#1\endcsname}}
+ \@LetraNumTotales\@SignoMonetarioAux\numprint{\csname Alicuota#1\endcsname}}
-\newcommand{\@EscribeTotalFilasDescizq}[1]{%
- \@LetraTitTotales\csname @@Descuento#1\endcsname \ (\csname @Descuento#1porc\endcsname\%)}
+%% (no implementado)
+ % \newcommand{\@EscribeTotalFilasDescizq}[1]{%
+ % \@LetraTitTotales\csname @@Descuento#1\endcsname \ (\csname @Descuento#1porc\endcsname\%)}
-\newcommand{\@EscribeTotalFilasDescder}[1]{%
- \@LetraNumTotales\numprint{\csname Desc#1\endcsname}}
+ % \newcommand{\@EscribeTotalFilasDescder}[1]{%
+ % \@LetraNumTotales\@SignoMonetarioAux\numprint{\csname Desc#1\endcsname}}
-\newcommand{\@EscribeTotalFilasAuxTotal}{\@LetraTitTotal\@@Total: & \@LetraNumTotal\numprint{\Total}}
+\newcommand{\@EscribeTotalFilasAuxTotal}{\@LetraTitTotal\@@Total: & \@LetraNumTotal\@SignoMonetarioAux\numprint{\Total}}
\newcommand{\@EscribeTotalFilas}[2][]{%
- \begin{tabular}[b]{@{}l@{\extracolsep{1ex}}r@{}}% ¡Esta tabla tiene que abrir hacia abajo para que la separación entre las filas se
+ \begin{tabular}[b]{@{}l@{\extracolsep{1ex}}r@{}}% ¡Esta tabla tiene que abrir hacia abajo para que la separación entre las filas se pueda colocar con \@SeparaFilas!
\csname @EscribeTotalFilasBI\endcsname{#2}%
\ifx#2E%
\ifx#1T%
@@ -1360,6 +1405,10 @@
\fi
\end{tabular}}
+%% Comando auxiliar para escribir el signo monetario cuando aplica
+\newcommand{\@SignoMonetarioAux}{%
+ \ifsinmonedatotales\else\@Moneda\hspace*{\@EspacioSignoMonetario}\fi}
+
\newcommand{\@GeneraCajasTotalesFilas}{%
\if@Exento
\newbox{\@CajaBIE}\newbox{\@CajaBIET}%
@@ -1438,7 +1487,8 @@
\FPset\DescA{0}\global\let\DescA\DescA
\FPset\DescX{0}\global\let\DescX\DescX
\FPset\AlicuotaG{0}\global\let\AlicuotaG\AlicuotaG
- \FPset\AlicuotaGDesc{0}\global\let\AlicuotaGDesc\AlicuotaGDesc
+ %% (quitado por no vigente)
+ % \FPset\AlicuotaGDesc{0}\global\let\AlicuotaGDesc\AlicuotaGDesc
\FPset\AlicuotaR{0}\global\let\AlicuotaR\AlicuotaR
\FPset\AlicuotaA{0}\global\let\AlicuotaA\AlicuotaA}
@@ -1448,18 +1498,20 @@
\FPifeq\SubtR{0}\else\@CalculaTotalesII{R}\fi
\FPifeq\SubtA{0}\else\@CalculaTotalesII{A}\fi
\FPifeq\SubtE{0}\else\@CalculaTotalesII{E}\fi
- \ifbool{Electro}{%
- \FPiflt\BIG\@AlicuotaGDescLimite
- \let\@AlicuotaGDesc\@AlicuotaGDescBajo
- \else
- \let\@AlicuotaGDesc\@AlicuotaGDescAlto
- \fi
- \FPupn\@AlicuotaGDescPorc{\@AlicuotaGDesc{} 100 * \@DigitosPorc{} round clip}%
- \FPupn\AlicuotaGDesc{\BIG{} \@AlicuotaGDesc{} * \@DigitosMoneda{} round}%
- \global\let\AlicuotaGDesc\AlicuotaGDesc
- \global\let\@AlicuotaGDescPorc\@AlicuotaGDescPorc
- \global\let\@AlicuotaGDesc\@AlicuotaGDesc}{}%
- \FPupn\Total{\BIE{} \BIR{} + \BIG{} + \BIA{} + \AlicuotaR{} + \AlicuotaG{} + \AlicuotaA{} + \AlicuotaGDesc{} sub \@DigitosMoneda{} round}%
+ %% (quitado por no vigente)
+ % \ifbool{Electro}{%
+ % \FPiflt\BIG\@AlicuotaGDescLimite
+ % \let\@AlicuotaGDesc\@AlicuotaGDescBajo
+ % \else
+ % \let\@AlicuotaGDesc\@AlicuotaGDescAlto
+ % \fi
+ % \FPupn\@AlicuotaGDescPorc{\@AlicuotaGDesc{} 100 * \@DigitosPorc{} round clip}%
+ % \FPupn\AlicuotaGDesc{\BIG{} \@AlicuotaGDesc{} * \@DigitosMoneda{} round}%
+ % \global\let\AlicuotaGDesc\AlicuotaGDesc
+ % \global\let\@AlicuotaGDescPorc\@AlicuotaGDescPorc
+ % \global\let\@AlicuotaGDesc\@AlicuotaGDesc}{}%
+ \FPupn\Total{\BIE{} \BIR{} + \BIG{} + \BIA{} + \AlicuotaR{} + \AlicuotaG{} + \AlicuotaA{} + \@DigitosMoneda{} round}%
+ %% (quitado por no vigente) arriba se sumaba también \AlicuotaGDesc{}.
\global\let\Total\Total}
\newcommand{\@CalculaTotalesII}[1]{%
@@ -1520,9 +1572,12 @@
%% Aquí tenemos que hacer coincidir los parámetros de \@CalculaItem con los de \@ITEM para poder hacer
%% \let\@CalculaItem\@ITEM cuando no hay factura sino solamente reporte.
\NewDocumentCommand{\@CalculaItem}{m m m o m m +o}{%
+ \gdef\@PrecioUtemp##1{\FPupn\PrecioUtemp{##1 \PrecioUtempx{} * clip}}%
\addtocounter{NumItem}{1}%
% Calculamos.
- \FPupn\PrecioU{#5 \@DigitosMoneda{} round}%
+ \@PrecioUtemp{#5}%
+ \FPupn\PrecioU{\PrecioUtemp{} \@DigitosMoneda{} round}%
+ \FPifeq\PrecioU{\PrecioUtemp}\else\CLASSWARNING{Se esta' introduciendo un precio con ma's de dos decimales: (#3 - \PrecioUtemp. Redondeado a \PrecioU)}{}\fi% Advertimos cuando el precio unitario tiene más de dos decimales.
\ifbool{Descuentos}
{\ifx\\#6\\\FPset\Dcto{0}\else\FPupn\Dcto{#6 \@DigitosPorc{} round clip}\fi}% Fijamos en 0 el descuento si no se especifica en \Item***.
{\FPset\Dcto{#6}%
@@ -1622,7 +1677,6 @@
\ifdim \ht\@CajaEspacioVacio=0pt \global\lineafalse \else \@ExpandeCuadrotrue \fi
\fi
- \ifx\undefined\Total\relax\else\CLASSERROR{Parece ya haberse usado un entorno de factura}\fi
%
% Comandos \David@SavePos, \David@XStart, \David@XEnd, \David@XPad, \David@XLeft y \David@XRight para poder manejar el salto de línea en las columnas adyacentes a la columna 'X' del tabularx (la descripción), cuando esta ocupa más que una línea.
% Gracias a David Carlisle (Thanks to David Carlisle).
@@ -1694,7 +1748,6 @@
{\@DescripcionAuxCmd{##3}{##1}}% cdu.
&
% Cuarto campo: Acá puede ir el precio unitario (cdu y dcu) o la cantidad (duc).
- \FPifeq\PrecioU{##5}\else\CLASSWARNING{Se esta' introduciendo un precio con ma's de dos decimales: (##3 - ##5. Redondeado a \PrecioU)}{}\fi% Advertimos cuando el precio unitario tiene más de dos decimales.
\ifbool{SinCantidad}{}{%
\ifduc
\David@XRight{\@CantidadAuxCmd{\mbox{}\hfill \@LetraNumeros \numprint{##2}\hfill\mbox{}}}% duc.
@@ -1859,11 +1912,12 @@
\if@Exento \@EscribeTotalCol{E}\fi
\if@BIR\@EscribeTotalCol{R}\ifsinivaexpresado\else\@EscribeTotalColAlicuota{R}\fi\fi
\@EscribeTotalCol{G}\ifsinivaexpresado\else\@EscribeTotalColAlicuota{G}\fi
- \ifbool{Electro}{\@EscribeTotalColAlicuotaGDesc}{}%
+ %% (quitado por no vigente)
+ % \ifbool{Electro}{\@EscribeTotalColAlicuotaGDesc}{}%
\if@BIA\@EscribeTotalCol{A}\ifsinivaexpresado\else\@EscribeTotalColAlicuota{A}\fi\fi
\fi
\ifsinivaexpresado\else\cline{2-2}\fi
- \hfill \@LetraTitTotal\@@Total & \@LetraNumTotal\numprint{\Total}\\
+ \hfill \@LetraTitTotal\@@Total & \@LetraNumTotal\@SignoMonetarioAux\numprint{\Total}\\
\end{tabular}\endgroup
\\
\ifdefvoid{\@NotaInterna}{}{\ifbool{SinLineaHoriNI}{}{\hline}\@ColumnasMultiColumnNotaIntAuxCmd}%
@@ -1881,7 +1935,7 @@
\ifexpandecuadro\else\vfill\fi
\@GeneraCajasTotalesFilas
\newbox{\@CajaTotal}%
- \savebox{\@CajaTotal}{{\@LetraTitTotal\@@Total}: \@LetraNumTotal\numprint{\Total}}%
+ \savebox{\@CajaTotal}{{\@LetraTitTotal\@@Total:} \@LetraNumTotal\@SignoMonetarioAux\numprint{\Total}}%
%
\ifnum \value{@IVANoGeneral}=0%
\newbox{\@CajaGET}%
@@ -2012,7 +2066,7 @@
\addtolength{\@PosFechaX}{\oddsidemargin+1in}% Le sumamos el margen izquierdo a las posiciones de las cosas; es importante que se haga en un \AfterEndPreamble antes de que empiecen a escribirse otras cosas en la página.
\addtolength{\@PosDenomX}{\oddsidemargin+1in}%
\addtolength{\@PosControlX}{\oddsidemargin+1in}%
- \addtolength{\@PosCondicionesX}{\oddsidemargin+1in}%
+ \addtolength{\@PosNotaFinalXuno}{\oddsidemargin+1in}%
\addtolength{\@PosFirmasXuno}{\oddsidemargin+1in}%
\setlength{\parindent}{0pt}%
\setlength{\lineskip}{0pt}%
@@ -2028,7 +2082,7 @@
\ifdenom\@PosicionaDenom\fi
\ifprefactura\@PosicionaNumControl\fi
\ifnum\value{@Firmas}=0\else\@PosicionaFirmas\fi
- \ifdefvoid{\@Condiciones}{}{\@PosicionaCondiciones}}
+ \ifdefvoid{\@NotaFinal}{}{\@PosicionaNotaFinal}}
\iflinea
% Para determinar las coordenadas de la línea hay que usar \AtBeginShipoutNext porque si no se hace en el 'shipout' de la página se genera un espacio en blanco extra.
\AtBeginShipoutNext{\iflinea\@DibujaLinea\fi}
@@ -2143,14 +2197,14 @@
\usebox{\@CajaFirmas}%
\end{textblock*}}
-%% Comando que coloca las condiciones del documento.
-\newcommand{\@PosicionaCondiciones}{%
- \savebox{\@CajaCond}{%
- \parbox{\textwidth+\oddsidemargin+1in-\@PosCondicionesX}{\@EscribeCondiciones}}%
- \ifbool{CondYnegativo}{\addtolength{\@PosCondicionesY}{\paperheight}}{}%
- \ifbool{CondYarriba}{\addtolength{\@PosCondicionesY}{-\ht\@CajaCond-\dp\@CajaCond}}{}% Aquí la caja abre hacia abajo, a menos de que usemos \PosCondiciones*
- \begin{textblock*}{\wd\@CajaCond}(\@PosCondicionesX,\@PosCondicionesY)%
- \usebox{\@CajaCond}%
+%% Comando que coloca la nota final.
+\newcommand{\@PosicionaNotaFinal}{%
+ \savebox{\@CajaNotaFinal}{%
+ \parbox{\textwidth+\oddsidemargin+1in-\@PosNotaFinalXuno-\@PosNotaFinalXdos}{\@EscribeNotaFinal}}%
+ \ifbool{NotaFinalYnegativo}{\addtolength{\@PosNotaFinalY}{\paperheight}}{}%
+ \ifbool{NotaFinalYarriba}{\addtolength{\@PosNotaFinalY}{-\ht\@CajaNotaFinal-\dp\@CajaNotaFinal}}{}% Aquí la caja abre hacia abajo, a menos de que usemos \PosNotaFinal*
+ \begin{textblock*}{\wd\@CajaNotaFinal}(\@PosNotaFinalXuno,\@PosNotaFinalY)%
+ \usebox{\@CajaNotaFinal}%
\end{textblock*}}
%% Comando que coloca el número de control.
@@ -2221,7 +2275,7 @@
\ifdim\@TamDatos>\@TamResumen
\setlength{\@TamFinalEncabezado}{\@TamDatos}%
\else
- \setlength{\@TamFinalEncabezadoado}{\@TamResumen}%
+ \setlength{\@TamFinalEncabezado}{\@TamResumen}%
\fi
\begin{tikzpicture}%
\expandafter\node\expandafter[\@DatosTIKZ]{%
@@ -2255,19 +2309,19 @@
\par\vspace*{\@SombraNotaPrevia}\vspace*{\@SeparaVertical}%
\ifexpandecuadro\else\vfill\fi}}}
-%% Comando que coloca la caja para las condiciones, con la posibilidad de TikZ.
-\newcommand{\@EscribeCondiciones}{%
+%% Comando que coloca la caja para la nota final, con la posibilidad de TikZ.
+\newcommand{\@EscribeNotaFinal}{%
{% Abrimos un nuevo grupo para que la redefinición del entorno 'tikzpicture' sea local.
- \ifdim\@GrosorLineaCondiciones=0pt%
- \setlength{\@SeparaInternaCondiciones}{0pt}\setlength{\@EsquinaLineaCondiciones}{0pt}\setlength{\@SombraCondiciones}{0pt}%
+ \ifdim\@GrosorLineaNotaFinal=0pt%
+ \setlength{\@SeparaInternaNotaFinal}{0pt}\setlength{\@EsquinaLineaNotaFinal}{0pt}\setlength{\@SombraNotaFinal}{0pt}%
\renewenvironment{tikzpicture}{\NewDocumentCommand{\node}{o +m}{####2}}{}%
\fi
\begin{tikzpicture}%
- \expandafter\node\expandafter[\@CondicionesTIKZ]{%
- \parbox{\textwidth-\@SombraCondiciones-2\@SeparaInternaCondiciones-\@GrosorLineaCondiciones}{\@EstiloCondiciones}}%
- \ifdim\@GrosorLineaCondiciones=0pt\else ;\fi
+ \expandafter\node\expandafter[\@NotaFinalTIKZ]{%
+ \parbox{\textwidth-\@PosNotaFinalXuno-\@PosNotaFinalXdos+\oddsidemargin+1in-\@SombraNotaFinal-2\@SeparaInternaNotaFinal-\@GrosorLineaNotaFinal}{\@EstiloNotaFinal}}%
+ \ifdim\@GrosorLineaNotaFinal=0pt\else ;\fi
\end{tikzpicture}%
- \par\vspace*{\@SombraCondiciones}}}
+ \par\vspace*{\@SombraNotaFinal}}}
%% Comandos auxiliares para los datos y el resumen.
%% En el caso de los datos, la versión \@DatosAux se ejecuta cuando no hay resumen, y la versión \@DatosAux* se ejecuta cuando hay resumen.
@@ -2355,7 +2409,8 @@
\immediate\write\csv{Totales: \@@SubtotalG: \Moneda \SubtG^^JTotales: \@@DescuentoG: \Moneda \DescG}%
\fi
\immediate\write\csv{Totales: \@@BIG: \Moneda \BIG^^JTotales: \@@AlicuotaG: \Moneda \AlicuotaG}%
- \FPifeq\AlicuotaGDesc{0}\else\immediate\write\csv{Totales: \@@AlicuotaGDesc: \Moneda \AlicuotaGDesc}\fi
+ %% (quitado por no vigente)
+ % \FPifeq\AlicuotaGDesc{0}\else\immediate\write\csv{Totales: \@@AlicuotaGDesc: \Moneda \AlicuotaGDesc}\fi
\if@BIA
\if@DescA
\immediate\write\csv{Totales: \@@SubtotalA: \Moneda \SubtA^^JTotales: \@@DescuentoA: \Moneda \DescA}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/factura/factura.def new/tex/latex/factura/factura.def
--- old/tex/latex/factura/factura.def 2018-08-02 22:31:55.000000000 +0200
+++ new/tex/latex/factura/factura.def 2020-04-20 00:16:23.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% factura.dtx (with options: `def')
%%
-%% Copyright 2018 Emilio Lazo Zaia
+%% Copyright 2020 Emilio Augusto Lazo Zaia
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Emilio Lazo Zaia.
+%% The Current Maintainer of this work is Emilio Augusto Lazo Zaia.
%%
%% This work consists of the files README and factura.dtx
%% with its derived files factura.ins, factura.cls, factura.def,
@@ -36,25 +36,26 @@
%% factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%%
\ProvidesFile{factura.def}
-[2018/08/02 v3.57
+[2020/04/18 v3.73
Archivo de valores iniciales y condiciones de borde para factura.cls
]
%% La geometría para la factura, su reverso, y el reporte.
%% Para la factura, el margen superior está definido desde el encabezado con los datos del cliente;
%% el margen inferior está definido hasta el final de la descripción (o del cuadro de la factura si no hay descripción).
-%% Hay elementos que salen fuera de estos márgenes, como las firmas, las condiciones del documento, la numeración y la fecha.
+%% Hay elementos que salen fuera de estos márgenes, como las firmas, la nota final, la numeración y la fecha.
\GeometriaFactura{letterpaper,vmargin={5.2cm,5.5cm},hmargin={1cm,1cm},footskip=0pt, headsep=0pt, headheight=0pt}
\GeometriaReverso{letterpaper,vmargin={1cm,1cm}, hmargin={1cm,1cm},footskip=0cm, headsep=0pt, headheight=0pt}
\GeometriaReporte{letterpaper,vmargin={2.8cm,2.5cm},hmargin={3cm,2cm},footskip=1.2cm,headsep=0.777cm,headheight=1.5cm}
-%% Factores para los distintos IVA y el límite para el descuento:
-\def\@AlicuotaG{0.12}
-\def\@AlicuotaGDescBajo{0.03}
-\def\@AlicuotaGDescAlto{0.05}
-\def\@AlicuotaGDescLimite{2000000}
+%% Factores para los distintos IVA:
+\def\@AlicuotaG{0.16}
+%% (quitado por no vigente)
+ % \def\@AlicuotaGDescBajo{0.03}
+ % \def\@AlicuotaGDescAlto{0.05}
+ % \def\@AlicuotaGDescLimite{2000000}
\def\@AlicuotaR{0.08}
-\def\@AlicuotaA{0.27}
+\def\@AlicuotaA{0.31}
%% i) separador de miles, ii) separador decimal, iii) número de decimales para la moneda iv) y para los porcentajes, v) número de dígitos de la numeración de la factura, vi) formato de la fecha, vii) separadores para la fecha.
\npthousandsep{.}
@@ -67,13 +68,17 @@
\def\@FechaSeparadores{-}
%% La moneda:
-\def\@MonedaBs{Bs.}
-\def\@MonedaBsS{Bs.S}
-\def\@MonedaBsF{Bs.F}
+\def\@Moneda{Bs.}
+%% (quitado por no vigente)
+ % \def\@MonedaBs{Bs.}
+ % \def\@MonedaBsS{Bs.S}
+ % \def\@MonedaBsF{Bs.F}
+\setlength\@EspacioSignoMonetario{.666ex}
+%% (quitado por no vigente)
%% Las fechas de la entrada de la reconversión monetaria:
-\DTMsavedate{FechaBsS}{2018-08-20}
-\DTMsavedate{FechaBs}{2019-01-01}
+ % \DTMsavedate{FechaBsS}{2018-08-20}
+ % \DTMsavedate{FechaBs}{2019-02-15}
%% Al lado de cada ítem va la letra que designa el gravamen que aplica sobre él:
\def\@DenomAlicuotaG{G}
@@ -81,8 +86,9 @@
\def\@DenomAlicuotaA{A}
\def\@DenomAlicuotaE{(E)}
-%% El texto predeterminado para la nota interna por el descuento presidencial.
-\def\@TextoDescuentoPresidencial{Se aplica un descuento del \@AlicuotaGDescPorc\% al IVA General seg\'un Decreto Presidencial 3.085 en Gaceta Oficial 41.239.}
+%% (quitado por no vigente)
+%% Texto predeterminado para la nota interna por el descuento presidencial.
+ % \def\@TextoDescuentoPresidencial{Se aplica un descuento del \@AlicuotaGDescPorc\% al IVA General seg\'un Decreto Presidencial 3.085 en Gaceta Oficial 41.239.}
%% Macros que guardan textos que corresponden a nombres de campos:
\def\@@Fecha{Fecha de emisi\'on:}
@@ -115,7 +121,8 @@
\def\@@IVA{IVA}
\def\@@PrecioT{Precio T.}
\def\@@AlicuotaG{IVA G}
-\def\@@AlicuotaGDesc{Descuento IVA G}
+%% (quitado por no vigente)
+ % \def\@@AlicuotaGDesc{Descuento IVA G}
\def\@@AlicuotaR{IVA R}
\def\@@AlicuotaA{IVA A}
\def\@@BIG{BI G}
@@ -163,12 +170,12 @@
\setlength{\@FirmaReportePosX}{2cm}
\setlength{\@FirmaReporteExcesoLinea}{1.5cm}
-%% Posiciones (X,Y) de los objetos: i) fecha, ii) denominación, iii) condiciones, iv) número de control, v) firmas.
+%% Posiciones (X,Y) de los objetos: i) fecha, ii) denominación, iii) nota final, iv) número de control, v) firmas.
\PosFecha*{-0cm}{5cm}
\PosDenom*{0cm}{5cm}
\PosControl*{0cm}{-2.4cm}
-\PosCondiciones{0cm}{-5.3cm}
-%% 'X' no acepta valores negativos en \PosCondiciones.
+\PosNotaFinal{0cm}{0cm}{-5.3cm}
+%% La nota final se define con un X_inicial, un X_final y un Y_inicial (Xo,Xf,Y)
\PosFirmas{5cm}{1cm}{-2.4cm}
%% La firma se define con un X_inicial, un X_final y un Y_inicial (Xo,Xf,Y)
@@ -196,7 +203,7 @@
%% Separación interna entre la línea y el texto de la descripción.
\SepDescripcion{6pt}
-\SepCondiciones{5pt}
+\SepNotaFinal{5pt}
%% Grosor de la línea de las cajas del encabezado, curvatura de la esquina y sombra.
%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ).
@@ -210,9 +217,9 @@
%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ).
\LineaDescripcion{0.4pt}{0pt}{4pt}
-%% Grosor de la línea de las condiciones, curvatura de la esquina y sombra.
+%% Grosor de la línea de la nota final, curvatura de la esquina y sombra.
%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ).
-\LineaCondiciones{0pt}{0pt}{0pt}
+\LineaNotaFinal{0pt}{0pt}{0pt}
%% El espacio vertical que hay que avanzar sólo en la primera página del reporte antes de empezar a escribir sobre él. Usable cuando la primera página tiene un membrete y las demás no, es decir, cuando se usa \FondoReporte y no \FondoReporte*.
\InicioReporte{1.6cm}
@@ -266,8 +273,8 @@
%% Tipo de letra para la nota previa.
\LetraNotaPrevia{\fontsize{11}{12.5}}
-%% Tipo de letra para las condiciones del documento.
-\LetraCondiciones{\fontsize{12}{12}}
+%% Tipo de letra para la nota final.
+\LetraNotaFinal{\fontsize{12}{12}}
%% Letra para la denominación del documento ('FACTURA', 'COTIZACIÓN',...).
\LetraDenom{\fontsize{14}{14}\bfseries}
@@ -290,7 +297,7 @@
%% Letra para el reporte.
\LetraReporte{\fontsize{12}{20}}
-%% Diseño hecho en TikZ para los datos del cliente, el resumen, la nota previa, la descripción y las condiciones.
+%% Diseño hecho en TikZ para los datos del cliente, el resumen, la nota previa, la descripción y la nota final.
\def\@DatosTIKZ{%
draw=black, fill=white, inner sep=\@SeparaInternaEncabezado, line width=\@GrosorLineaEncabezado, rounded corners=\@EsquinaLineaEncabezado, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraEncabezado, shadow yshift=-\@SombraEncabezado}}
@@ -302,8 +309,8 @@
\def\@DescripcionTIKZ{%
draw=black, fill=white, inner sep=\@SeparaInternaDescripcion, line width=\@GrosorLineaDescripcion, rounded corners=\@EsquinaLineaDescripcion, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraDescripcion, shadow yshift=-\@SombraDescripcion}}
-\def\@CondicionesTIKZ{%
- draw=black, fill=white, inner sep=\@SeparaInternaCondiciones, line width=\@GrosorLineaCondiciones, rounded corners=\@EsquinaLineaCondiciones, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraCondiciones, shadow yshift=-\@SombraCondiciones}}
+\def\@NotaFinalTIKZ{%
+ draw=black, fill=white, inner sep=\@SeparaInternaNotaFinal, line width=\@GrosorLineaNotaFinal, rounded corners=\@EsquinaLineaNotaFinal, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraNotaFinal, shadow yshift=-\@SombraNotaFinal}}
%% El diseño de las distintas partes de la hoja.
\newcommand{\@EstiloFirmas}{
@@ -321,7 +328,7 @@
\newcommand{\@EstiloNotaPrevia}{\@LetraNotaPrevia \@NotaPrevia}
-\newcommand{\@EstiloCondiciones}{\@LetraCondiciones \@Condiciones}
+\newcommand{\@EstiloNotaFinal}{\@LetraNotaFinal \@NotaFinal}
\newcommand{\@EstiloNumControl}{%
\renewcommand{\baselinestretch}{0}\selectfont
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/factura.tlpobj new/tlpkg/tlpobj/factura.tlpobj
--- old/tlpkg/tlpobj/factura.tlpobj 2019-02-28 03:36:04.000000000 +0100
+++ new/tlpkg/tlpobj/factura.tlpobj 2020-04-20 01:55:53.000000000 +0200
@@ -1,6 +1,6 @@
name factura
category Package
-revision 48333
+revision 54803
shortdesc Typeset and calculate invoices according to Venezuelan law
relocated 1
longdesc 'factura' is the Spanish word for 'invoice', so this is a LaTeX
@@ -10,11 +10,10 @@
longdesc use is not restricted to Venezuela because all variables and
longdesc the displayed text can be redefined by invoking commands or
longdesc editing.
-runfiles size=30
+runfiles size=31
RELOC/tex/latex/factura/factura.cls
RELOC/tex/latex/factura/factura.def
catalogue-ctan /macros/latex/contrib/factura
-catalogue-date 2018-08-02 20:31:16 +0200
-catalogue-license lppl1.3
+catalogue-license lppl1.3c
catalogue-topics invoice spanish class
-catalogue-version 3.57
+catalogue-version 3.73
++++++ fancyvrb.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fancyvrb/Changes new/doc/latex/fancyvrb/Changes
--- old/doc/latex/fancyvrb/Changes 2019-01-15 22:39:42.000000000 +0100
+++ new/doc/latex/fancyvrb/Changes 2020-01-13 22:25:56.000000000 +0100
@@ -1,4 +1,7 @@
--- fancyvrb.sty
+3.5 2020/01/13 - use \verbvisiblespace instead of \textvisiblespace (hv)
+3.4 2019/11/09 - use catcode change for space if \textvisiblespace doesn't exist (hv)
+3.3 2019/10/22 - use \textvisiblespace for showspaces (hv)
3.2a 2019/01/15 - added missing style files (hv)
3.2 2019/01/08 - remove the loading of package xcolor (hv)
3.1a 2018/11/20 - small changes to the documentation (hv)
Binary files old/doc/latex/fancyvrb/fancyvrb-doc.pdf and new/doc/latex/fancyvrb/fancyvrb-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fancyvrb/fancyvrb-doc.tex new/doc/latex/fancyvrb/fancyvrb-doc.tex
--- old/doc/latex/fancyvrb/fancyvrb-doc.tex 2019-01-15 22:39:42.000000000 +0100
+++ new/doc/latex/fancyvrb/fancyvrb-doc.tex 2020-01-13 22:25:56.000000000 +0100
@@ -1,9 +1,9 @@
\documentclass{article}
%\usepackage[T1]{fontenc}
%\usepackage[charter]{mathdesign}
-\usepackage{libertinus}
+\usepackage{libertinus-otf}
%\usepackage[scaled=0.84]{beramono}
-\setmonofont[Scale=MatchLowercase,FakeStretch=0.9]{AnonymousPro}
+\setmonofont[Scale=MatchLowercase,FakeStretch=0.9]{AnonymousPro-Regular.ttf}
\newif\ifChangeBar \ChangeBarfalse
\usepackage{fancyvrb}
@@ -63,7 +63,7 @@
{\footnotesize and}\\[-2mm]
{\footnotesize Herbert Voß\ (FU Berlin -- DE)}
}
-\date{Version 3.2a\\ \today}
+\date{Version 3.5\\ \today}
\fvset{frame=single,xrightmargin=0cm,numbers=left,numbersep=3pt,commentchar=Z}
@@ -90,8 +90,10 @@
Andreas Matthias,
Frank Mittelbach,
Rolf Niepraschk, %\url{Rolf.Niepraschk@gmx.de},
-Ulrich M. Schwarz,
-Thomas Siegel,% \url{siegel@aix520.informatik.uni-leipzig.de},
+Will Robertson,
+Ulrich M. Schwarz,
+Thomas Siegel, % \url{siegel@aix520.informatik.uni-leipzig.de},
+Clemens Steinke,
and
Vladimir Volovich. %\url{vvv@vvv.vsu.ru}.
\clearpage
@@ -727,16 +729,16 @@
(\emph{Default: false} \Dash spaces not shown).
\end{optlist}
-\begin{SideBySideExample}
- \begin{Verbatim}[showspaces=true]
+\begin{SideBySideExample}[gobble=0]
+\begin{Verbatim}[showspaces=true]
Verbatim line.
- \end{Verbatim}
+\end{Verbatim}
\end{SideBySideExample}
In practice, all verbatim environments have a~\texttt{*} variant, which
sets \texttt{showspaces=true}:
-\begin{SideBySideExample}
+\begin{SideBySideExample}[gobble=0]
\begin{Verbatim*}
Verbatim line.
\end{Verbatim*}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fancyvrb.doc.tlpobj new/tlpkg/tlpobj/fancyvrb.doc.tlpobj
--- old/tlpkg/tlpobj/fancyvrb.doc.tlpobj 2019-02-28 03:36:08.000000000 +0100
+++ new/tlpkg/tlpobj/fancyvrb.doc.tlpobj 2020-01-14 01:54:44.000000000 +0100
@@ -1,9 +1,9 @@
name fancyvrb.doc
category Package
-revision 49717
+revision 53392
shortdesc doc files of fancyvrb
relocated 1
-docfiles size=52
+docfiles size=45
RELOC/doc/latex/fancyvrb/Changes
RELOC/doc/latex/fancyvrb/README
RELOC/doc/latex/fancyvrb/fancyvrb-doc.pdf
++++++ fancyvrb.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fancyvrb/fancyvrb-ex.sty new/tex/latex/fancyvrb/fancyvrb-ex.sty
--- old/tex/latex/fancyvrb/fancyvrb-ex.sty 2018-11-01 23:10:32.000000000 +0100
+++ new/tex/latex/fancyvrb/fancyvrb-ex.sty 2019-11-09 23:02:02.000000000 +0100
@@ -1,7 +1,7 @@
%%
%% This is file `fancyvrb-ex.sty',
%%
-%% COPYRIGHT 2018-, by Herbert Voss
+%% COPYRIGHT 2018,2019-, by Herbert Voss
%%
%% This package may be distributed under the terms of the LaTeX Project Public
%% License, as described in lppl.txt in the base LaTeX distribution.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fancyvrb/fancyvrb.sty new/tex/latex/fancyvrb/fancyvrb.sty
--- old/tex/latex/fancyvrb/fancyvrb.sty 2019-01-15 22:39:42.000000000 +0100
+++ new/tex/latex/fancyvrb/fancyvrb.sty 2020-01-13 22:25:56.000000000 +0100
@@ -13,10 +13,10 @@
%% verbatim environments and commands and extensive documentation.
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{3.2a}
-\def\filedate{2019/01/15}
-\ProvidesPackage{fancyvrb}[\filedate]
-\message{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)}
+\def\fileversion{3.5}
+\def\filedate{2020/01/13}
+\ProvidesPackage{fancyvrb}[2020/01/13 v3.5 verbatim text (tvz,hv)]
+%\message{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)}
\csname fancyvrb@loaded\endcsname
\let\fancyvrb@loaded\endinput
%\ProcessOptions
@@ -529,8 +529,20 @@
\fvset{defineactive}
\define@booleankey{FV}{showspaces}%
{\def\FV@Space{{\FancyVerbSpace}}}%
- {\def\FV@Space{\ }}
-{\catcode`\ =12 \gdef\FancyVerbSpace{\tt }}
+ {\def\FV@Space{\ }}
+%
+% new definition for \verbvisiblespace 2020-01-13
+\@ifundefined{verbvisiblespace}%
+ {%
+ \@ifundefined{textvisiblespace}%
+ {\begingroup\catcode`\ =12 \gdef\FancyVerbSpace{\tt }\endgroup}
+ {\def\FancyVerbSpace{\textvisiblespace}}
+ }%
+ {\def\FancyVerbSpace{\verbvisiblespace}}
+%\@ifundefined{textvisiblespace}%
+% {\begingroup\catcode`\ =12 \gdef\FancyVerbSpace{\tt }\endgroup}
+% {\let\FancyVerbSpace\textvisiblespace}
+%
\fvset{showspaces=false}
\def\FV@Tab{\hbox to\FancyVerbTabSize\fontdimen2\font{\hss\FV@TabChar}}
\define@key{FV}{tabsize}{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fancyvrb/hbaw.sty new/tex/latex/fancyvrb/hbaw.sty
--- old/tex/latex/fancyvrb/hbaw.sty 2019-01-15 22:39:42.000000000 +0100
+++ new/tex/latex/fancyvrb/hbaw.sty 2019-11-09 23:02:02.000000000 +0100
@@ -1,39 +1,14 @@
%%
%% This is file `hbaw.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fvrb-ex.dtx (with options: `hbaw')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from hbaw.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file fvrb-ex.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% Package `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor')
-%%
%% COPYING:
-%% The files of this package "fvrb-ex" are released under the Artistic
-%% License Version 2. A copy of that license is included in the file
-%% artistic2.txt inside the fancyvrb package. This package consists of
-%% the following files:
-%% README fvrb-ex.dtx fvrb-ex.ins
+%% This package may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
%%
-%% Denis Girou (CNRS/IDRIS - France)
-%% March 27, 1998
+%% Denis Girou (CNRS/IDRIS - France) March 27, 1998
+%% packed by Herbert Voss
%%
-%% Package `hbaw'
%%
\NeedsTeXFormat{LaTeX2e}
\def\fileversion{1.4}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fancyvrb/hcolor.sty new/tex/latex/fancyvrb/hcolor.sty
--- old/tex/latex/fancyvrb/hcolor.sty 2019-01-15 22:39:42.000000000 +0100
+++ new/tex/latex/fancyvrb/hcolor.sty 2019-11-09 23:02:02.000000000 +0100
@@ -1,39 +1,14 @@
%%
%% This is file `hcolor.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fvrb-ex.dtx (with options: `hcolor')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from hcolor.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file fvrb-ex.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% Package `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor')
%%
%% COPYING:
-%% The files of this package "fvrb-ex" are released under the Artistic
-%% License Version 2. A copy of that license is included in the file
-%% artistic2.txt inside the fancyvrb package. This package consists of
-%% the following files:
-%% README fvrb-ex.dtx fvrb-ex.ins
+%% This package may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
%%
-%% Denis Girou (CNRS/IDRIS - France)
-%% March 27, 1998
+%% Denis Girou (CNRS/IDRIS - France) March 27, 1998
+%% packed by Herbert Voss
%%
-%% Package `hcolor'
%%
\NeedsTeXFormat{LaTeX2e}
\def\fileversion{1.4}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fancyvrb.tlpobj new/tlpkg/tlpobj/fancyvrb.tlpobj
--- old/tlpkg/tlpobj/fancyvrb.tlpobj 2019-02-28 03:36:09.000000000 +0100
+++ new/tlpkg/tlpobj/fancyvrb.tlpobj 2020-01-14 01:54:44.000000000 +0100
@@ -1,6 +1,6 @@
name fancyvrb
category Package
-revision 49717
+revision 53392
shortdesc Sophisticated verbatim text
relocated 1
longdesc Flexible handling of verbatim text including: verbatim commands
@@ -15,7 +15,6 @@
RELOC/tex/latex/fancyvrb/hbaw.sty
RELOC/tex/latex/fancyvrb/hcolor.sty
catalogue-ctan /macros/latex/contrib/fancyvrb
-catalogue-date 2019-01-15 20:16:28 +0100
catalogue-license lppl1.3
catalogue-topics verbatim
-catalogue-version 3.2a
+catalogue-version 3.5
++++++ fascicules.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fascicules.doc.tlpobj new/tlpkg/tlpobj/fascicules.doc.tlpobj
--- old/tlpkg/tlpobj/fascicules.doc.tlpobj 2019-02-28 03:36:28.000000000 +0100
+++ new/tlpkg/tlpobj/fascicules.doc.tlpobj 2020-03-04 23:50:53.000000000 +0100
@@ -1,6 +1,6 @@
name fascicules.doc
category Package
-revision 49457
+revision 54080
shortdesc doc files of fascicules
relocated 1
docfiles size=760
++++++ fascicules.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fascicules.tlpobj new/tlpkg/tlpobj/fascicules.tlpobj
--- old/tlpkg/tlpobj/fascicules.tlpobj 2019-02-28 03:36:29.000000000 +0100
+++ new/tlpkg/tlpobj/fascicules.tlpobj 2020-03-04 23:50:54.000000000 +0100
@@ -1,6 +1,6 @@
name fascicules
category Package
-revision 49457
+revision 54080
shortdesc Create mathematical manuals for schools
relocated 1
longdesc This package enables LaTeX users to create math books for
@@ -11,9 +11,7 @@
runfiles size=5
RELOC/tex/latex/fascicules/fascicules.sty
catalogue-also schule
-catalogue-contact-home http://fascicules.serveblog.net/
catalogue-ctan /macros/latex/contrib/fascicules
-catalogue-date 2018-12-21 06:32:50 +0100
catalogue-license lppl
catalogue-topics teaching
catalogue-version 1
++++++ fbb.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fbb.doc.tlpobj new/tlpkg/tlpobj/fbb.doc.tlpobj
--- old/tlpkg/tlpobj/fbb.doc.tlpobj 2019-02-28 03:36:30.000000000 +0100
+++ new/tlpkg/tlpobj/fbb.doc.tlpobj 2020-03-24 01:57:39.000000000 +0100
@@ -1,6 +1,6 @@
name fbb.doc
category Package
-revision 45277
+revision 54512
shortdesc doc files of fbb
relocated 1
docfiles size=124
++++++ fbb.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fbb.tlpobj new/tlpkg/tlpobj/fbb.tlpobj
--- old/tlpkg/tlpobj/fbb.tlpobj 2019-02-28 03:36:30.000000000 +0100
+++ new/tlpkg/tlpobj/fbb.tlpobj 2020-03-24 01:57:39.000000000 +0100
@@ -1,6 +1,6 @@
name fbb
category Package
-revision 45277
+revision 54512
shortdesc A free Bembo-like font
relocated 1
longdesc The package provides a Bembo-like font package based on Cardo
@@ -662,7 +662,6 @@
RELOC/tex/latex/fbb/fbb.fontspec
RELOC/tex/latex/fbb/fbb.sty
catalogue-ctan /fonts/fbb
-catalogue-date 2017-09-12 08:39:22 +0200
-catalogue-license ofllppl1.3
+catalogue-license ofl lppl1.3
catalogue-topics font font-serif font-type1 font-otf font-t1enc
catalogue-version 1.14
++++++ fbox.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fbox/CHANGELOG new/doc/latex/fbox/CHANGELOG
--- old/doc/latex/fbox/CHANGELOG 2019-03-09 23:23:51.000000000 +0100
+++ new/doc/latex/fbox/CHANGELOG 2020-01-04 23:05:15.000000000 +0100
@@ -1 +1,4 @@
+0.04 2020-01-03 - added \fparbox[]{}
+0.03 2019-11-04 - added star version
+0.02 2019-03-08 - modified version for expandable \lowercase
0.01 2019-03-08 - first CTAN version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fbox/README.md new/doc/latex/fbox/README.md
--- old/doc/latex/fbox/README.md 2019-03-09 23:23:51.000000000 +0100
+++ new/doc/latex/fbox/README.md 2019-11-04 23:16:05.000000000 +0100
@@ -1,7 +1,7 @@
# fbox.sty
Redefines the macro \fbox{...} from standard
-LaTeX to \fbox[optarg]{...}
+LaTeX to \fbox*[optarg]{...}
optarg can be any combination of l, r, b, and t. For
example: \fbox[lt]{foo} or \fbox[Tlr]{...}
Binary files old/doc/latex/fbox/fbox.pdf and new/doc/latex/fbox/fbox.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fbox/fbox.tex new/doc/latex/fbox/fbox.tex
--- old/doc/latex/fbox/fbox.tex 2019-03-09 23:23:51.000000000 +0100
+++ new/doc/latex/fbox/fbox.tex 2020-01-04 23:05:15.000000000 +0100
@@ -1,4 +1,4 @@
-%% $Id: fbox.tex 946 2019-03-08 12:08:22Z herbert $
+%% $Id: fbox.tex 1128 2020-01-03 20:57:59Z herbert $
%
\listfiles\setcounter{errorcontextlines}{100}
\documentclass[paper=a4,fontsize=11pt,DIV=13,parskip=half-,
@@ -33,6 +33,10 @@
\def\Lpack#1{\texttt{#1}\index{#1 package@\texttt{#1} package}}
\def\Lprog#1{\texttt{#1}\index{#1 program@\texttt{#1} program}}
\def\Loption#1{\texttt{#1}\index{#1@\texttt{#1} package option}}
+\let\Ldim\Lcs
+
+\def\demoText{DuckDuckGo! Time to spread the word!\par
+Equipped with the talking points above, you’re ready to help anyone search and browse protected.}
%\usepackage[bibstyle=dtk]{biblatex}
%\addbibresource{\jobname.bib}
@@ -58,7 +62,7 @@
\def\setVersion#1{\setVVersion#1!!}
\def\setVVersion#1=#2!!{\def\fboxVersion{#2}}
-\setVersion{version = 0.01}%
+\setVersion{version = 0.04}%
\title{Package \texttt{fbox} \\--\\ \normalsize \fboxVersion\ (\today)}
\author{Herbert Voß\thanks{\url{hvoss@tug.org}\newline Thanks to Rolf Niepraschk}}
@@ -70,9 +74,22 @@
argument:
\begin{verbatim}
-\fbox[<optargs>]{<contents>}
+\fbox*[<optargs>]{<contents>}
+\fparbox*[<optargs>]{<contents>}
\end{verbatim}
+The star version does not put any horizontal space before or behind the argument
+if no optional argument \texttt{l} or \texttt{r} is given. The non star version always inserts
+\Ldim{fboxsep}.
+
+\Lcs{fparbox} uses the current \Ldim{linewidth} minus two times the box sep and boxrule width.
+It does \emph{not} a test for an existing paragraph indenting. It has do be done by the
+user, e.g.:
+
+\begin{verbatim}
+\noindent
+\fparbox ...
+\end{verbatim}
The optional argument can be of any combination of the letters
l, r, b, and t or altenatively L, R, B, and T. This l)eft, r)right, b)ottom, and t)op
@@ -95,36 +112,127 @@
\end{LTXexample}
\begin{LTXexample}
+\fbox*[rbt]{foo gar baz}
+\fbox*[brt]{foo gar baz}
+\fbox*[bRT]{foo gar baz}
+\end{LTXexample}
+
+\begin{LTXexample}
\fbox[lT]{foo gar baz}
\end{LTXexample}
\begin{LTXexample}
+\fbox*[lT]{foo gar baz}
+\end{LTXexample}
+
+\begin{LTXexample}
\fbox[bT]{foo gar baz}
\end{LTXexample}
\begin{LTXexample}
+\fbox*[bT]{foo gar baz}
+\end{LTXexample}
+
+\begin{LTXexample}
\fbox[Br]{foo gar baz}
\end{LTXexample}
\begin{LTXexample}
+\fbox*[Br]{foo gar baz}
+\end{LTXexample}
+
+\begin{LTXexample}
\setlength\fboxrule{5pt}
\fbox[bT]{foo gar baz}
\end{LTXexample}
\begin{LTXexample}
\setlength\fboxrule{5pt}
+\fbox*[bT]{foo gar baz}
+\end{LTXexample}
+
+
+\begin{LTXexample}
+\setlength\fboxrule{5pt}
\fbox[Br]{foo gar baz}
\end{LTXexample}
+\begin{LTXexample}
+\setlength\fboxrule{5pt}
+\fbox*[Br]{foo gar baz}
+\end{LTXexample}
+
+
+
+\begin{LTXexample}
+\fparbox{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox[]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox[rbt]{\demoText}
+\fparbox[brt]{\demoText}
+\fparbox[bRT]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox*[rbt]{\demoText}
+\fparbox*[brt]{\demoText}
+\fparbox*[bRT]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox[lT]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox*[lT]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox[bT]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox*[bT]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox[Br]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\fparbox*[Br]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\setlength\fboxrule{5pt}
+\fparbox[bT]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\setlength\fboxrule{5pt}
+\fparbox*[bT]{\demoText}
+\end{LTXexample}
+
+
+\begin{LTXexample}
+\setlength\fboxrule{5pt}
+\fparbox[Br]{\demoText}
+\end{LTXexample}
+
+\begin{LTXexample}
+\setlength\fboxrule{5pt}
+\fparbox*[Br]{\demoText}
+\end{LTXexample}
+
-\end{document}
-folium = {
- de = {"f", "ff"},
- en = {"f", "ff"},
- fr = {"sq","sqq"},
-}
+\end{document}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fbox.doc.tlpobj new/tlpkg/tlpobj/fbox.doc.tlpobj
--- old/tlpkg/tlpobj/fbox.doc.tlpobj 2019-03-10 02:24:11.000000000 +0100
+++ new/tlpkg/tlpobj/fbox.doc.tlpobj 2020-01-05 01:55:00.000000000 +0100
@@ -1,9 +1,9 @@
name fbox.doc
category Package
-revision 50305
+revision 53320
shortdesc doc files of fbox
relocated 1
-docfiles size=12
+docfiles size=15
RELOC/doc/latex/fbox/CHANGELOG
RELOC/doc/latex/fbox/README.md
RELOC/doc/latex/fbox/fbox.pdf
++++++ fbox.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fbox/fbox.sty new/tex/latex/fbox/fbox.sty
--- old/tex/latex/fbox/fbox.sty 2019-03-09 23:23:51.000000000 +0100
+++ new/tex/latex/fbox/fbox.sty 2020-01-04 23:05:15.000000000 +0100
@@ -1,6 +1,6 @@
%% This is file `fbox.sty',
%%
-%% Copyright (C) 2019
+%% Copyright (C) 2019, 2020
%% Herbert Voss
%%
%% It may be distributed and/or modified under the
@@ -11,17 +11,32 @@
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%
-% $Id: fbox.sty 946 2019-03-08 12:08:22Z herbert $
+% $Id: fbox.sty 1128 2020-01-03 20:57:59Z herbert $
%
% -------------------------------------
-\ProvidesPackage{fbox}[2019/03/00 v. 0.01 allow parts of the frame (hv)]
+\ProvidesPackage{fbox}[2020/01/03 v. 0.04 allow parts of the frame (hv)]
%
\let\orig@fbox\fbox
-\def\fb@lowerc@se#1{\lowercase{\edef\@tempa{#1}}}
+\def\fb@lowerc@se#1{% make \lowercase expandable
+ \begingroup\edef\x{%
+ \lowercase{\endgroup\def\noexpand\@tempa{#1}}}\x
+}
%
-\long\def\fbox{\@ifnextchar[\FBox@i\orig@fbox}
+\newif\if@fbox@star
+\newif\if@fbox@space@left
+\newif\if@fbox@space@right
+
+\long\def\fbox{\@ifnextchar*{\@fbox@startrue\FBox@}{\@fbox@starfalse\FBox@*}}
+\def\FBox@*{\@ifnextchar[\FBox@i\orig@fbox}
%
\def\FBox@i[#1]{%
+ \if@fbox@star
+ \@fbox@space@leftfalse
+ \@fbox@space@rightfalse
+ \else
+ \@fbox@space@lefttrue
+ \@fbox@space@righttrue
+ \fi
\ifx\relax#1\relax
\@tempcntb=15
\else
@@ -32,13 +47,15 @@
\FBox@iii
}
\def\FBox@ii#1#2\@nil{%
- \ifx#1t\advance\@tempcntb by 8% top
+ \ifx#1t\advance\@tempcntb by 8 % top
\else
- \ifx#1l\advance\@tempcntb by 4% left
+ \ifx#1l\advance\@tempcntb by 4 % left
+ \if@fbox@star\@fbox@space@lefttrue\fi
\else
- \ifx#1r\advance\@tempcntb by 2% right
+ \ifx#1r\advance\@tempcntb by 2 % right
+ \if@fbox@star\@fbox@space@righttrue\fi
\else
- \ifx#1b\advance\@tempcntb by 1% bottom
+ \ifx#1b\advance\@tempcntb by 1 % bottom
\fi\fi\fi\fi
\if\relax#2\relax\def\next{}\else\def\next{\FBox@ii#2\@nil}\fi
\next
@@ -47,7 +64,7 @@
\leavevmode
\setbox\@tempboxa\hbox{%
\color@begingroup
- \kern\fboxsep{#1}\kern\fboxsep
+ \if@fbox@space@left\kern\fboxsep\fi{#1}\if@fbox@space@right\kern\fboxsep\fi
\color@endgroup}%
\@FrameB@x\relax}
%
@@ -79,4 +96,17 @@
}%
}
-\endinput
\ No newline at end of file
+\newsavebox\fpar@b@x
+
+\long\def\fparbox{\@ifnextchar*{\@fbox@startrue\FParBox@}{\@fbox@starfalse\FParBox@*}}
+\def\FParBox@*{\@ifnextchar[\FParBox@i\FParBox@ii}
+\long\def\FParBox@i[#1]#2{%
+ \savebox\fpar@b@x{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule}{#2}}%
+ \FBox@i[#1]{\usebox\fpar@b@x}}
+\long\def\FParBox@ii#1{%
+ \savebox\fpar@b@x{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule}{#1}}%
+ \orig@fbox{\usebox\fpar@b@x}}
+
+
+\endinput
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fbox.tlpobj new/tlpkg/tlpobj/fbox.tlpobj
--- old/tlpkg/tlpobj/fbox.tlpobj 2019-03-10 02:24:11.000000000 +0100
+++ new/tlpkg/tlpobj/fbox.tlpobj 2020-01-05 01:55:00.000000000 +0100
@@ -1,6 +1,6 @@
name fbox
category Package
-revision 50305
+revision 53320
shortdesc Extended \fbox macro from standard LaTeX
relocated 1
longdesc This package redefines \fbox to allow an optional argument for
@@ -11,7 +11,6 @@
runfiles size=1
RELOC/tex/latex/fbox/fbox.sty
catalogue-ctan /macros/latex/contrib/fbox
-catalogue-date 2019-03-09 09:25:30 +0100
catalogue-license lppl1.3c
catalogue-topics boxing
-catalogue-version 0.01
+catalogue-version 0.04
++++++ fcolumn.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fcolumn/README new/doc/latex/fcolumn/README
--- old/doc/latex/fcolumn/README 2015-09-28 23:17:02.000000000 +0200
+++ new/doc/latex/fcolumn/README 2019-05-03 00:36:42.000000000 +0200
@@ -1,4 +1,4 @@
-The LaTeX-package ``fcolumn''
+The LaTeX-package ``fcolumn'', under LPPL 1.3
In financial reports, text and currency amounts are regularly put in
one table, e.g., a year balance or a profit-and-loss overview.
@@ -31,10 +31,10 @@
The core part of this table is input as
\begin{tabular}{lflf}
-house & 20000000 & equity capital & 5000000\\
-bank account & -60323 & mortgage & 15000000\\
-savings & 2800000 \\
-cash & 14585 & profit & 2754262\\
+house & 200000 & equity capital & 50000 \\
+bank account & -603,23 & mortgage & 150000 \\
+savings & 28000 \\
+cash & 145,85 & profit & 27542,62 \\
\sumline
\end{tabular}
@@ -48,9 +48,9 @@
To install:
-----------
-Run the file fcolumn.ins through LaTeX (in a directory also
-containing fcolumn.dtx) and move the file fcolumn.sty to a place
-searched by TeX.
+Run the file fcolumn.ins through (La)TeX (in a directory also
+containing fcolumn.dtx) or type ``make install'' and move the
+file fcolumn.sty to a place searched by TeX.
To produce the documentation:
-----------------------------
Binary files old/doc/latex/fcolumn/fcolumn.pdf and new/doc/latex/fcolumn/fcolumn.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fcolumn/makefile new/doc/latex/fcolumn/makefile
--- old/doc/latex/fcolumn/makefile 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/fcolumn/makefile 2019-05-03 00:36:42.000000000 +0200
@@ -0,0 +1,40 @@
+.SUFFIXES: .pdf .glo .gls .ind .idx .dtx .sty .ins
+
+.ins.sty:
+ pdflatex $*.ins
+
+.dtx.glo:
+ pdflatex $*.dtx
+
+.dtx.idx:
+ pdflatex $*.dtx
+
+.glo.gls:
+ makeindex -s gglo.ist -o fcolumn.gls fcolumn.glo
+
+.idx.ind:
+ makeindex -s gind.ist -o fcolumn.ind fcolumn.idx
+
+.dtx.pdf:
+ pdflatex $*.dtx
+
+all: fcolumn.pdf
+
+install:
+ tex fcolumn.ins
+
+dist: fcolumn.dtx fcolumn.ins fcolumn.sty fcolumn.pdf README makefile
+ mkdir fcolumn; cp fcolumn.dtx fcolumn; cp fcolumn.ins fcolumn; \
+ cp fcolumn.sty fcolumn; cp fcolumn.pdf fcolumn; cp README fcolumn; \
+ cp makefile fcolumn; tar -czf fcolumn.tgz fcolumn; rm -r fcolumn
+
+fcolumn.pdf: fcolumn.dtx fcolumn.gls fcolumn.ind fcolumn.sty
+fcolumn.idx: fcolumn.dtx
+fcolumn.ind: fcolumn.idx
+fcolumn.glo: fcolumn.dtx
+fcolumn.gls: fcolumn.glo
+
+.PHONY: clean
+clean:
+ -rm fcolumn.pdf fcolumn.sty fcolumn.log fcolumn.glo fcolumn.gls \
+ fcolumn.ind fcolumn.idx fcolumn.aux fcolumn.ilg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fcolumn.doc.tlpobj new/tlpkg/tlpobj/fcolumn.doc.tlpobj
--- old/tlpkg/tlpobj/fcolumn.doc.tlpobj 2019-02-28 03:36:33.000000000 +0100
+++ new/tlpkg/tlpobj/fcolumn.doc.tlpobj 2019-05-03 01:38:56.000000000 +0200
@@ -1,8 +1,9 @@
name fcolumn.doc
category Package
-revision 38489
+revision 50937
shortdesc doc files of fcolumn
relocated 1
-docfiles size=62
+docfiles size=71
RELOC/doc/latex/fcolumn/README
RELOC/doc/latex/fcolumn/fcolumn.pdf
+ RELOC/doc/latex/fcolumn/makefile
++++++ fcolumn.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fcolumn/fcolumn.sty new/tex/latex/fcolumn/fcolumn.sty
--- old/tex/latex/fcolumn/fcolumn.sty 2015-09-28 23:17:02.000000000 +0200
+++ new/tex/latex/fcolumn/fcolumn.sty 2019-05-03 00:36:42.000000000 +0200
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2015 by Edgar Olthof
+%% Copyright (C) 2015--2019 by Edgar Olthof
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -19,81 +19,164 @@
%%
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 1999/12/01 or later.
-\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{fcolumn}
- [2015/09/20 v1.1.1 Automatic Currency Package (EO)]
-\RequirePackage{array}
+ [2019/04/24 v1.2 Automatic Currency Package (EHTO)]
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{array}[v2.4k]
+\newif\ifstrict@ccounting \strict@ccountingfalse
+\DeclareOption{strict}{\strict@ccountingtrue}
+\ProcessOptions
\newcolumntype{F}[3]{>{\b@fi{#1}{#2}{#3}}r<{\e@fi}}
\newcolumntype{f}{F{.}{,}{3,2}}
-\newcount\FCsc@l \FCsc@l=0
-\newcount\FCtc@l \FCtc@l=0
+\newcount\FCsc@l \FCsc@l=0 \newcount\FCtc@l \FCtc@l=0
\newif\ifwiths@p
-\newif\ifstrictaccounting \strictaccountingfalse
\def\geldm@cro#1#2{\withs@pfalse
-\afterassignment\g@ldm@cro\count@#2\relax{#1}}
-\def\g@ldm@cro#1\relax#2{%
-\ifnum#2<0 \ifstrictaccounting(\else-\fi\count2=-#2 \else\count2=#2 \fi
-\count3=\ifx\relax#1\relax2 \else \@gobble#1\relax\fi
-\count4=\count3
-\loop
- \ifnum\count3>0 \divide\count2 by 10 \advance\count3 by \m@ne
+\afterassignment\g@ldm@cro\count@#1\relax{#2}}
+\def\g@ldm@cro#1\relax#2{\ifnum#2<0 \ifstrict@ccounting (\else -\fi
+ \count2=-#2 \else\count2=#2
+\fi
+\count4=\ifx\relax#1\relax 2 \else \@gobble#1\relax\fi
+\count3=0
+\loop\ifnum\count3<\count4
+ \divide\count2 by 10 \advance\count3 by \@ne
\repeat
\g@ldens{\the\count@}%
-\ifnum\count4>0\decim@lmark
- \ifnum#2>0 \count2=-#2\else\count2=#2 \fi
- \count3=\count4
- \loop
- \ifnum\count3>0 \divide\count2 by 10 \advance\count3 by \m@ne
- \repeat
- \loop
- \ifnum\count3<\count4 \multiply\count2 by 10 \advance\count3 by \@ne
- \repeat
- \ifnum#2>0 \advance\count2 by #2
- \else \advance\count2 by -#2
- \fi
- \zerop@d{\number\count3}{\number\count2}%
+\ifnum\count3>0\decim@lmark
+ \ifnum#2>0 \count2=-#2\else\count2=#2 \fi
+ \loop\ifnum\count3>0
+ \divide\count2 by 10 \advance\count3 by \m@ne
+ \repeat
+ \loop\ifnum\count3<\count4
+ \multiply\count2 by 10 \advance\count3 by \@ne
+ \repeat
+ \ifnum#2>0 \advance\count2 by #2
+ \else \advance\count2 by -#2
+ \fi
+ \zerop@d{\number\count3}{\number\count2}%
\fi
-\ifnum#2<0 \ifstrictaccounting\rlap{)}\fi\fi}
+\ifx\FCs@gn\m@ne \ifnum#2<0 \ifstrict@ccounting
+ \rlap{)~!}\else\rlap{~!}\fi\else\ifstrict@ccounting
+ \rlap{\phantom{)}~!}\else\rlap{~!}\fi\fi
+\else \ifnum#2<0 \ifstrict@ccounting\rlap{)}\fi\fi
+\fi}
\def\g@ldens#1{{\count3=\count2 \count0=#1
-\loop
- \ifnum\count0>0
- \divide\count2 by 10
- \advance\count0 by \m@ne
+\ifnum\count0<1 \count0=3 \fi
+\loop \ifnum\count0>0 \divide\count2 by 10 \advance\count0 by \m@ne
\repeat
\ifnum\count2>0 \g@ldens{#1}\fi
\count0=#1
-\loop
- \ifnum\count0>0
- \multiply\count2 by 10
- \advance\count0 by\m@ne
+\ifnum\count0<1 \count0=3 \fi
+\loop \ifnum\count0>0 \multiply\count2 by 10 \advance\count0 by \m@ne
\repeat
\count2=-\count2
\advance\count2 by \count3 \du@zendprint{#1}}}
-\def\du@zendprint#1{\ifwiths@p\sep@rator\zerop@d{#1}{\number\count2}%
- \else\zerop@d{1}{\number\count2}\fi \global\withs@ptrue}
+\def\du@zendprint#1{\ifwiths@p\ifnum#1>0 \sep@rator\fi
+ \zerop@d{#1}{\number\count2}%
+\else\zerop@d1{\number\count2}\fi\global\withs@ptrue}
\def\zerop@d#1#2{{\count0=1 \count1=#2
-\loop
- \divide \count1 by 10
- \ifnum\count1>0 \advance\count0 by\@ne
-\repeat
-\loop
- \ifnum\count0<#1\relax 0\advance\count0 by\@ne
+\loop \divide \count1 by 10 \ifnum\count1>0 \advance\count0 by \@ne
\repeat
-\number#2}}
-\def\zetg@ld#1#2{\global\advance\csname
-FCtot@\romannumeral\FCsc@l\endcsname by #1
+\ifnum#1>0
+ \loop \ifnum\count0<#1\relax 0\advance\count0 by \@ne
+ \repeat
+\else
+ \advance\count0 by -3
+ \loop \ifnum\count0<0 0\advance\count0 by \@ne
+ \repeat
+\fi\number#2}}
+\def\zetg@ld#1#2{\count0=#2\relax \let\FCs@gn=\@ne
+\ifnum\count0<0
+ \ifnum\csname FCtot@\romannumeral\FCsc@l\endcsname<0
+ \let\FCs@gn=\m@ne
+ \fi
+\fi
+\ifnum\count0>0
+ \ifnum\csname FCtot@\romannumeral\FCsc@l\endcsname>0
+ \let\FCs@gn=\m@ne
+ \fi
+\fi
+\global\advance\csname FCtot@\romannumeral\FCsc@l\endcsname by \count0
+\ifx\FCs@gn\m@ne
+ \ifnum\count0>0 \let\FCs@gn\@ne \fi
+ \count0=\csname FCtot@\romannumeral\FCsc@l\endcsname
+ \multiply\count0 by \FCs@gn
+ \ifnum\count0<0
+ \let\FCs@gn=\m@ne
+ \PackageError{fcolumn}{Register overflow}{Overflow occurred
+ in fcolumn \number\FCsc@l. Check your table.}%
+ \else\let\FCs@gn=\@ne
+ \fi
+\fi
\setbox0=\hbox{$\geldm@cro{#1}{#2}$}%
\ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname
\global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0
\fi\unhbox0}
-\newcount\bedr@g
-\def\b@fi#1#2#3{\def\sep@rator{{#1}}\def\decim@lmark{{#2}}%
-\def\sp@l{#3}\let\ignorespaces=\@empty \let\unskip=\@empty
-\global\advance\FCsc@l by \@ne
-\setbox0=\hbox\bgroup\global\bedr@g=}
-\def\e@fi{ 123\relax\egroup\ifdim\wd0>\z@
- \zetg@ld{\number\bedr@g}{\sp@l}%
+\newcount\FC@l \newcount\FC@r
+\def\FC@chklist{}
+\def\setucc@de#1#2\relax{\uccode`\~=`#1 }
+\def\b@fi#1#2#3{%
+\def\sep@xt##1##2\end{\def\sep@rator{{##1}}}%
+\sep@xt#1\end\def\decim@lmark{{#2}}%
+\def\sp@l{#3}\global\advance\FCsc@l by \@ne
+\global\FC@l=0 \global\FC@r=1
+\let\FCs@gn=\@ne\relax \setbox0\hbox\bgroup$%
+\uccode`\~=`0\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=0}
+\uccode`\~=`1\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=1}
+\uccode`\~=`2\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=2}
+\uccode`\~=`3\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=3}
+\uccode`\~=`4\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=4}
+\uccode`\~=`5\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=5}
+\uccode`\~=`6\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=6}
+\uccode`\~=`7\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=7}
+\uccode`\~=`8\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=8}
+\uccode`\~=`9\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=9}
+\def\deactdecm@rk##1##2\relax{\mathcode`##1=0 }%
+\afterassignment\setucc@de\count@#3\relax
+\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- \restorem@thcodes\fi
+\afterassignment\deactdecm@rk\count@#3\relax \global\FC@r=1}%
+\def\d@cm##1##2{\count@=\mathcode`##1 }
+\ifnum\uccode`\~=`. \uccode`\~=`,\relax\else \uccode`\~=`.\relax\fi
+\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- \restorem@thcodes\fi
+\afterassignment\d@cm\count@#3\relax
+\ifnum\count@=\mathcode`- \expandafter\global\FC@l=\the\FC@l
+\else \expandafter\global\FC@r=\the\FC@r\fi}%
+\uccode`\~=`+\relax
+\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`-
+\restorem@thcodes\fi\global\FC@l=0}%
+\uccode`\~=`-\relax
+\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`-
+\restorem@thcodes\fi\global\let\FCs@gn\m@ne \global\FC@l=0}%
+\mathcode`-="8000 \mathcode`+=\mathcode`- \mathcode`.=\mathcode`-
+\def\actdecm@rk##1##2\relax{\ifx##1.\relax \mathcode`,=\mathcode`-
+\else \mathcode`##1=\mathcode`- \fi}%
+\afterassignment\actdecm@rk\count@#3\relax
+\mathcode`\0=\mathcode`- \mathcode`\1=\mathcode`-
+\mathcode`\2=\mathcode`- \mathcode`\3=\mathcode`-
+\mathcode`\4=\mathcode`- \mathcode`\5=\mathcode`-
+\mathcode`\6=\mathcode`- \mathcode`\7=\mathcode`-
+\mathcode`\8=\mathcode`- \mathcode`\9=\mathcode`- }
+\def\e@fi{\ifnum\mathcode`\0=\mathcode`- \global\FC@r=\m@ne\fi$\egroup
+\ifnum\FC@r>0
+ \ifnum\FC@r<10 \multiply\FC@r by 10 \fi
+ \def\i@ts##1##2{\count0=##2}
+ \afterassignment\i@ts\count@\sp@l
+ \loop\ifnum\count0>0 \multiply\FC@l by 10
+ \expandafter\secd@xt\number\FC@r\end \advance\count0 by \m@ne
+ \repeat
+ \ifnum\FC@r>10
+ \def\tw@l##1##2\relax{##2}
+ \PackageWarning{fcolumn}{Excess digit\ifnum\FC@r>100 s\fi\space
+ ``\expandafter\tw@l\number\FC@r\relax'' in decimal part
+ \MessageBreak ignored}
+ \fi
+ \ifx\FCs@gn\m@ne\relax \FC@l=-\FC@l \fi
+ \zetg@ld{\sp@l}{\FC@l}%
\fi}
+\def\secd@xt#1#2#3\end{\advance\FC@l by #2
+\FC@r=#1#3 \ifnum\FC@r<10 \multiply\FC@r by 10 \fi}
+\def\restorem@thcodes{\mathcode`\0=0 \mathcode`\1=0
+\mathcode`\2=0 \mathcode`\3=0 \mathcode`\4=0 \mathcode`\5=0
+\mathcode`\6=0 \mathcode`\7=0 \mathcode`\8=0 \mathcode`\9=0 }
\def\@array[#1]#2{%
\@tempdima \ht \strutbox
\advance \@tempdima by\extrarowheight
@@ -121,7 +204,7 @@
\m@th
\let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble}
\let\@@array=\@array
-\def\@mksumline#1{\gdef\sumline{}\@lastchclass 4 \@firstamptrue
+\def\@mksumline#1{\gdef\s@ml@ne{}\@lastchclass 4 \@firstamptrue
\global\FCsc@l=0
\let\prr@sult=\relax
\@temptokena{#1}
@@ -137,8 +220,8 @@
\or \or \@classfii \or
\or \or \or \or \or \or \or \@classfx \fi
\@lastchclass\@chclass}%
-\xdef\sumline{\sumline\noexpand\aut@check\noexpand\\}}
-\def\@addtosumline#1{\xdef\sumline{\sumline #1}}
+\xdef\s@ml@ne{\s@ml@ne\noexpand\aut@check\noexpand\\}}
+\def\@addtosumline#1{\xdef\s@ml@ne{\s@ml@ne #1}}
\def\@classfx{\if@firstamp \@firstampfalse \else \@addtosumline &\fi}
\def\@classfz{\ifnum\@chnum<\thr@@ \@classfx\fi}
\def\@classfii{\ifnum\@lastchclass=8
@@ -151,56 +234,66 @@
\expandafter\ifx\csname FCtot@\romannumeral\FCsc@l\endcsname\relax
\expandafter\newcount\csname FCtot@\romannumeral\FCsc@l\endcsname
\else
- \message{^^JWarning: FCtot@\romannumeral\FCsc@l \space is already
- defined and it may not even be a <count>. I'll proceed,
- but with fingers crossed. }
+ \PackageError{fcolumn}{Name clash for <count>}{\expandafter\csname
+ FCtot@\romannumeral\FCsc@l\endcsname is already defined and it may
+ not even be a <count>. If you're\MessageBreak sure it is a <count>,
+ you can press <enter> now and I'll proceed, but things\MessageBreak
+ will get overwritten.}%
\fi
\expandafter\ifx\csname FCwd@\romannumeral\FCsc@l\endcsname\relax
\expandafter\newdimen\csname FCwd@\romannumeral\FCsc@l\endcsname
\global\FCtc@l=\FCsc@l
\else
- \message{^^JWarning: FCwd@\romannumeral\FCsc@l \space is already
- defined and it may not even be a <dimen>. I'll proceed,
- but with fingers crossed. }
+ \PackageError{fcolumn}{Name clash for <dimen>}{\expandafter\csname
+ FCwd@\romannumeral\FCsc@l\endcsname is already defined and it may
+ not even be a <dimen>. If you're\MessageBreak sure it is a <dimen>,
+ you can press <enter> now and I'll proceed, but things\MessageBreak
+ will get overwritten.}%
\fi
\fi
\fi
\fi}
-\def\leeg#1{ 234\relax\egroup \let\e@fi=\relax \setbox0=\hbox{#1}%
-\ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname
- \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0
-\fi\unhbox0}
-\def\prr@sult{ 345\relax\egroup \let\e@fi=\relax
-\setbox0=\hbox{$\geldm@cro{\number\csname
-FCtot@\romannumeral\FCsc@l\endcsname}{\sp@l}$}%
+\newdimen\s@mlinesep
+\def\sumline{\@ifnextchar[\s@mline{\s@mline[2pt]}}
+\def\s@mline[#1]{\global\s@mlinesep=#1 \s@ml@ne}
+\def\prr@sult{$\egroup \let\e@fi=\relax
+\setbox0=\hbox{$\geldm@cro{\sp@l}{\number\csname
+FCtot@\romannumeral\FCsc@l\endcsname}$}%
\ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname
\global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0
\fi
\vbox{\hrule width \csname FCwd@\romannumeral\FCsc@l\endcsname
-\vskip2pt
+\vskip\s@mlinesep
\hbox to \csname FCwd@\romannumeral\FCsc@l\endcsname{\hfil\unhbox0}}}
-\def\aut@check{\ifodd\FCsc@l\else \count0=\@ne \count1=\FCsc@l
- \divide\count1 by \tw@ \advance\count1 by \@ne
- \loop
- \ifnum\csname FCtot@\romannumeral\count0\endcsname=
- \csname FCtot@\romannumeral\count1\endcsname\else
- \message{^^JWarning: F-columns \number\count0 \space
- and \number\count1 \space do not balance! }%
- \fi
- \ifnum\count1=\FCsc@l\else
- \advance\count0 by\@ne \advance\count1 by\@ne
- \repeat
-\fi }
-\def\checkfcolumns#1#2{\noalign{\ifnum\csname FCtot@\romannumeral#1
-\endcsname=\csname FCtot@\romannumeral#2\endcsname\else
- \message{^^JWarning: F-columns #1 and #2 do not balance! }%
-\fi}}
+\def\leeg#1{$\egroup \let\e@fi=\relax #1}
\def\res@tsumline{\FCsc@l=\FCtc@l\loop\ifnum\FCsc@l>0
\global\csname FCtot@\romannumeral\FCsc@l\endcsname=0
\global\csname FCwd@\romannumeral\FCsc@l\endcsname=\z@
- \advance\FCsc@l by \m@ne
-\repeat}
+ \advance\FCsc@l by \m@ne\repeat}
\def\resetsumline{\noalign{\res@tsumline}}
+\def\aut@check{\ifx\@empty\FC@chklist\relax
+ \ifodd\FCsc@l\else
+ \count0=\@ne \count1=\FCsc@l
+ \divide\count1 by \tw@
+ \loop\ifnum\count1<\FCsc@l
+ \advance\count1 by \@ne
+ \xdef\FC@chklist{\FC@chklist\number\count0,\number\count1;}%
+ \advance\count0 by\@ne
+ \repeat
+ \fi
+\fi
+\loop
+ \ifx\FC@chklist\@empty\let\FCs@gn=\@ne\else\let\FCs@gn=\m@ne\fi
+ \ifx\FCs@gn\m@ne
+ \expandafter\fre@t\FC@chklist\end
+ \ifnum\csname FCtot@\romannumeral\count0\endcsname=
+ \csname FCtot@\romannumeral\count1\endcsname\else
+ \PackageWarningNoLine{fcolumn}{F-columns \number\count0 \space
+ and \number\count1 \space do not balance}%
+ \fi
+\repeat}
+\def\fre@t#1,#2;#3\end{\count0=#1 \count1=#2 \xdef\FC@chklist{#3}}
+\def\checkfcolumns#1#2{\noalign{\xdef\FC@chklist{\FC@chklist #1,#2;}}}
\endinput
%%
%% End of file `fcolumn.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fcolumn.tlpobj new/tlpkg/tlpobj/fcolumn.tlpobj
--- old/tlpkg/tlpobj/fcolumn.tlpobj 2019-02-28 03:36:34.000000000 +0100
+++ new/tlpkg/tlpobj/fcolumn.tlpobj 2019-05-03 01:38:56.000000000 +0200
@@ -1,6 +1,6 @@
name fcolumn
category Package
-revision 38489
+revision 50937
shortdesc Typesetting financial tables
relocated 1
longdesc In financial reports, text and currency amounts are regularly
@@ -8,10 +8,10 @@
longdesc overview. This package provides the settings for automatically
longdesc typesetting such columns, including the sum line (preceded by a
longdesc rule of the correct width) using the specifier "f".
-runfiles size=2
+runfiles size=3
RELOC/tex/latex/fcolumn/fcolumn.sty
catalogue-ctan /macros/latex/contrib/fcolumn
-catalogue-date 2016-06-24 19:18:15 +0200
+catalogue-date 2019-04-24 23:00:04 +0200
catalogue-license lppl1.3
catalogue-topics table
-catalogue-version 1.1.1
+catalogue-version 1.2
++++++ fei.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fei/fei-template-sublist.tex new/doc/latex/fei/fei-template-sublist.tex
--- old/doc/latex/fei/fei-template-sublist.tex 2018-10-02 03:06:26.000000000 +0200
+++ new/doc/latex/fei/fei-template-sublist.tex 2020-02-10 23:11:52.000000000 +0100
@@ -1,5 +1,14 @@
-\documentclass[rascunho,xindy,acronym,symbols,sublist]{fei}
+\begin{filecontents*}{\jobname.xmpdata}
+ \Title {Minha tese-dissertação-monografia}
+ \Author {Meu Nome\sep Nome Do Outro Integrante\sep Nome do Terceiro}
+ \Copyright {Copyright \copyright\ 2019 "Douglas De Rizzo Meneghetti"}
+ \Keywords {manual\sep latex\sep tipografia}
+ \Language {pt-BR}
+ \Subject {Resumo vai aqui em uma única linha corrida.}
+\end{filecontents*}
+
+\documentclass[acronym,symbols,sublist]{fei}
\usepackage[utf8]{inputenc}
@@ -76,7 +85,10 @@
Vivamus vel erat erat. Integer venenatis nisl velit, vel commodo lectus condimentum ac. Aliquam id magna at tellus sagittis tempus id quis ante. Maecenas bibendum ipsum nec urna condimentum mollis. In venenatis eget nunc ac adipiscing. Vivamus faucibus vel orci mattis egestas. In hac habitasse platea dictumst. Nulla faucibus neque eu fermentum luctus. Duis ipsum nunc, congue vel justo nec, faucibus iaculis erat. Integer sit amet augue nec enim blandit placerat. Sed bibendum feugiat eros.
\end{agradecimentos}
-\epigrafe{A good scientist is a person with original ideas. A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering.}{Freeman Dyson \nocite{dyson_disturbing_1979}}
+\begin{epigrafe}
+ \epig{Beware of bugs in the above code; I have only proved it correct, not tried it.}{Donald E. Knuth \nocite{knuth77}}
+ \epig{Something is rotten in the state of Denmark.}{William Shakespeare \nocite{shakespeare1885tragedy}}
+\end{epigrafe}
\begin{resumo}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean quam turpis, ullamcorper quis laoreet ac, malesuada sed mi. Quisque orci nunc, placerat quis mauris vel, luctus dictum tellus. Ut aliquam dui nunc, quis commodo justo mattis aliquam. Nam congue libero nec dui auctor pharetra. Sed sit amet justo sodales, elementum massa quis, luctus ipsum. Ut et libero mattis, rhoncus nisi vitae, facilisis sapien. Aliquam erat volutpat. Mauris eget libero egestas, ullamcorper leo quis, convallis libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
@@ -92,16 +104,16 @@
\end{resumo}
\begin{abstract}
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean quam turpis, ullamcorper quis laoreet ac, malesuada sed mi. Quisque orci nunc, placerat quis mauris vel, luctus dictum tellus. Ut aliquam dui nunc, quis commodo justo mattis aliquam. Nam congue libero nec dui auctor pharetra. Sed sit amet justo sodales, elementum massa quis, luctus ipsum. Ut et libero mattis, rhoncus nisi vitae, facilisis sapien. Aliquam erat volutpat. Mauris eget libero egestas, ullamcorper leo quis, convallis libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean quam turpis, ullamcorper quis laoreet ac, malesuada sed mi. Quisque orci nunc, placerat quis mauris vel, luctus dictum tellus. Ut aliquam dui nunc, quis commodo justo mattis aliquam. Nam congue libero nec dui auctor pharetra. Sed sit amet justo sodales, elementum massa quis, luctus ipsum. Ut et libero mattis, rhoncus nisi vitae, facilisis sapien. Aliquam erat volutpat. Mauris eget libero egestas, ullamcorper leo quis, convallis libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-Sed a odio porttitor, lacinia libero vel, egestas sem. Donec accumsan tellus nec enim porttitor, id rhoncus neque dignissim. Vestibulum sollicitudin turpis sed ligula tincidunt iaculis. Vestibulum condimentum libero erat, laoreet placerat elit ullamcorper a. Nam consectetur euismod risus. Duis quis ultricies velit, ut volutpat augue. Nam ligula sapien, interdum id leo vitae, porta volutpat velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus sit amet libero varius, consequat ipsum ac, placerat velit.
+ Sed a odio porttitor, lacinia libero vel, egestas sem. Donec accumsan tellus nec enim porttitor, id rhoncus neque dignissim. Vestibulum sollicitudin turpis sed ligula tincidunt iaculis. Vestibulum condimentum libero erat, laoreet placerat elit ullamcorper a. Nam consectetur euismod risus. Duis quis ultricies velit, ut volutpat augue. Nam ligula sapien, interdum id leo vitae, porta volutpat velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus sit amet libero varius, consequat ipsum ac, placerat velit.
-Nunc molestie nunc ac lorem dictum, sit amet placerat tellus congue. In sit amet dolor sed leo lobortis malesuada. Curabitur sit amet tristique urna. Vestibulum sollicitudin pellentesque aliquam. Sed pellentesque enim in lacus sodales laoreet. Suspendisse massa magna, fermentum at massa vitae, fermentum posuere dui. Interdum et malesuada \index{FEI}FEI fames ac ante ipsum primis in faucibus. Pellentesque porttitor mauris adipiscing dolor semper condimentum. Donec in nibh sapien. Cras vestibulum venenatis nisl ultrices feugiat. Donec a neque eu odio vehicula rutrum quis eu nisl. Curabitur mauris diam, sollicitudin egestas condimentum a, faucibus non felis. Duis scelerisque augue sed turpis lobortis accumsan.
+ Nunc molestie nunc ac lorem dictum, sit amet placerat tellus congue. In sit amet dolor sed leo lobortis malesuada. Curabitur sit amet tristique urna. Vestibulum sollicitudin pellentesque aliquam. Sed pellentesque enim in lacus sodales laoreet. Suspendisse massa magna, fermentum at massa vitae, fermentum posuere dui. Interdum et malesuada \index{FEI}FEI fames ac ante ipsum primis in faucibus. Pellentesque porttitor mauris adipiscing dolor semper condimentum. Donec in nibh sapien. Cras vestibulum venenatis nisl ultrices feugiat. Donec a neque eu odio vehicula rutrum quis eu nisl. Curabitur mauris diam, sollicitudin egestas condimentum a, faucibus non felis. Duis scelerisque augue sed turpis lobortis accumsan.
-Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis ut dolor erat. Fusce adipiscing interdum eros, in ultrices orci auctor at. Mauris ac ante orci. In nec mauris arcu. In pulvinar tortor a felis interdum pretium. Donec tristique laoreet sollicitudin. Proin erat metus, blandit sed cursus eget, faucibus id nunc. Donec id nisi non mauris tempor tincidunt. Fusce venenatis pulvinar enim. Fusce sit amet tortor nec magna feugiat pharetra ac nec nibh. Praesent non nisi lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum rutrum varius velit, id iaculis ante vestibulum quis. Aenean bibendum sit amet quam ornare mollis. Suspendisse sollicitudin fringilla felis in venenatis.
+ Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis ut dolor erat. Fusce adipiscing interdum eros, in ultrices orci auctor at. Mauris ac ante orci. In nec mauris arcu. In pulvinar tortor a felis interdum pretium. Donec tristique laoreet sollicitudin. Proin erat metus, blandit sed cursus eget, faucibus id nunc. Donec id nisi non mauris tempor tincidunt. Fusce venenatis pulvinar enim. Fusce sit amet tortor nec magna feugiat pharetra ac nec nibh. Praesent non nisi lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum rutrum varius velit, id iaculis ante vestibulum quis. Aenean bibendum sit amet quam ornare mollis. Suspendisse sollicitudin fringilla felis in venenatis.
-Vivamus vel erat erat. Integer venenatis nisl velit, vel commodo lectus condimentum ac. Aliquam id magna at tellus sagittis tempus id quis ante. Maecenas bibendum ipsum nec urna condimentum mollis. In venenatis eget nunc ac adipiscing. Vivamus faucibus vel orci mattis egestas. In hac habitasse platea dictumst. Nulla faucibus neque eu fermentum luctus. Duis ipsum nunc, congue vel justo nec, faucibus iaculis erat. Integer sit amet augue nec enim blandit placerat. Sed bibendum feugiat eros.
-\keywords{Keywords. Go. Here.}
+ Vivamus vel erat erat. Integer venenatis nisl velit, vel commodo lectus condimentum ac. Aliquam id magna at tellus sagittis tempus id quis ante. Maecenas bibendum ipsum nec urna condimentum mollis. In venenatis eget nunc ac adipiscing. Vivamus faucibus vel orci mattis egestas. In hac habitasse platea dictumst. Nulla faucibus neque eu fermentum luctus. Duis ipsum nunc, congue vel justo nec, faucibus iaculis erat. Integer sit amet augue nec enim blandit placerat. Sed bibendum feugiat eros.
+ \keywords{Keywords. Go. Here.}
\end{abstract}
\listoffigures
@@ -155,20 +167,20 @@
Sed a odio porttitor, lacinia libero vel, egestas sem. Donec accumsan tellus nec enim porttitor, id rhoncus neque dignissim. Vestibulum sollicitudin turpis sed ligula tincidunt iaculis. Vestibulum condimentum libero erat, laoreet placerat elit ullamcorper a. Nam consectetur euismod risus. Duis quis ultricies velit, ut volutpat augue. Nam ligula sapien, interdum id leo vitae, porta volutpat velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus sit amet libero varius, consequat ipsum ac, placerat velit.
\begin{table}[ht!]
- \caption{Donec accumsan tellus nec enim porttitor} \label{tbl:exemplo}
- \centering
- \begin{tabular}{|c|c|c|c|}
- \hline
- & \(x_1\) & \(x_2\) & \(x_3\) \\
- \hline
- \(y_1\) & 1 & 0 & 0 \\
- \hline
- \(y_2\) & 0 & 1 & 0 \\
- \hline
- \(y_3\) & 0 & 0 & 1 \\
- \hline
- \end{tabular}
- \caption*{Fonte: Autor}
+ \caption{Donec accumsan tellus nec enim porttitor} \label{tbl:exemplo}
+ \centering
+ \begin{tabular}{|c|c|c|c|}
+ \hline
+ & \(x_1\) & \(x_2\) & \(x_3\) \\
+ \hline
+ \(y_1\) & 1 & 0 & 0 \\
+ \hline
+ \(y_2\) & 0 & 1 & 0 \\
+ \hline
+ \(y_3\) & 0 & 0 & 1 \\
+ \hline
+ \end{tabular}
+ \caption*{Fonte: Autor}
\end{table}
\section{Class aptent taciti}
@@ -176,15 +188,15 @@
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per \index{latex@\LaTeX} inceptos himenaeos. Duis ut dolor erat. Fusce adipiscing interdum eros, in ultrices orci auctor at. Mauris ac ante orci. In nec mauris arcu. In pulvinar tortor a felis interdum pretium. Donec tristique laoreet sollicitudin. Proin erat metus, blandit sed cursus eget, faucibus id nunc. Donec id nisi non mauris tempor tincidunt. Fusce venenatis pulvinar enim. Fusce sit amet tortor nec magna feugiat pharetra ac nec nibh. Praesent non nisi lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum rutrum varius velit, id iaculis ante vestibulum quis. Aenean bibendum sit amet quam ornare mollis. Suspendisse sollicitudin fringilla felis in venenatis.
\begin{algorithm}
-\Entrada{Inteiro \(a\)}
-\Saida{Inteiro \(b\)}
+ \Entrada{Inteiro \(a\)}
+ \Saida{Inteiro \(b\)}
-\(c=\sqrt{a^2 + b^2}\)
+ \(c=\sqrt{a^2 + b^2}\)
-\Retorna \(c\)
+ \Retorna \(c\)
-\caption{Algoritmo que calcula o teorema de Pitágoras, de acordo com \textcite{heath1921history}.}
-\label{lst:alg}
+ \caption{Algoritmo que calcula o teorema de Pitágoras, de acordo com \textcite{heath1921history}.}
+ \label{lst:alg}
\end{algorithm}
\printbibliography
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fei/fei-template.tex new/doc/latex/fei/fei-template.tex
--- old/doc/latex/fei/fei-template.tex 2018-10-02 03:06:26.000000000 +0200
+++ new/doc/latex/fei/fei-template.tex 2020-02-10 23:11:52.000000000 +0100
@@ -1,5 +1,5 @@
-\documentclass[rascunho,xindy,acronym,symbols]{fei}
+\documentclass[acronym,symbols]{fei}
\usepackage[utf8]{inputenc}
@@ -17,8 +17,8 @@
%%%% -- Entradas Listas de Abreviaturas e Simbolos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% -- Abreviaturas
-\newacronym[longplural=Computational Aided Design]{cad}{CAD}{Computational Aided Design}
-\newacronym[longplural=Centro Universitário da FEI]{fei}{FEI}{Centro Universitário da FEI}
+\newacronym[user1=Computational Aided Design]{cad}{CAD}{Desenho assistido por computador}
+\newacronym{fei}{FEI}{Centro Universitário da FEI}
%% -- Simbolos
\newglossaryentry{A}{type=symbols,name={\ensuremath{A}},sort=a,description={exchanger total heat transfer area, $m^2$}}
@@ -63,7 +63,10 @@
Vivamus vel erat erat. Integer venenatis nisl velit, vel commodo lectus condimentum ac. Aliquam id magna at tellus sagittis tempus id quis ante. Maecenas bibendum ipsum nec urna condimentum mollis. In venenatis eget nunc ac adipiscing. Vivamus faucibus vel orci mattis egestas. In hac habitasse platea dictumst. Nulla faucibus neque eu fermentum luctus. Duis ipsum nunc, congue vel justo nec, faucibus iaculis erat. Integer sit amet augue nec enim blandit placerat. Sed bibendum feugiat eros.
\end{agradecimentos}
-\epigrafe{A good scientist is a person with original ideas. A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering.}{Freeman Dyson \nocite{dyson_disturbing_1979}}
+\begin{epigrafe}
+ \epig{Beware of bugs in the above code; I have only proved it correct, not tried it.}{Donald E. Knuth \nocite{knuth77}}
+ \epig{Something is rotten in the state of Denmark.}{William Shakespeare \nocite{shakespeare1885tragedy}}
+\end{epigrafe}
\begin{resumo}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean quam turpis, ullamcorper quis laoreet ac, malesuada sed mi. Quisque orci nunc, placerat quis mauris vel, luctus dictum tellus. Ut aliquam dui nunc, quis commodo justo mattis aliquam. Nam congue libero nec dui auctor pharetra. Sed sit amet justo sodales, elementum massa quis, luctus ipsum. Ut et libero mattis, rhoncus nisi vitae, facilisis sapien. Aliquam erat volutpat. Mauris eget libero egestas, ullamcorper leo quis, convallis libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
@@ -79,16 +82,16 @@
\end{resumo}
\begin{abstract}
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean quam turpis, ullamcorper quis laoreet ac, malesuada sed mi. Quisque orci nunc, placerat quis mauris vel, luctus dictum tellus. Ut aliquam dui nunc, quis commodo justo mattis aliquam. Nam congue libero nec dui auctor pharetra. Sed sit amet justo sodales, elementum massa quis, luctus ipsum. Ut et libero mattis, rhoncus nisi vitae, facilisis sapien. Aliquam erat volutpat. Mauris eget libero egestas, ullamcorper leo quis, convallis libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean quam turpis, ullamcorper quis laoreet ac, malesuada sed mi. Quisque orci nunc, placerat quis mauris vel, luctus dictum tellus. Ut aliquam dui nunc, quis commodo justo mattis aliquam. Nam congue libero nec dui auctor pharetra. Sed sit amet justo sodales, elementum massa quis, luctus ipsum. Ut et libero mattis, rhoncus nisi vitae, facilisis sapien. Aliquam erat volutpat. Mauris eget libero egestas, ullamcorper leo quis, convallis libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-Sed a odio porttitor, lacinia libero vel, egestas sem. Donec accumsan tellus nec enim porttitor, id rhoncus neque dignissim. Vestibulum sollicitudin turpis sed ligula tincidunt iaculis. Vestibulum condimentum libero erat, laoreet placerat elit ullamcorper a. Nam consectetur euismod risus. Duis quis ultricies velit, ut volutpat augue. Nam ligula sapien, interdum id leo vitae, porta volutpat velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus sit amet libero varius, consequat ipsum ac, placerat velit.
+ Sed a odio porttitor, lacinia libero vel, egestas sem. Donec accumsan tellus nec enim porttitor, id rhoncus neque dignissim. Vestibulum sollicitudin turpis sed ligula tincidunt iaculis. Vestibulum condimentum libero erat, laoreet placerat elit ullamcorper a. Nam consectetur euismod risus. Duis quis ultricies velit, ut volutpat augue. Nam ligula sapien, interdum id leo vitae, porta volutpat velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus sit amet libero varius, consequat ipsum ac, placerat velit.
-Nunc molestie nunc ac lorem dictum, sit amet placerat tellus congue. In sit amet dolor sed leo lobortis malesuada. Curabitur sit amet tristique urna. Vestibulum sollicitudin pellentesque aliquam. Sed pellentesque enim in lacus sodales laoreet. Suspendisse massa magna, fermentum at massa vitae, fermentum posuere dui. Interdum et malesuada \index{FEI}FEI fames ac ante ipsum primis in faucibus. Pellentesque porttitor mauris adipiscing dolor semper condimentum. Donec in nibh sapien. Cras vestibulum venenatis nisl ultrices feugiat. Donec a neque eu odio vehicula rutrum quis eu nisl. Curabitur mauris diam, sollicitudin egestas condimentum a, faucibus non felis. Duis scelerisque augue sed turpis lobortis accumsan.
+ Nunc molestie nunc ac lorem dictum, sit amet placerat tellus congue. In sit amet dolor sed leo lobortis malesuada. Curabitur sit amet tristique urna. Vestibulum sollicitudin pellentesque aliquam. Sed pellentesque enim in lacus sodales laoreet. Suspendisse massa magna, fermentum at massa vitae, fermentum posuere dui. Interdum et malesuada \index{FEI}FEI fames ac ante ipsum primis in faucibus. Pellentesque porttitor mauris adipiscing dolor semper condimentum. Donec in nibh sapien. Cras vestibulum venenatis nisl ultrices feugiat. Donec a neque eu odio vehicula rutrum quis eu nisl. Curabitur mauris diam, sollicitudin egestas condimentum a, faucibus non felis. Duis scelerisque augue sed turpis lobortis accumsan.
-Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis ut dolor erat. Fusce adipiscing interdum eros, in ultrices orci auctor at. Mauris ac ante orci. In nec mauris arcu. In pulvinar tortor a felis interdum pretium. Donec tristique laoreet sollicitudin. Proin erat metus, blandit sed cursus eget, faucibus id nunc. Donec id nisi non mauris tempor tincidunt. Fusce venenatis pulvinar enim. Fusce sit amet tortor nec magna feugiat pharetra ac nec nibh. Praesent non nisi lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum rutrum varius velit, id iaculis ante vestibulum quis. Aenean bibendum sit amet quam ornare mollis. Suspendisse sollicitudin fringilla felis in venenatis.
+ Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis ut dolor erat. Fusce adipiscing interdum eros, in ultrices orci auctor at. Mauris ac ante orci. In nec mauris arcu. In pulvinar tortor a felis interdum pretium. Donec tristique laoreet sollicitudin. Proin erat metus, blandit sed cursus eget, faucibus id nunc. Donec id nisi non mauris tempor tincidunt. Fusce venenatis pulvinar enim. Fusce sit amet tortor nec magna feugiat pharetra ac nec nibh. Praesent non nisi lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum rutrum varius velit, id iaculis ante vestibulum quis. Aenean bibendum sit amet quam ornare mollis. Suspendisse sollicitudin fringilla felis in venenatis.
-Vivamus vel erat erat. Integer venenatis nisl velit, vel commodo lectus condimentum ac. Aliquam id magna at tellus sagittis tempus id quis ante. Maecenas bibendum ipsum nec urna condimentum mollis. In venenatis eget nunc ac adipiscing. Vivamus faucibus vel orci mattis egestas. In hac habitasse platea dictumst. Nulla faucibus neque eu fermentum luctus. Duis ipsum nunc, congue vel justo nec, faucibus iaculis erat. Integer sit amet augue nec enim blandit placerat. Sed bibendum feugiat eros.
-\keywords{Keywords. Go. Here.}
+ Vivamus vel erat erat. Integer venenatis nisl velit, vel commodo lectus condimentum ac. Aliquam id magna at tellus sagittis tempus id quis ante. Maecenas bibendum ipsum nec urna condimentum mollis. In venenatis eget nunc ac adipiscing. Vivamus faucibus vel orci mattis egestas. In hac habitasse platea dictumst. Nulla faucibus neque eu fermentum luctus. Duis ipsum nunc, congue vel justo nec, faucibus iaculis erat. Integer sit amet augue nec enim blandit placerat. Sed bibendum feugiat eros.
+ \keywords{Keywords. Go. Here.}
\end{abstract}
\listoffigures
@@ -142,20 +145,20 @@
Sed a odio porttitor, lacinia libero vel, egestas sem. Donec accumsan tellus nec enim porttitor, id rhoncus neque dignissim. Vestibulum sollicitudin turpis sed ligula tincidunt iaculis. Vestibulum condimentum libero erat, laoreet placerat elit ullamcorper a. Nam consectetur euismod risus. Duis quis ultricies velit, ut volutpat augue. Nam ligula sapien, interdum id leo vitae, porta volutpat velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus sit amet libero varius, consequat ipsum ac, placerat velit.
\begin{table}[ht!]
- \caption{Donec accumsan tellus nec enim porttitor} \label{tbl:exemplo}
- \centering
- \begin{tabular}{|c|c|c|c|}
- \hline
- & \(x_1\) & \(x_2\) & \(x_3\) \\
- \hline
- \(y_1\) & 1 & 0 & 0 \\
- \hline
- \(y_2\) & 0 & 1 & 0 \\
- \hline
- \(y_3\) & 0 & 0 & 1 \\
- \hline
- \end{tabular}
- \caption*{Fonte: Autor}
+ \caption{Donec accumsan tellus nec enim porttitor} \label{tbl:exemplo}
+ \centering
+ \begin{tabular}{|c|c|c|c|}
+ \hline
+ & \(x_1\) & \(x_2\) & \(x_3\) \\
+ \hline
+ \(y_1\) & 1 & 0 & 0 \\
+ \hline
+ \(y_2\) & 0 & 1 & 0 \\
+ \hline
+ \(y_3\) & 0 & 0 & 1 \\
+ \hline
+ \end{tabular}
+ \caption*{Fonte: Autor}
\end{table}
\section{Class aptent taciti}
@@ -163,15 +166,15 @@
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per \index{latex@\LaTeX} inceptos himenaeos. Duis ut dolor erat. Fusce adipiscing interdum eros, in ultrices orci auctor at. Mauris ac ante orci. In nec mauris arcu. In pulvinar tortor a felis interdum pretium. Donec tristique laoreet sollicitudin. Proin erat metus, blandit sed cursus eget, faucibus id nunc. Donec id nisi non mauris tempor tincidunt. Fusce venenatis pulvinar enim. Fusce sit amet tortor nec magna feugiat pharetra ac nec nibh. Praesent non nisi lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum rutrum varius velit, id iaculis ante vestibulum quis. Aenean bibendum sit amet quam ornare mollis. Suspendisse sollicitudin fringilla felis in venenatis.
\begin{algorithm}
-\Entrada{Inteiro \(a\)}
-\Saida{Inteiro \(b\)}
+ \Entrada{Inteiro \(a\)}
+ \Saida{Inteiro \(b\)}
-\(c=\sqrt{a^2 + b^2}\)
+ \(c=\sqrt{a^2 + b^2}\)
-\Retorna \(c\)
+ \Retorna \(c\)
-\caption{Algoritmo que calcula o teorema de Pitágoras, de acordo com \textcite{heath1921history}.}
-\label{lst:alg}
+ \caption{Algoritmo que calcula o teorema de Pitágoras, de acordo com \textcite{heath1921history}.}
+ \label{lst:alg}
\end{algorithm}
\printbibliography
Binary files old/doc/latex/fei/fei.pdf and new/doc/latex/fei/fei.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fei/referencias.bib new/doc/latex/fei/referencias.bib
--- old/doc/latex/fei/referencias.bib 2018-09-13 22:59:39.000000000 +0200
+++ new/doc/latex/fei/referencias.bib 2019-10-09 23:56:12.000000000 +0200
@@ -1,3 +1,18 @@
+@Book{shakespeare1885tragedy,
+ title={Tragedy of Hamlet, prince of Denmark},
+ author={Shakespeare, William},
+ year={1885},
+ publisher={SR Winchell \& Company}
+}
+
+@Unpublished{knuth77,
+ title={Notes on the van Emde Boas construction of priority deques: an instructive use of recursion},
+ author={Knuth, Donald Ervin},
+ year={1977},
+ month=mar,
+ note={Classroom notes}
+}
+
@Book{art1,
title = {The Art of Computer Programming: Fundamental algorithms},
author = {Donald Knuth},
@@ -15,9 +30,22 @@
year = 2012,
publisher = {OR Books},
shorttitle = {Cypherpunks},
- address = {New York ; London}
+}@Book{Kernighan1988,
+ author = {Brian W. Kernighan and Dennis M. Ritchie},
+ title = {The C Programming Language},
+ year = {1988},
+ date = {1988-03-22},
+ publisher = {Microsoft Press},
+ isbn = {0131103628},
+ pagetotal = {274},
+ url = {https://www.ebook.de/de/product/3237142/brian_w_kernighan_dennis_m_ritchie_the_c_programming_language.html},
+ urldate = {2016-02-24},
+ ean = {9780131103627},
+ file = {:Kernighan1988 - The C Programming Language.pdf:},
+ groups = {Unfiled},
+ keywords = {classics,programming},
+ timestamp = {2019-01-17},
}
-
@Book{clarke19932001,
title = {2001, a Space Odyssey},
author = {Arthur Charles Clarke and Kubrick, Stanley},
@@ -125,14 +153,6 @@
publisher = {Macmillan}
}
-@Book{kernighan1988,
- title = {The {C} programming language},
- author = {Kernighan, Brian W. and Ritchie, Dennis M. and Ejeklint, Per},
- year = 1988,
- publisher = {Prentice-Hall Englewood Cliffs},
- volume = 2
-}
-
@Book{kurzweil2013,
title = {How to create a mind: the secret of human thought revealed},
author = {Kurzweil, Ray},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fei.doc.tlpobj new/tlpkg/tlpobj/fei.doc.tlpobj
--- old/tlpkg/tlpobj/fei.doc.tlpobj 2019-02-28 03:36:46.000000000 +0100
+++ new/tlpkg/tlpobj/fei.doc.tlpobj 2020-03-09 00:28:39.000000000 +0100
@@ -1,9 +1,9 @@
name fei.doc
category Package
-revision 49439
+revision 54178
shortdesc doc files of fei
relocated 1
-docfiles size=84
+docfiles size=125
RELOC/doc/latex/fei/README
RELOC/doc/latex/fei/README.txt
RELOC/doc/latex/fei/fei-template-sublist.tex
++++++ fei.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fei/fei.cls new/tex/latex/fei/fei.cls
--- old/tex/latex/fei/fei.cls 2018-12-17 22:31:12.000000000 +0100
+++ new/tex/latex/fei/fei.cls 2020-03-08 22:42:17.000000000 +0100
@@ -14,11 +14,13 @@
%% See http://www.latex-project.org/lppl.txt
%% -----------------------------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{fei}[2018/12/17 4.3.1 Modelo da FEI]
+\ProvidesClass{fei}[2020/03/03 4.8 Modelo da FEI]
-\DeclareOption{xindy}{
-\PassOptionsToPackage{\CurrentOption}{imakeidx}
-\PassOptionsToPackage{\CurrentOption}{glossaries-extra}
+\DeclareOption{draft}{
+\PassOptionsToClass{\CurrentOption}{memoir}
+}
+\DeclareOption{final}{
+\PassOptionsToClass{\CurrentOption}{memoir}
}
\newif\ifglossaries
@@ -31,27 +33,39 @@
\glossariestrue
\PassOptionsToPackage{\CurrentOption}{glossaries-extra}
}
+\DeclareOption{record}{
+\glossariestrue
+\PassOptionsToPackage{\CurrentOption}{glossaries-extra}
+}
\newif\ifsublist
\sublistfalse
\DeclareOption{sublist}{\sublisttrue}
-\newif\ifrascunho
-\rascunhofalse
-\DeclareOption{rascunho}{\rascunhotrue}
+\newif\ifdeposito
+\depositofalse
+\DeclareOption{deposito}{\depositotrue}
\newif\ifarial
\DeclareOption{arial}{\arialtrue}
\DeclareOption{times}{\arialfalse}
+\newif\ifnumeric
+\numericfalse
+\DeclareOption{numeric}{\numerictrue}
+
\newif\ifoneside
\DeclareOption{oneside}{\onesidetrue}
\DeclareOption{twoside}{\onesidefalse}
\DeclareOption{algo-as-figure}{\PassOptionsToPackage{figure}{algorithm2e}}%
+\newif\ifpdfa
+\pdfatrue
+\DeclareOption{nopdfa}{\pdfafalse}
+
-\PassOptionsToClass{a4paper}{memoir}
+\PassOptionsToClass{a4paper,12pt}{memoir}
\ExecuteOptions{oneside,times}
@@ -220,6 +234,22 @@
\renewcommand*{\cftmapaaftersnum}{\hfill--\hfill}
\setfloatlocations{mapa}{hbtp} % configurando posicionamento padr^^c3^^a3o
+\newcommand{\diagramaname}{Diagrama}
+\newfloat[chapter]{diagrama}{lof}{\diagramaname}
+\newlistentry{diagrama}{lof}{0}
+\counterwithout{diagrama}{chapter}
+\renewcommand{\cftdiagramaname}{\diagramaname\space}
+\renewcommand*{\cftdiagramaaftersnum}{\hfill--\hfill}
+\setfloatlocations{diagrama}{hbtp} % configurando posicionamento padr^^c3^^a3o
+
+\newcommand{\fluxogramaname}{Fluxograma}
+\newfloat[chapter]{fluxograma}{lof}{\fluxogramaname}
+\newlistentry{fluxograma}{lof}{0}
+\counterwithout{fluxograma}{chapter}
+\renewcommand{\cftfluxogramaname}{\fluxogramaname\space}
+\renewcommand*{\cftfluxogramaaftersnum}{\hfill--\hfill}
+\setfloatlocations{fluxograma}{hbtp} % configurando posicionamento padr^^c3^^a3o
+
\newcommand{\organogramaname}{Organograma}
\newfloat[chapter]{organograma}{lof}{\organogramaname}
\newlistentry{organograma}{lof}{0}
@@ -267,10 +297,10 @@
\@startsection{part}{-1}{0pt}{\baselineskip}{\baselineskip}{\cleardoublepage\fontsize{12pt}{14.4pt}\centering\bfseries\MakeUppercase}}
\renewcommand{\chapter}{\cleardoublepage\pagestyle{plain}%
-\@startsection{chapter}{0}{0pt}{1pt}{1pt}{\fontsize{12pt}{14.4pt}\bfseries\MakeUppercase}}
+\@startsection{chapter}{0}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\bfseries}}
\renewcommand{\section}{%
-\@startsection{section}{1}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\MakeUppercase}}
+\@startsection{section}{1}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}}}
\renewcommand{\subsection}{%
\@startsection{subsection}{2}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\bfseries}}
@@ -354,7 +384,10 @@
\textbf{\MakeUppercase{\@title}}\ifthenelse{\isundefined{\@subtitulo}}{}{: \@subtitulo}
\vfill
\begin{flushright}
-\begin{minipage}{0.55\textwidth}}{\end{minipage}{}
+\begin{minipage}{\textwidth - 8cm}
+\normalsize
+\begin{SingleSpace}
+}{\end{SingleSpace}\end{minipage}{}
\end{flushright}
\vfill
\@cidade\\[0.5em]
@@ -366,10 +399,10 @@
\RequirePackage{pdfpages}
\RequirePackage{ifthen}
\newcommand{\folhadeaprovacao}{
-\ifrascunho
-\thispagestyle{empty}\mbox{}\vfill\begin{center}\begin{Huge}Folha de aprova\c{c}\~{a}o\end{Huge}\vfill\end{center}\cleardoublepage
-\else
+\ifdeposito
\includepdf{ata.pdf}\cleardoublepage
+\else
+\thispagestyle{empty}\mbox{}\vfill\begin{center}\begin{Huge}Folha de aprova\c{c}\~{a}o\end{Huge}\vfill\end{center}\cleardoublepage
\fi
}
@@ -378,10 +411,10 @@
\else
\addtocounter{page}{-1}
\fi
-\ifrascunho
-\thispagestyle{empty}\mbox{}\vfill\begin{center}\begin{Huge}Ficha catalogr\'{a}fica\end{Huge}\vfill\end{center}\cleardoublepage
-\else
+\ifdeposito
\includepdf{ficha.pdf}\cleardoublepage
+\else
+\thispagestyle{empty}\mbox{}\vfill\begin{center}\begin{Huge}Ficha catalogr\'{a}fica\end{Huge}\vfill\end{center}\cleardoublepage
\fi
}
@@ -411,12 +444,12 @@
\end{flushright}
}
-\newcommand{\epigrafe}[2]{
-\cleardoublepage
-\thispagestyle{empty}
-\vspace*{\fill}
+\newenvironment{epigrafe}{\cleardoublepage\pagestyle{empty}\vspace*{\fill}}{\pagestyle{plain}}
+
+\newcommand{\epig}[2]{
+\vspace{2\baselineskip}
\begin{flushright}
-\begin{minipage}[t][0.5\textheight][c]{0.5\textwidth}
+\begin{minipage}[t]{0.5\textwidth}
``{#1}''
\begin{flushright}
#2
@@ -424,14 +457,13 @@
\end{minipage}
\end{flushright}
}
-
\newenvironment{resumo}{\part*{Resumo}\pagestyle{empty}}{\cleardoublepage\pagestyle{plain}\setlength{\parindent}{1.25cm}}
\renewenvironment{abstract}{\selectlanguage{english}\part*{Abstract}\pagestyle{empty}\setlength{\parindent}{1.25cm}}{\cleardoublepage\pagestyle{plain}\selectlanguage{brazil}}
\newenvironment{agradecimentos}{\part*{Agradecimentos}\pagestyle{empty}}{\cleardoublepage\pagestyle{plain}}
-\RequirePackage{imakeidx}
+\RequirePackage[xindy]{imakeidx}
\indexsetup{level=\part*}
\addto\captionsbrazil{%
\renewcommand{\indexname}{\'Indice}%
@@ -444,13 +476,21 @@
\oldprintindex%
}%
+\ifpdfa
+\RequirePackage[a-1b]{pdfx}
+\else
+\RequirePackage{hyperref}
+\fi
-
-\RequirePackage[pdftex,pdfborder={0 0 0},colorlinks={false}]{hyperref}
+\hypersetup{%
+pdftex,%
+pdfborder={0 0 0},%
+colorlinks={false}%
+}
\ifglossaries
\ifsublist
-\RequirePackage[nomain,nonumberlist,section=part]{glossaries-extra}
+\RequirePackage[xindy,nomain,nonumberlist,section=part]{glossaries-extra}
\setglossarystyle{alttree}
\glssetwidest[0]{}
\glssetwidest[1]{aaaaaaaaaaaa}
@@ -458,7 +498,7 @@
\renewcommand*{\glossarypreamble}{\thispagestyle{empty}\pagestyle{empty}\vspace*{-2\baselineskip}}
\else
-\RequirePackage[nomain,nonumberlist,section=part,nogroupskip]{glossaries-extra}
+\RequirePackage[xindy,nomain,nonumberlist,section=part,nogroupskip]{glossaries-extra}
\newglossarystyle{mylong}{%
\setglossarystyle{long}% base this style on the long style
@@ -522,12 +562,19 @@
}%
}%
+
+\ifnumeric
+\RequirePackage[backend=biber,
+safeinputenc=true,
+uniquelist=false,
+style=abnt-numeric]{biblatex}
+\else
\RequirePackage[backend=biber,
safeinputenc=true,
uniquelist=false,
-isbn=false,
-doi=false,
style=abnt]{biblatex}
+\fi
+
\setlength{\bibitemsep}{1.0\baselineskip}
\DefineBibliographyStrings{brazil}{%
@@ -555,21 +602,22 @@
\newcommand*{\citefloat}[1]{\textcite*{#1}}
\renewenvironment{quote}
-{\begin{SingleSpace}\list{}{%
-\fontsize{10pt}{1em}%
-\leftmargin=4cm}%
-\item\relax\ignorespaces}
-{\endlist\end{SingleSpace}}
+{\begin{flushright}
+\begin{minipage}{\textwidth - 4cm}
+\fontsize{10pt}{1em}
+\begin{SingleSpace}
+}{\end{SingleSpace}\end{minipage}{}
+\end{flushright}}
\renewenvironment{quotation}
-{\begin{SingleSpace}\list{}{%
-\fontsize{10pt}{1em}%
-\leftmargin=2cm \rightmargin=2cm%
-\listparindent .5cm \itemindent}%
-\item\relax}
-{\endlist\end{SingleSpace}}
+{\begin{center}
+\begin{minipage}{\textwidth - 4cm}
+\fontsize{10pt}{1em}
+\begin{SingleSpace}\setlength{\parindent}{1cm}
+}{\end{SingleSpace}\end{minipage}{}
+\end{center}}
%%
-%% Copyright (C) 2017 by Douglas De Rizzo Meneghetti
+%% Copyright (C) 2019 by Douglas De Rizzo Meneghetti
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License (LPPL), either
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fei.tlpobj new/tlpkg/tlpobj/fei.tlpobj
--- old/tlpkg/tlpobj/fei.tlpobj 2019-02-28 03:36:46.000000000 +0100
+++ new/tlpkg/tlpobj/fei.tlpobj 2020-03-09 00:28:40.000000000 +0100
@@ -1,6 +1,6 @@
name fei
category Package
-revision 49439
+revision 54178
shortdesc Class for academic works at FEI University Center -- Brazil
relocated 1
longdesc fei is a class created by graduate students and LaTeX
@@ -22,7 +22,6 @@
catalogue-contact-repository http://github.com/douglasrizzo/Classe-Latex-FEI/
catalogue-contact-support https://groups.google.com/forum/#!forum/grupo-latex-fei
catalogue-ctan /macros/latex/contrib/fei
-catalogue-date 2018-12-17 19:50:28 +0100
catalogue-license lppl1.3c
-catalogue-topics dissertation class
-catalogue-version 4.3.1
+catalogue-topics dissertation class portuguese-br
+catalogue-version 4.8
++++++ fibeamer.doc.tar.xz ++++++
Binary files old/doc/latex/fibeamer/fibeamer.pdf and new/doc/latex/fibeamer/fibeamer.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/econ.pdf and new/doc/latex/fibeamer/guide/mu/econ.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/fi.pdf and new/doc/latex/fibeamer/guide/mu/fi.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/fsps.pdf and new/doc/latex/fibeamer/guide/mu/fsps.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/fss.pdf and new/doc/latex/fibeamer/guide/mu/fss.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/law.pdf and new/doc/latex/fibeamer/guide/mu/law.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/med.pdf and new/doc/latex/fibeamer/guide/mu/med.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/ped.pdf and new/doc/latex/fibeamer/guide/mu/ped.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/phil.pdf and new/doc/latex/fibeamer/guide/mu/phil.pdf differ
Binary files old/doc/latex/fibeamer/guide/mu/sci.pdf and new/doc/latex/fibeamer/guide/mu/sci.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fibeamer.doc.tlpobj new/tlpkg/tlpobj/fibeamer.doc.tlpobj
--- old/tlpkg/tlpobj/fibeamer.doc.tlpobj 2019-02-28 03:36:54.000000000 +0100
+++ new/tlpkg/tlpobj/fibeamer.doc.tlpobj 2019-12-17 01:54:57.000000000 +0100
@@ -1,9 +1,9 @@
name fibeamer.doc
category Package
-revision 44239
+revision 53146
shortdesc doc files of fibeamer
relocated 1
-docfiles size=806
+docfiles size=1074
RELOC/doc/latex/fibeamer/fibeamer.pdf
RELOC/doc/latex/fibeamer/guide/mu/econ.pdf
RELOC/doc/latex/fibeamer/guide/mu/fi.pdf
++++++ fibeamer.tar.xz ++++++
++++ 9127 lines of diff (skipped)
++++++ filecontents.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontents/README new/doc/latex/filecontents/README
--- old/doc/latex/filecontents/README 2018-05-31 23:50:06.000000000 +0200
+++ new/doc/latex/filecontents/README 2019-09-21 23:51:43.000000000 +0200
@@ -36,7 +36,7 @@
Copyright and license
---------------------
-Copyright (C) 2018 Scott Pakin, scott+fc@pakin.org
+Copyright (C) 2011-2019 Scott Pakin, scott+fc@pakin.org
This package may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
Binary files old/doc/latex/filecontents/filecontents.pdf and new/doc/latex/filecontents/filecontents.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/filecontents.doc.tlpobj new/tlpkg/tlpobj/filecontents.doc.tlpobj
--- old/tlpkg/tlpobj/filecontents.doc.tlpobj 2019-02-28 03:36:58.000000000 +0100
+++ new/tlpkg/tlpobj/filecontents.doc.tlpobj 2019-09-22 01:55:47.000000000 +0200
@@ -1,8 +1,8 @@
name filecontents.doc
category Package
-revision 47890
+revision 52142
shortdesc doc files of filecontents
relocated 1
-docfiles size=31
+docfiles size=33
RELOC/doc/latex/filecontents/README
RELOC/doc/latex/filecontents/filecontents.pdf
++++++ filecontents.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filecontents/filecontents.sty new/tex/latex/filecontents/filecontents.sty
--- old/tex/latex/filecontents/filecontents.sty 2018-05-31 23:50:06.000000000 +0200
+++ new/tex/latex/filecontents/filecontents.sty 2019-09-21 23:51:43.000000000 +0200
@@ -8,8 +8,8 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2018 Scott Pakin
-%% -------------------------------------------------------
+%% Copyright (C) 2011-2019 Scott Pakin
+%% --------------------------------------------------------
%%
%% This package may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c of this
@@ -23,13 +23,13 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{filecontents}
- [2018/05/30 v1.4 Create an external file from within a LaTeX document]
+ [2019/09/20 v1.5 Create an external file from within a LaTeX document]
\begingroup%
\catcode`\*=11 %
\catcode`\^^M\active%
\catcode`\^^L\active\let^^L\relax%
\catcode`\^^I\active%
-\gdef\filec@ntents#1{%
+\gdef\filec@ntents@old@kernel#1{%
\openin\@inputcheck#1 %
\ifeof\@inputcheck%
\@latex@warning@no@line%
@@ -90,10 +90,19 @@
\catcode`\^^M\active%
\edef^^M##1^^M{%
\noexpand\reserved@b##1\E\E\relax}}%
-\endgroup%
+\endgroup
\def\fc@no@preamblecmds#1\do\filecontents#2\do\filec@ntents#3\relax{%
\gdef\@preamblecmds{#1#3}}
-\expandafter\fc@no@preamblecmds\@preamblecmds\relax
+\@ifundefined{filec@ntents@opt}{%
+ \let\filec@ntents=\filec@ntents@old@kernel
+ \expandafter\fc@no@preamblecmds\@preamblecmds\relax
+}{%
+ \PackageWarningNoLine{filecontents}{%
+ This package is obsolete. Disabling it and\MessageBreak
+ passing control to the filecontents environment\MessageBreak
+ defined by the LaTeX kernel%
+ }%
+}
\endinput
%%
%% End of file `filecontents.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/filecontents.tlpobj new/tlpkg/tlpobj/filecontents.tlpobj
--- old/tlpkg/tlpobj/filecontents.tlpobj 2019-02-28 03:36:58.000000000 +0100
+++ new/tlpkg/tlpobj/filecontents.tlpobj 2019-09-22 01:55:47.000000000 +0200
@@ -1,7 +1,7 @@
name filecontents
category Package
-revision 47890
-shortdesc Extended filecontents and filecontents* environments
+revision 52142
+shortdesc Create an external file from within a LaTeX document
relocated 1
longdesc LaTeX2e's filecontents and filecontents* environments enable a
longdesc LaTeX source file to generate external files as it runs through
@@ -10,11 +10,18 @@
longdesc can only be used in the preamble of a document. The
longdesc filecontents package removes these limitations, letting you
longdesc overwrite existing files and letting you use
-longdesc filecontents/filecontents* anywhere.
+longdesc filecontents/filecontents* anywhere. As of September 2019 the
+longdesc author tells us: "This package is no longer necessary due to
+longdesc its functionality having moved into recent LaTeX kernels. It's
+longdesc probably better not to move the package to obsolete because
+longdesc users may need it to rebuild old documents. Version 1.5
+longdesc provides full functionality when run with an older kernel but
+longdesc issues a warning message and disables itself when run with a
+longdesc newer kernel."
runfiles size=1
RELOC/tex/latex/filecontents/filecontents.sty
catalogue-ctan /macros/latex/contrib/filecontents
-catalogue-date 2018-05-31 12:59:15 +0200
+catalogue-date 2019-09-21 10:56:20 +0200
catalogue-license lppl1.3c
catalogue-topics file-mgmt
-catalogue-version 1.4
+catalogue-version 1.5
++++++ filecontentsdef.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/INSTALL new/doc/latex/filecontentsdef/INSTALL
--- old/doc/latex/filecontentsdef/INSTALL 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/filecontentsdef/INSTALL 2019-09-29 23:13:57.000000000 +0200
@@ -0,0 +1,37 @@
+ Source: filecontentsdef.dtx (v1.5 2019/09/29)
+ Author: Jean-Francois Burnol
+ Info: filecontents + macro + verbatim
+ License: LPPL 1.3c
+ Copyright (C) 2016-2019 Jean-Francois Burnol.
+ <jfbu at free dot fr>
+
+
+
+INSTALLATION
+
+
+Use your installation manager.
+
+Else, for manual installation:
+
+- To extract the package and at the same time produce the
+ documentation, execute latex thrice on filecontentsdef.dtx then
+ dvipdfmx on the dvi file.
+
+ To customize the PDF documentation (paper size, etc...): execute
+ etex once on filecontentsdef.dtx then follow instructions given
+ inside the extracted file filecontentsdef.tex.
+
+- To extract the package but not necessarily build the documentation:
+ run etex on filecontentsdef.dtx.
+
+Files should then be moved to appropriate locations:
+
+ filecontentsdef.sty -> TDS:tex/latex/filecontentsdef/
+ filecontentsdef.dtx -> TDS:source/latex/filecontentsdef/
+ filecontentsdef.pdf -> TDS:doc/latex/filecontentsdef/
+ README.md -> TDS:doc/latex/filecontentsdef/
+ INSTALL.md -> TDS:doc/latex/filecontentsdef/
+
+You can also place filecontentsdef.sty directly within the directory of
+the project using it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/INSTALL.md new/doc/latex/filecontentsdef/INSTALL.md
--- old/doc/latex/filecontentsdef/INSTALL.md 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/filecontentsdef/INSTALL.md 2019-09-29 23:13:57.000000000 +0200
@@ -0,0 +1,37 @@
+<!-- -->
+
+ Source: filecontentsdef.dtx (v1.5 2019/09/29)
+ Author: Jean-Francois Burnol
+ Info: filecontents + macro + verbatim
+ License: LPPL 1.3c
+ Copyright (C) 2016-2019 Jean-Francois Burnol.
+ <jfbu at free dot fr>
+
+INSTALLATION
+============
+
+Use your installation manager.
+
+Else, for manual installation:
+
+- To extract the package and at the same time produce the documentation,
+ execute latex thrice on `filecontentsdef.dtx` then `dvipdfmx` on the
+ `dvi` file.
+
+ To customize the PDF documentation (paper size, etc...): execute `etex`
+ once on `filecontentsdef.dtx` then follow instructions given inside the
+ extracted file `filecontentsdef.tex`.
+
+- To extract the package but not necessarily build the documentation:
+ run `etex` on `filecontentsdef.dtx`.
+
+Files should then be moved to appropriate locations:
+
+ filecontentsdef.sty -> TDS:tex/latex/filecontentsdef/
+ filecontentsdef.dtx -> TDS:source/latex/filecontentsdef/
+ filecontentsdef.pdf -> TDS:doc/latex/filecontentsdef/
+ README.md -> TDS:doc/latex/filecontentsdef/
+ INSTALL.md -> TDS:doc/latex/filecontentsdef/
+
+You can also place `filecontentsdef.sty` directly within the directory
+of the project using it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/README.md new/doc/latex/filecontentsdef/README.md
--- old/doc/latex/filecontentsdef/README.md 2016-09-20 23:18:47.000000000 +0200
+++ new/doc/latex/filecontentsdef/README.md 2019-09-29 23:13:57.000000000 +0200
@@ -1,51 +1,84 @@
<!-- -->
- Source: filecontentsdef.dtx (v1.2 2016/09/19)
+ Source: filecontentsdef.dtx (v1.5 2019/09/29)
Author: Jean-Francois Burnol
Info: filecontents + macro + verbatim
License: LPPL 1.3c
- Copyright (C) 2016 Jean-Francois Burnol.
+ Copyright (C) 2016-2019 Jean-Francois Burnol.
<jfbu at free dot fr>
ABSTRACT
========
-This lightweight LaTeX2e package provides two environments called
-`filecontentsdef` and `filecontentshere`. They are derived from the
-LaTeX `filecontents` environment as extended by Scott Pakin's
-[filecontents] [1] package. In addition to the file creation they
-either store the (verbatim) contents in a macro (`filecontentsdef`)
-or typeset them (verbatim) on the spot (`filecontentshere`).
-
-I developed this to display TeX code verbatim in documentation and
-simultaneously produce during the LaTeX run the corresponding files
-in order to embed them in the PDF as _file attachment annotations_
-(via the services of Scott Pakin's further package [attachfile] [2].)
+This lightweight LaTeX2e package provides an environment `filecontentsdef`
+which is like the `filecontents` environment of Scott Pakin's
+[filecontents] [1] package but in addition to the file creation stores the
+(verbatim) contents into a macro given as an additional argument (either as a
+control sequence or as a name).
+
+Displaying verbatim these contents is possible via `\filecontentsprint`,
+and executing them (if they represent LaTeX code) via `\filecontentsexec`.
+
+A variant environment `filecontentsdefmacro` stores the contents into a
+macro, but skips the save-to-a-file part.
[1]: http://www.ctan.org/pkg/filecontents "filecontents package"
-[2]: http://www.ctan.org/pkg/attachfile "attachfile package"
-INSTALLATION
-============
+CHANGE LOG
+==========
+
+v1.5 \[2019/09/29\]
+-------------------
+
+- `\filecontentsexec` does not forcefully reset `\newlinechar`
+ to its LaTeX default after execution.
-To extract the package (.sty) run etex on the dtx file. To produce
-the PDF documentation, either:
+- `\FCD@` as prefix for internal non public macros.
-1. latex (twice) filecontentsdef.dtx, then dvips, then ps2pdf
-2. or pdflatex (twice),
-3. or latex (twice) then dvipdfmx
+- drop usage of the legacy LaTeX mechanism which issued a warning
+ in case of a form feed or horizontal tabulation character in the
+ parsed contents.
-This will also extract automatically the style file.
+- make handling of the tabulation and form feed characters
+ customizable.
+
+- treat especially the case when the `\end{filecontents...}`
+ is not on a line of its own.
+
+- add `filecontentsdefstarred` (et al.) as alias for
+ `filecontentsdef*` (et al.) for easying up encapsulation in
+ wrapping environments.
+
+- breaking change: `filecontentsdef` and `filecontentsdefmacro`
+ define a macro obeying the local scope. Use `filecontentsgdef`,
+ resp. `filecontentsgdefmacro` for definitions with global scope.
+
+- make the name of the environment used by `\filecontentsprint`
+ customizable (it defaults to `verbatim`) and allow to pass options
+ to it; has been tested with `fancyvrb` and `minted`.
+
+- add `\filecontentsprintviascan` which allows to use verbatim-like
+ environment such as `listings` which are incompatible with
+ `\filecontentsprint`.
+
+v1.4 \[2019/04/20\]
+-------------------
-Installation:
+- backport 2018/04/01 LaTeX release change to filecontents environment
+ (`^^L` and `^^I` definitions).
- filecontentsdef.sty -> TDS:tex/latex/filecontentsdef/filecontentsdef.sty
- filecontentsdef.dtx -> TDS:source/latex/filecontentsdef/filecontentsdef.dtx
- filecontentsdef.pdf -> TDS:doc/latex/filecontentsdef/filecontentsdef.pdf
+- add `filecontentsdefmacro` environment.
- README.md -> TDS:doc/latex/filecontentsdef/README.md
+- extend `filecontentsdef` and `filecontentsdefmacro` environments as
+ well as `\filecontentsprint` and `\filecontentsexec` macros to accept
+ indifferently either a control sequence or a name as argument.
-The other files may be discarded.
+- refactor documentation, explain how to define wrapper environments.
+
+v1.2 \[2016/09/19\]
+-------------------
+
+Initial version.
LICENSE
=======
@@ -68,13 +101,5 @@
- Jean-Francois Burnol `<jfbu at free dot fr>`
This Work consists of the main source file filecontentsdef.dtx and
-the derived files filecontentsdef.sty, filecontentsdef.ins,
-filecontentsdef.pdf, filecontentsdef.dvi, README.md.
-
-CHANGE LOG
-==========
-
-v1.2 \[2016/09/19\]
--------------------
-
-Initial version.
+its derived files filecontentsdef.sty, filecontentsdef.pdf,
+filecontentsdef.dvi, README.md, INSTALL.md, README, INSTALL.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/filecontentsdef-ex1.tex new/doc/latex/filecontentsdef/filecontentsdef-ex1.tex
--- old/doc/latex/filecontentsdef/filecontentsdef-ex1.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/filecontentsdef/filecontentsdef-ex1.tex 2019-05-03 00:39:39.000000000 +0200
@@ -0,0 +1,2 @@
+ Prove that \[x^n+y^n=z^n\] is not solvable in positive integers if $n$ is at
+ most $-3$.\par
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/filecontentsdef-ex2.tex new/doc/latex/filecontentsdef/filecontentsdef-ex2.tex
--- old/doc/latex/filecontentsdef/filecontentsdef-ex2.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/filecontentsdef/filecontentsdef-ex2.tex 2019-05-03 00:39:39.000000000 +0200
@@ -0,0 +1 @@
+ Refute the existence of black holes in less than 140 characters.\par
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/filecontentsdef-ex3.tex new/doc/latex/filecontentsdef/filecontentsdef-ex3.tex
--- old/doc/latex/filecontentsdef/filecontentsdef-ex3.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/filecontentsdef/filecontentsdef-ex3.tex 2019-05-03 00:39:39.000000000 +0200
@@ -0,0 +1,4 @@
+ \def\NSA{NSA}%
+ Prove that factorization is easily done via probabilistic algorithms and
+ advance evidence from knowledge of the names of its employees in the
+ seventies that the \NSA\ has known that for 40 years.\par
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/filecontentsdef-tab.test new/doc/latex/filecontentsdef/filecontentsdef-tab.test
--- old/doc/latex/filecontentsdef/filecontentsdef-tab.test 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/filecontentsdef/filecontentsdef-tab.test 2019-09-29 23:13:57.000000000 +0200
@@ -0,0 +1,5 @@
+%% LaTeX2e file `filecontentsdef-tab.test'
+%% generated by the `filecontentshere' environment
+%% from source `filecontentsdef' on 2019/09/29.
+%%
+Here is a tab and then three in a row .
Binary files old/doc/latex/filecontentsdef/filecontentsdef.pdf and new/doc/latex/filecontentsdef/filecontentsdef.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/filecontentsdef.test new/doc/latex/filecontentsdef/filecontentsdef.test
--- old/doc/latex/filecontentsdef/filecontentsdef.test 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/filecontentsdef/filecontentsdef.test 2019-09-29 23:13:57.000000000 +0200
@@ -0,0 +1,6 @@
+ \begin{framed}
+ \noindent
+ We have coded this in \LaTeX: both
+ $E=mc^2$ (input as \verb|$E=mc^2$|)
+ and $E=h\nu$ owe much to \textsc{Albert Einstein}.
+ \end{framed}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filecontentsdef/filecontentsdef.tex new/doc/latex/filecontentsdef/filecontentsdef.tex
--- old/doc/latex/filecontentsdef/filecontentsdef.tex 2016-09-20 23:18:47.000000000 +0200
+++ new/doc/latex/filecontentsdef/filecontentsdef.tex 2019-09-29 23:13:57.000000000 +0200
@@ -1,8 +1,8 @@
%%
%% Package: filecontentsdef
-%% Version: 1.2 (2016/09/19)
+%% Version: 1.5 (2019/09/29)
%% License: LPPL 1.3c
-%% Copyright (C) 2016 Jean-Francois Burnol <jfbu at free dot fr>
+%% Copyright (C) 2016-2019 Jean-Francois Burnol <jfbu at free dot fr>
%%
\chardef\Withdvipdfmx 1 % replace 1 by 0 for using pdflatex
\chardef\NoSourceCode 0 % replace 0 by 1 for the doc *without* the source code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/filecontentsdef.doc.tlpobj new/tlpkg/tlpobj/filecontentsdef.doc.tlpobj
--- old/tlpkg/tlpobj/filecontentsdef.doc.tlpobj 2019-02-28 03:36:58.000000000 +0100
+++ new/tlpkg/tlpobj/filecontentsdef.doc.tlpobj 2019-09-30 01:54:37.000000000 +0200
@@ -1,9 +1,16 @@
name filecontentsdef.doc
category Package
-revision 42107
+revision 52208
shortdesc doc files of filecontentsdef
relocated 1
-docfiles size=20
+docfiles size=41
+ RELOC/doc/latex/filecontentsdef/INSTALL
+ RELOC/doc/latex/filecontentsdef/INSTALL.md
RELOC/doc/latex/filecontentsdef/README.md
+ RELOC/doc/latex/filecontentsdef/filecontentsdef-ex1.tex
+ RELOC/doc/latex/filecontentsdef/filecontentsdef-ex2.tex
+ RELOC/doc/latex/filecontentsdef/filecontentsdef-ex3.tex
+ RELOC/doc/latex/filecontentsdef/filecontentsdef-tab.test
RELOC/doc/latex/filecontentsdef/filecontentsdef.pdf
+ RELOC/doc/latex/filecontentsdef/filecontentsdef.test
RELOC/doc/latex/filecontentsdef/filecontentsdef.tex
++++++ filecontentsdef.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filecontentsdef/filecontentsdef.sty new/tex/latex/filecontentsdef/filecontentsdef.sty
--- old/tex/latex/filecontentsdef/filecontentsdef.sty 2016-09-20 23:18:47.000000000 +0200
+++ new/tex/latex/filecontentsdef/filecontentsdef.sty 2019-09-29 23:13:57.000000000 +0200
@@ -23,19 +23,26 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{filecontentsdef}
- [2016/09/19 v1.2 filecontents + macro + verbatim (JFB)]
+ [2019/09/29 v1.5 filecontents + macro + verbatim (JFB)]
%%
%% Package: filecontentsdef
-%% Version: 1.2 (2016/09/19)
+%% Version: 1.5 (2019/09/29)
%% License: LPPL 1.3c
-%% Copyright (C) 2016 Jean-Francois Burnol <jfbu at free dot fr>
+%% Copyright (C) 2016-2019 Jean-Francois Burnol <jfbu at free dot fr>
%%
+\let\FCD@global\global
\begingroup
\catcode`\^^M\active%
\catcode`\^^L\active\let^^L\relax%
\catcode`\^^I\active%
-\gdef\filec@ntentsdef#1#2{%
- \let#2\@empty%
+\gdef\FCD@main#1#2{%
+ \def\FCD@defmacro%
+ {\toks@\expandafter{#2}%
+ \edef\x{\endgroup\def\noexpand#2{\the\toks@}%
+ \begingroup\def\noexpand\@currenvir{\@currenvir}}%
+ \x}%
+ \FCD@global\let#2\@empty%
+ \if@filesw%
\openin\@inputcheck#1 %
\ifeof\@inputcheck%
\@latex@warning@no@line%
@@ -45,11 +52,11 @@
{Overwriting file `\@currdir#1'}%
\fi%
\closein\@inputcheck%
- \chardef\reserved@c15 %
- \ch@ck7\reserved@c\write%
- \immediate\openout\reserved@c#1\relax%
+ \chardef\FCD@reserved@c15 %
+ \ch@ck7\FCD@reserved@c\write%
+ \immediate\openout\FCD@reserved@c#1\relax%
\if@tempswa%
- \immediate\write\reserved@c{%
+ \immediate\write\FCD@reserved@c{%
\@percentchar\@percentchar\space%
\expandafter\@gobble\string\LaTeX2e file `#1'^^J%
\@percentchar\@percentchar\space generated by the %
@@ -58,6 +65,7 @@
\number\year/\two@digits\month/\two@digits\day.^^J%
\@percentchar\@percentchar}%
\fi%
+ \fi%
\let\do\@makeother\dospecials%
\count@=128\relax%
\loop%
@@ -71,24 +79,32 @@
\ifnum\count@<\@cclvi%
\repeat%
\let^^L\relax%
- \edef\E{\@backslashchar end\string{\@currenvir\string}}%
- \edef\reserved@b{\def\noexpand\reserved@b####1\E####2\E####3\relax}%
- \reserved@b{%
+ \edef\FCD@E{\@backslashchar end\string{\@currenvir\string}}%
+ \edef\FCD@reserved@b{\def\noexpand\FCD@reserved@b####1\FCD@E####2\FCD@E####3\relax}%
+ \FCD@reserved@b{%
\ifx\relax##3\relax%
- \immediate\write\reserved@c{##1}%
+ \if@filesw%
+ \let^^L\FCDformfeedtofile%
+ \let^^I\FCDtabtofile%
+ \immediate\write\FCD@reserved@c{##1}%
+ \fi%
\toks@\expandafter{#2}%
- {\def^^L{\noexpand^^M\noexpand^^M}\lowercase{\let^^I~}%
- \xdef#2{\the\toks@##1\noexpand^^M}}%
+ \let^^L\FCDformfeedtomacro%
+ \let^^I\FCDtabtomacro%
+ \FCD@global\edef#2{\the\toks@##1\noexpand^^M}%
\else%
\edef^^M{\noexpand\end{\@currenvir}}%
\ifx\relax##1\relax%
\else%
- \@latex@warning{Writing text `##1' before %
- \string\end{\@currenvir}\MessageBreak as last line of #1}%
- \immediate\write\reserved@c{##1}%
+ \if@filesw%
+ \let^^L\FCDformfeedtofile%
+ \let^^I\FCDtabtofile%
+ \immediate\write\FCD@reserved@c{##1}%
+ \fi%
\toks@\expandafter{#2}%
- {\def^^L{\noexpand^^M\noexpand^^M}\lowercase{\let^^I~}%
- \xdef#2{\the\toks@##1\noexpand^^M}}%
+ \let^^L\FCDformfeedtomacro%
+ \let^^I\FCDtabtomacro%
+ \FCD@global\edef#2{\the\toks@##1\noexpand\empty\noexpand^^M}%
\fi%
\ifx\relax##2\relax%
\else%
@@ -98,39 +114,81 @@
\fi%
^^M}%
\catcode`\^^L\active%
- \let\L\@undefined%
- \def^^L{\@ifundefined L^^J^^J^^J}%
\catcode`\^^I\active%
- \let\I\@undefined%
- \def^^I{\@ifundefined I\space\space}%
\catcode`\^^M\active%
- \edef^^M##1^^M{\noexpand\reserved@b##1\E\E\relax}%
+ \edef^^M##1^^M{\noexpand\FCD@reserved@b##1\FCD@E\FCD@E\relax}%
\catcode32\active\lccode`~32 \lowercase{\def~{\noexpand~}}%
}%
-\endgroup
+\gdef\FCDformfeedtofile{^^J^^J}%
+\gdef\FCDformfeedtomacro{\noexpand^^M\noexpand^^M}%
+\gdef\FCDtabtofile{ }%
+\catcode32\active\gdef\FCDtabtomacro{\noexpand }%
+\endgroup%
+\long\def\FCD@get@aux#1\FCD@get@aux#2{#2}%
+\def\FCD@get#1#2%
+{%
+ \def\FCD@tempa{#1}\def\FCD@tempb{{#2}}%
+ \expandafter\FCD@get@aux\@gobbletwo#2\FCD@get@aux
+ \@thirdofthree
+ \FCD@get@aux
+ {\ifcat\relax\noexpand#2\expandafter\@gobble\else\expandafter\@firstofone\fi}%
+ {\edef\FCD@tempb{{\expandafter\noexpand\csname#2\endcsname}}}%
+ \expandafter\FCD@tempa\FCD@tempb
+}%
\begingroup
\catcode`\*=11
-\gdef\filecontentsdef {\@tempswatrue\filec@ntentsdef}%
-\gdef\filecontentsdef*{\@tempswafalse\filec@ntentsdef}%
-\global\let\endfilecontentsdef \endfilecontents
-\global\let\endfilecontentsdef*\endfilecontents
-\gdef\filecontentshere #1{\@tempswatrue
- \filec@ntentsdef{#1}\filecontentsheremacro}%
-\gdef\filecontentshere*#1{\@tempswafalse
- \filec@ntentsdef{#1}\filecontentsheremacro}%
-\gdef\endfilecontentshere{\endfilecontentsdef\aftergroup\filecontents@verbatim}%
+\gdef\filecontentsdef #1{\let\FCD@global\@empty
+ \@tempswatrue\FCD@get{\FCD@main{#1}}}%
+\gdef\filecontentsdef*#1{\let\FCD@global\@empty
+ \@tempswafalse\FCD@get{\FCD@main{#1}}}%
+\global\let\filecontentsdefstarred\filecontentsdef*
+\gdef\filecontentsgdef #1{\@tempswatrue\FCD@get{\FCD@main{#1}}}%
+\gdef\filecontentsgdef*#1{\@tempswafalse\FCD@get{\FCD@main{#1}}}%
+\global\let\filecontentsgdefstarred\filecontentsgdef*
+\gdef\endfilecontentsdef{\immediate\closeout\FCD@reserved@c\FCD@defmacro}%
+\global\let\endfilecontentsdef*\endfilecontentsdef
+\global\let\endfilecontentsdefstarred\endfilecontentsdef
+\gdef\endfilecontentsgdef{\immediate\closeout\FCD@reserved@c}%
+\global\let\endfilecontentsgdef*\endfilecontentsgdef
+\global\let\endfilecontentsgdefstarred\endfilecontentsgdef
+\gdef\filecontentsdefmacro{\let\FCD@global\@empty
+ \@fileswfalse\FCD@get{\FCD@main{}}}%
+\gdef\endfilecontentsdefmacro{\FCD@defmacro}%
+\gdef\filecontentsgdefmacro{\@fileswfalse\FCD@get{\FCD@main{}}}%
+\global\let\endfilecontentsgdefmacro\relax
+\gdef\filecontentshere #1{\let\FCD@global\@empty
+ \@tempswatrue\FCD@main{#1}\filecontentsheremacro}%
+\gdef\filecontentshere*#1{\let\FCD@global\@empty
+ \@tempswafalse\FCD@main{#1}\filecontentsheremacro}%
+\global\let\filecontentsherestarred\filecontentshere*
+\gdef\endfilecontentshere{\endfilecontentsdef\aftergroup\FCD@here}%
\global\let\endfilecontentshere*\endfilecontentshere
+\global\let\endfilecontentsherestarred\endfilecontentshere
+\gdef\filecontentsprint{\FCD@get\FCD@print}%
\catcode`\^^M\active%
-\gdef\filecontentsprint #1{\let\filecontentsprint@EOL^^M\let^^M\relax%
- \begingroup\toks@\expandafter{#1}\edef\x{\endgroup%
- \noexpand\begin{verbatim}^^M%
- \the\toks@\@backslashchar end\string{verbatim\string}}\x^^M%
- \filecontentsprint@resetEOL}%
-\gdef\filecontentsprint@resetEOL{\let^^M\filecontentsprint@EOL}%
+\gdef\FCD@print #1{\let\FCD@print@EOL^^M\let^^M\relax%
+ \begingroup\toks@\expandafter{#1}%
+ \edef\x{\endgroup%
+ \noexpand\begin{\FCDprintenvname}\FCDprintenvoptions^^M%
+ \the\toks@\@backslashchar end\string{\FCDprintenvname\string}}%
+ \x^^M%
+ \FCD@print@resetEOL}%
+\gdef\FCD@print@resetEOL{\let^^M\FCD@print@EOL}%
+\gdef\filecontentsprintviascan{\FCD@get\FCD@printviascan}%
+\gdef\FCD@printviascan#1{%
+ \toks@\expandafter{#1}%
+ \edef\FCD@envwithcontents{%
+ \noexpand\begin{\FCDprintenvname}\FCDprintenvoptions\noexpand^^M%
+ \the\toks@\@backslashchar end{\FCDprintenvname}\noexpand^^M}%
+ \FCD@exec\FCD@envwithcontents}%
\endgroup
-\def\filecontents@verbatim {\filecontentsprint\filecontentsheremacro}%
-\def\filecontentsexec #1{\newlinechar13
- \scantokens\expandafter{#1}\newlinechar10\relax}%
+\def\FCDprintenvname{verbatim}%
+\let\FCDprintenvoptions\@empty
+\def\FCD@here{\FCD@print\filecontentsheremacro}%
+\def\filecontentsexec{\FCD@get\FCD@exec}%
+\def\FCD@exec #1{\edef\FCD@newlinechar{\the\newlinechar}%
+ \newlinechar13
+ \scantokens\expandafter{#1}\newlinechar\FCD@newlinechar\relax}%
\endinput
%%
%% End of file `filecontentsdef.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/filecontentsdef.tlpobj new/tlpkg/tlpobj/filecontentsdef.tlpobj
--- old/tlpkg/tlpobj/filecontentsdef.tlpobj 2019-02-28 03:36:59.000000000 +0100
+++ new/tlpkg/tlpobj/filecontentsdef.tlpobj 2019-09-30 01:54:37.000000000 +0200
@@ -1,6 +1,6 @@
name filecontentsdef
category Package
-revision 42107
+revision 52208
shortdesc filecontents + macro + verbatim
relocated 1
longdesc The package provides two environments called filecontentsdef
@@ -18,7 +18,7 @@
RELOC/tex/latex/filecontentsdef/filecontentsdef.sty
catalogue-also filecontents
catalogue-ctan /macros/latex/contrib/filecontentsdef
-catalogue-date 2016-09-23 11:17:19 +0200
+catalogue-date 2019-09-29 13:17:23 +0200
catalogue-license lppl1.3
catalogue-topics file-mgmt
-catalogue-version 1.2
+catalogue-version 1.5
++++++ filehook.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/filehook/README new/doc/latex/filehook/README
--- old/doc/latex/filehook/README 2011-09-06 01:29:01.000000000 +0200
+++ new/doc/latex/filehook/README 2020-02-03 23:31:24.000000000 +0100
@@ -1,7 +1,6 @@
LaTeX package 'filehook'
~~~~~~~~~~~~~~~~~~~~~~~~
-Copyright (c) 2010-2011 by Martin Scharrer
-WWW: http://latex.scharrer-online.de/
+Copyright (c) 2010-2020 by Martin Scharrer
Code repository: https://bitbucket.org/martin_scharrer/filehook
Provides several file hooks for files read by \input, \include and \InputIfFileExists.
Binary files old/doc/latex/filehook/filehook.pdf and new/doc/latex/filehook/filehook.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/filehook.doc.tlpobj new/tlpkg/tlpobj/filehook.doc.tlpobj
--- old/tlpkg/tlpobj/filehook.doc.tlpobj 2019-02-28 03:36:59.000000000 +0100
+++ new/tlpkg/tlpobj/filehook.doc.tlpobj 2020-02-04 01:55:01.000000000 +0100
@@ -1,8 +1,8 @@
name filehook.doc
category Package
-revision 24280
+revision 53655
shortdesc doc files of filehook
relocated 1
-docfiles size=65
+docfiles size=66
RELOC/doc/latex/filehook/README
RELOC/doc/latex/filehook/filehook.pdf
++++++ filehook.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filehook/filehook-fink.sty new/tex/latex/filehook/filehook-fink.sty
--- old/tex/latex/filehook/filehook-fink.sty 2011-09-06 01:29:01.000000000 +0200
+++ new/tex/latex/filehook/filehook-fink.sty 2020-02-03 23:31:24.000000000 +0100
@@ -1,25 +1,24 @@
-%% Copyright (c) 2010-2011 by Martin Scharrer
-%% -----------------------------------------------------------------
-%%
+%% Copyright (C) 2011-2020 by Martin Scharrer
+%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
+%% 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.3c or later is part of all distributions of LaTeX
-%% version 2008/05/04 or later.
+%% 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 Martin Scharrer.
%%
-%% This work consists of the files filehook.dtx, filehook.ins
-%% and the derived file filehook.sty.
+%% This work consists of the files filehook.dtx and filehook.ins
+%% and the derived files filehook.sty, filehook-fink.sty,
+%% filehook-listings.sty, filehook-memoir.sty, filehook-scrlfile.sty
+%% and pgf-filehook.sty
%%
-%% $Id: filehook.dtx 2504 2011-07-18 17:22:50Z martin $
-\ProvidesPackage{filehook-fink}[2011/01/03 v0.1 filehook compatibility code for fink package]
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{filehook-fink}[011/01/03 v0.1 filehook compatibility code for fink package]
\RequirePackage{filehook}
\RequirePackage{currfile}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filehook/filehook-listings.sty new/tex/latex/filehook/filehook-listings.sty
--- old/tex/latex/filehook/filehook-listings.sty 2011-09-06 01:29:01.000000000 +0200
+++ new/tex/latex/filehook/filehook-listings.sty 2020-02-03 23:31:24.000000000 +0100
@@ -1,24 +1,23 @@
-%% Copyright (c) 2010-2011 by Martin Scharrer
-%% -----------------------------------------------------------------
-%%
+%% Copyright (C) 2011-2020 by Martin Scharrer
+%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
+%% 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.3c or later is part of all distributions of LaTeX
-%% version 2008/05/04 or later.
+%% 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 Martin Scharrer.
%%
-%% This work consists of the files filehook.dtx, filehook.ins
-%% and the derived file filehook.sty.
+%% This work consists of the files filehook.dtx and filehook.ins
+%% and the derived files filehook.sty, filehook-fink.sty,
+%% filehook-listings.sty, filehook-memoir.sty, filehook-scrlfile.sty
+%% and pgf-filehook.sty
%%
-%% $Id: filehook.dtx 2504 2011-07-18 17:22:50Z martin $
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{filehook-listings}[2011/01/02 v0.1 Patch for listings to avoid hooks for verbatim input files]
\begingroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filehook/filehook-memoir.sty new/tex/latex/filehook/filehook-memoir.sty
--- old/tex/latex/filehook/filehook-memoir.sty 2011-09-06 01:29:01.000000000 +0200
+++ new/tex/latex/filehook/filehook-memoir.sty 2020-02-03 23:31:24.000000000 +0100
@@ -1,51 +1,67 @@
-%% Copyright (c) 2010-2011 by Martin Scharrer
-%% -----------------------------------------------------------------
-%%
+%% Copyright (C) 2011-2020 by Martin Scharrer
+%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
+%% 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.3c or later is part of all distributions of LaTeX
-%% version 2008/05/04 or later.
+%% 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 Martin Scharrer.
%%
-%% This work consists of the files filehook.dtx, filehook.ins
-%% and the derived file filehook.sty.
+%% This work consists of the files filehook.dtx and filehook.ins
+%% and the derived files filehook.sty, filehook-fink.sty,
+%% filehook-listings.sty, filehook-memoir.sty, filehook-scrlfile.sty
+%% and pgf-filehook.sty
%%
-%% $Id: filehook.dtx 2504 2011-07-18 17:22:50Z martin $
-\ProvidesPackage{filehook-memoir}[2011/01/03 v0.1 filehook patch for memoir class]
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{filehook-memoir}[2020/02/02 v0.2 filehook patch for memoir class]
\RequirePackage{filehook}
\begingroup
-\long\def\memoir@InputIfFileExists#1#2{%
+\ifcsname InputIfFileExists\space\endcsname
+ \DeclareRobustCommand \memoir@InputIfFileExists[2]{%
+ \IfFileExists{#1}%
+ {%
+ \expandafter\@swaptwoargs\expandafter
+ {\@filef@und\m@matendf{#1}\killm@matf{#1}}{%
+ #2\@addtofilelist{#1}\m@matbeginf{#1}\@@input%
+ }%
+ }%
+ }
+\else
+ % Old definition
+\renewcommand{\memoir@InputIfFileExists}[2]{%
\IfFileExists{#1}%
{#2\@addtofilelist{#1}\m@matbeginf{#1}%
\@@input \@filef@und
\m@matendf{#1}%
\killm@matf{#1}}%
}
-\ifcase
- \ifx\InputIfFileExists\latex@InputIfFileExists 0\else
- \ifx\InputIfFileExists\memoir@InputIfFileExists 0\else
- 1%
- \fi\fi
-\relax
- \global\let\filehook@InputIfFileExists\filehook@default@InputIfFileExists
- \global\let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists
- \global\let\InputIfFileExists\filehook@InputIfFileExists
+\fi
+\@tempswafalse
+\filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}%
+ {\@tempswatrue}%
+ {%
+ \filehook@cmp{InputIfFileExists}{memoir@InputIfFileExists}%
+ {\@tempswatrue}%
+ {}%
+ }%
+
+\if@tempswa
+ \filehook@glet{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}%
+ \filehook@glet{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}%
+ \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}%
\filehook@appendwarg\filehook@atbegin{\m@matbeginf{#1}}%
\filehook@prefixwarg\filehook@atend{\m@matendf{#1}\killm@matf{#1}}%
\PackageInfo{filehook}{Detected 'memoir' class: the memoir hooks will be moved to the `At...OfFiles' hooks}
\else
\iffilehook@force
- \global\let\filehook@InputIfFileExists\filehook@default@InputIfFileExists
- \global\let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists
- \global\let\InputIfFileExists\filehook@InputIfFileExists
+ \filehook@glet{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}%
+ \filehook@glet{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}%
+ \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}%
\PackageWarning{filehook}{Detected 'memoir' class with unknown definition of \string\InputIfFileExists.^^J%
The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}%
\else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filehook/filehook-scrlfile.sty new/tex/latex/filehook/filehook-scrlfile.sty
--- old/tex/latex/filehook/filehook-scrlfile.sty 2011-09-06 01:29:01.000000000 +0200
+++ new/tex/latex/filehook/filehook-scrlfile.sty 2020-02-03 23:31:24.000000000 +0100
@@ -1,28 +1,30 @@
-%% Copyright (c) 2010-2011 by Martin Scharrer
-%% -----------------------------------------------------------------
-%%
+%% Copyright (C) 2011-2020 by Martin Scharrer
+%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
+%% 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.3c or later is part of all distributions of LaTeX
-%% version 2008/05/04 or later.
+%% 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 Martin Scharrer.
%%
-%% This work consists of the files filehook.dtx, filehook.ins
-%% and the derived file filehook.sty.
+%% This work consists of the files filehook.dtx and filehook.ins
+%% and the derived files filehook.sty, filehook-fink.sty,
+%% filehook-listings.sty, filehook-memoir.sty, filehook-scrlfile.sty
+%% and pgf-filehook.sty
%%
-%% $Id: filehook.dtx 2504 2011-07-18 17:22:50Z martin $
-\ProvidesPackage{filehook-scrlfile}[2011/01/03 v0.1 filehook patch for scrlfile package]
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{filehook-scrlfile}[2020/02/02 v0.2 filehook patch for scrlfile package]
\RequirePackage{filehook}
\begingroup
-\long\def\scrlfile@InputIfFileExists#1#2{%
+\expandafter\def\expandafter\sclrfile@InputIfFileExists\expandafter{%
+ \expandafter\protect\csname InputIfFileExists\space\endcsname
+}
+\expandafter\long\expandafter\def\csname scrlfile@InputIfFileExists\space\endcsname#1#2{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1-@alias\endcsname\relax
\expandafter\@secondoftwo
@@ -32,16 +34,13 @@
\fi
{%
\expandafter\InputIfFileExists\expandafter{\csname
- #1-@alias\endcsname}{#2}%
+#1-@alias\endcsname}{#2}%
}%
{\IfFileExists{#1}{%
- \scr@load@hook{before}{#1}%
- #2\@addtofilelist{#1}%
- \@@input \@filef@und
- \scr@load@hook{after}{#1}%
- }}%
+ \expandafter\scr@input@withhook\expandafter{\@filef@und}{#1}{#2}}%
+ }%
}
-\long\def\filehook@scrlfile@InputIfFileExists#1#2{%
+\DeclareRobustCommand\filehook@scrlfile@InputIfFileExists[2]{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1-@alias\endcsname\relax
\expandafter\@secondoftwo
@@ -66,8 +65,9 @@
\scr@load@hook{after}{#1}%
}}%
}
-\long\def\filehook@@scrlfile@InputIfFileExists#1#2{%
- \let\InputIfFileExists\filehook@InputIfFileExists
+\filehook@glet{filehook@scrlfile@InputIfFileExists}{filehook@scrlfile@InputIfFileExists}%
+\DeclareRobustCommand\filehook@@scrlfile@InputIfFileExists[2]{%
+ \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1-@alias\endcsname\relax
\expandafter\@secondoftwo
@@ -90,21 +90,26 @@
\scr@load@hook{after}{#1}%
}}%
}
-\ifcase
- \ifx\InputIfFileExists\latex@InputIfFileExists 0\else
- \ifx\InputIfFileExists\scrlfile@InputIfFileExists 0\else
- 1%
- \fi\fi
-\relax
- \global\let\filehook@InputIfFileExists\filehook@scrlfile@InputIfFileExists
- \global\let\filehook@@InputIfFileExists\filehook@@scrlfile@InputIfFileExists
- \global\let\InputIfFileExists\filehook@InputIfFileExists
+\filehook@glet{filehook@@scrlfile@InputIfFileExists}{filehook@@scrlfile@InputIfFileExists}%
+\@tempswafalse
+\filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}%
+ {\@tempswatrue}%
+ {%
+ \filehook@cmp{InputIfFileExists}{scrlfile@InputIfFileExists}%
+ {\@tempswatrue}%
+ {}%
+ }%
+
+\if@tempswa
+ \filehook@glet{filehook@InputIfFileExists}{filehook@scrlfile@InputIfFileExists}%
+ \filehook@glet{filehook@@InputIfFileExists}{filehook@@scrlfile@InputIfFileExists}%
+ \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}%
\PackageInfo{filehook}{Package 'scrlfile' detected and compensated for}%
\else
\iffilehook@force
- \global\let\filehook@InputIfFileExists\filehook@default@InputIfFileExists
- \global\let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists
- \global\let\InputIfFileExists\filehook@InputIfFileExists
+ \filehook@glet{filehook@InputIfFileExists}{filehook@scrlfile@InputIfFileExists}%
+ \filehook@glet{filehook@@InputIfFileExists}{filehook@@scrlfile@InputIfFileExists}%
+ \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}%
\PackageWarning{filehook}{Detected 'scrlfile' package with unknown definition of \string\InputIfFileExists.^^J%
The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}%
\else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filehook/filehook.sty new/tex/latex/filehook/filehook.sty
--- old/tex/latex/filehook/filehook.sty 2011-10-14 00:43:52.000000000 +0200
+++ new/tex/latex/filehook/filehook.sty 2020-02-03 23:31:24.000000000 +0100
@@ -1,30 +1,63 @@
-%% Copyright (c) 2010-2011 by Martin Scharrer
-%% -----------------------------------------------------------------
-%%
+%% Copyright (C) 2011-2020 by Martin Scharrer
+%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
+%% 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.3c or later is part of all distributions of LaTeX
-%% version 2008/05/04 or later.
+%% 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 Martin Scharrer.
%%
-%% This work consists of the files filehook.dtx, filehook.ins
-%% and the derived file filehook.sty.
+%% This work consists of the files filehook.dtx and filehook.ins
+%% and the derived files filehook.sty, filehook-fink.sty,
+%% filehook-listings.sty, filehook-memoir.sty, filehook-scrlfile.sty
+%% and pgf-filehook.sty
%%
-%% $Id: filehook.dtx 2504 2011-07-18 17:22:50Z martin $
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{filehook}
- [2011/10/12 v0.5d Hooks for input files]
+\ProvidesPackage{filehook}[%
+ 2020/02/03
+ v0.7
+ Hooks for input files]
\newif\iffilehook@force
\DeclareOption{force}{\filehook@forcetrue}
\ProcessOptions\relax
+\newif\iffilehook@newfmt
+\@ifl@t@r\fmtversion{2019/10/01}{\filehook@newfmttrue}{\filehook@newfmtfalse}
+\def\filehook@let#1#2{%
+ \expandafter\ifx\csname #2\space\endcsname\relax
+ \expandafter\let\csname #1\expandafter\endcsname\csname #2\endcsname
+ \else
+ \expandafter\def\csname #1\expandafter\endcsname\expandafter{\expandafter\protect\csname #1\space\endcsname}%
+ \expandafter\let\csname #1\space\expandafter\endcsname\csname #2\space\endcsname
+ \fi
+}
+\def\filehook@glet#1#2{%
+ \expandafter\ifx\csname #2\space\endcsname\relax
+ \expandafter\global\expandafter\let\csname #1\expandafter\endcsname\csname #2\endcsname
+ \else
+ \expandafter\global\expandafter\def\csname #1\expandafter\endcsname\expandafter{\expandafter\protect\csname #1\space\endcsname}%
+ \expandafter\global\expandafter\let\csname #1\space\expandafter\endcsname\csname #2\space\endcsname
+ \fi
+}
+\def\filehook@cmp#1#2{%
+ \expandafter\ifx\csname #2\space\endcsname\relax
+ \expandafter\ifx\csname #1\expandafter\endcsname\csname #2\endcsname
+ \expandafter\expandafter\expandafter\@firstoftwo
+ \else
+ \expandafter\expandafter\expandafter\@secondoftwo
+ \fi
+ \else
+ \expandafter\ifx\csname #1\space\expandafter\endcsname\csname #2\space\endcsname
+ \expandafter\expandafter\expandafter\@firstoftwo
+ \else
+ \expandafter\expandafter\expandafter\@secondoftwo
+ \fi
+ \fi
+}
\begingroup
\gdef\filehook@csuse#1{\ifcsname #1\endcsname\csname #1\expandafter\endcsname\fi}
\expandafter\ifx\csname csuse\endcsname\relax
@@ -36,7 +69,7 @@
\fi
\endgroup
\def\filehook@include@atbegin#1{%
- \let\InputIfFileExists\filehook@@InputIfFileExists
+ \filehook@let{InputIfFileExists}{filehook@@InputIfFileExists}%
\filehook@csuse{\filehook@include@atbegin@#1}%
\filehook@include@@atbegin
}
@@ -52,7 +85,7 @@
}
\def\filehook@include@@after{}
\def\filehook@input@atbegin#1{%
- \let\InputIfFileExists\filehook@@InputIfFileExists
+ \filehook@let{InputIfFileExists}{filehook@@InputIfFileExists}%
\filehook@csuse{\filehook@input@atbegin@\filehook@ensureext{#1}}%
\filehook@input@@atbegin
}
@@ -245,13 +278,24 @@
\expandafter\filehook@@ensuretex#1\empty.tex\empty\empty
}
\def\filehook@@ensuretex#1.tex\empty#2\empty{#1.tex}
+\iffilehook@newfmt
+\expandafter\def\expandafter\latex@InputIfFileExists\expandafter{%
+ \expandafter\protect\csname InputIfFileExists\space\endcsname
+}
+\expandafter\long\expandafter\def\csname latex@InputIfFileExists\space\endcsname#1#2{%
+ \IfFileExists{#1}%
+ {%
+ \expandafter\@swaptwoargs\expandafter
+ {\@filef@und}{#2\@addtofilelist{#1}\@@input}}}
+\else
\long\def\latex@InputIfFileExists#1#2{%
\IfFileExists{#1}%
{#2\@addtofilelist{#1}%
\@@input\@filef@und
}%
}
-\long\gdef\filehook@default@InputIfFileExists#1#2{%
+\fi
+\DeclareRobustCommand\filehook@default@InputIfFileExists[2]{%
\IfFileExists{#1}%
{\expandafter\filehook@swap
\expandafter{\@filef@und}%
@@ -263,8 +307,9 @@
\filehook@every@atend{#1}%
}%
}
-\long\gdef\filehook@@default@InputIfFileExists#1#2{%
- \let\InputIfFileExists\filehook@InputIfFileExists
+\filehook@glet{filehook@default@InputIfFileExists}{filehook@default@InputIfFileExists}%
+\DeclareRobustCommand\filehook@@default@InputIfFileExists[2]{%
+ \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}%
\IfFileExists{#1}%
{\expandafter\filehook@swap
\expandafter{\@filef@und}%
@@ -274,76 +319,9 @@
\filehook@atend{#1}%
}%
}
-\long\def\scrlfile@InputIfFileExists#1#2{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #1-@alias\endcsname\relax
- \expandafter\@secondoftwo
- \else
- \scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}%
- \expandafter\@firstoftwo
- \fi
- {%
- \expandafter\InputIfFileExists\expandafter{\csname
- #1-@alias\endcsname}{#2}%
- }%
- {\IfFileExists{#1}{%
- \scr@load@hook{before}{#1}%
- #2\@addtofilelist{#1}%
- \@@input \@filef@und
- \scr@load@hook{after}{#1}%
- }}%
-}
-\long\def\filehook@scrlfile@InputIfFileExists#1#2{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #1-@alias\endcsname\relax
- \expandafter\@secondoftwo
- \else
- \scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}%
- \expandafter\@firstoftwo
- \fi
- {%
- \expandafter\InputIfFileExists\expandafter{\csname
- #1-@alias\endcsname}{#2}%
- }%
- {\IfFileExists{#1}{%
- \expandafter\filehook@swap
- \expandafter{\@filef@und}%
- {\scr@load@hook{before}{#1}%
- #2\@addtofilelist{#1}%
- \filehook@every@atbegin{#1}%
- \filehook@atbegin{#1}%
- \@@input}%
- \filehook@atend{#1}%
- \filehook@every@atend{#1}%
- \scr@load@hook{after}{#1}%
- }}%
-}
-\long\def\filehook@@scrlfile@InputIfFileExists#1#2{%
- \let\InputIfFileExists\filehook@InputIfFileExists
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #1-@alias\endcsname\relax
- \expandafter\@secondoftwo
- \else
- \scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}%
- \expandafter\@firstoftwo
- \fi
- {%
- \expandafter\InputIfFileExists\expandafter{\csname
- #1-@alias\endcsname}{#2}%
- }%
- {\IfFileExists{#1}{%
- \expandafter\filehook@swap
- \expandafter{\@filef@und}%
- {\scr@load@hook{before}{#1}%
- #2\@addtofilelist{#1}%
- \filehook@atbegin{#1}%
- \@@input}%
- \filehook@atend{#1}%
- \scr@load@hook{after}{#1}%
- }}%
-}
-\AtBeginOfPackageFile*{scrlfile}{%
- \let\InputIfFileExists\latex@InputIfFileExists
+\filehook@glet{filehook@@default@InputIfFileExists}{filehook@@default@InputIfFileExists}%
+\AtBeginOfPackageFile{scrlfile}{%
+ \filehook@glet{InputIfFileExists}{latex@InputIfFileExists}%
}%
\AtEndOfPackageFile*{scrlfile}{%
\RequirePackage{filehook-scrlfile}%
@@ -351,46 +329,50 @@
\AtBeginOfPackageFile*{fink}{%
\RequirePackage{kvoptions}%
\begingroup
- \let\InputIfFileExists\latex@InputIfFileExists
+ \filehook@let{InputIfFileExists}{latex@InputIfFileExists}%
}%
\AtEndOfPackageFile*{fink}{%
\edef\@tempa{\noexpand\PassOptionsToPackage{mainext=\fnk@mainext,maindir=\fnk@maindir}{currfile}}%
\expandafter\endgroup\@tempa
\RequirePackage{filehook-fink}%
}%
-\AtBeginOfClassFile*{memoir}{%
- \let\filehook@@InputIfFileExists\latex@InputIfFileExists
- \let\InputIfFileExists\latex@InputIfFileExists
+\AtBeginOfClassFile{memoir}{%
+ \filehook@let{InputIfFileExists}{latex@InputIfFileExists}%
\let\@iinput\filehook@orig@@iinput
}%
\AtEndOfClassFile*{memoir}{%
\let\@iinput\filehook@@iinput
\RequirePackage{filehook-memoir}%
}%
-\ifcase
- \ifx\InputIfFileExists\filehook@InputIfFileExists 0\else
- \ifx\InputIfFileExists\latex@InputIfFileExists 1\else
- \iffilehook@force 1\else
- 9%
- \fi\fi\fi
-\relax% 0
-\or% 1
- \let\filehook@InputIfFileExists\filehook@default@InputIfFileExists
- \let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists
- \let\InputIfFileExists\filehook@InputIfFileExists
- \iffilehook@force
- \PackageWarning{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J%
- The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}%
- \fi
-\else
- \PackageError{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J%
- Use the 'force' option of 'filehook' to overwrite it.}{}%
-\fi
+\filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}%
+ {}% already set up
+ {%
+ \filehook@cmp{InputIfFileExists}{latex@InputIfFileExists}%
+ {%
+ \filehook@let{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}%
+ \filehook@let{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}%
+ \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}%
+ }%
+ {%
+ \iffilehook@force
+ \filehook@let{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}%
+ \filehook@let{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}%
+ \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}%
+ \PackageWarning{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J%
+ The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}%
+ \else
+ \PackageError{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J%
+ Use the 'force' option of 'filehook' to overwrite it.}{}%
+ \fi
+ }%
+ }%
\AtBeginDocument{%
- \ifx\InputIfFileExists\filehook@InputIfFileExists\else
+ % Check if definition got changed again. For the new LaTeX format we check again \InputIfFileExists<space>,
+ % for the old format to \InputIfFileExists directly.
+ \filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}{}{%
\PackageWarning{filehook}{Macro \string\InputIfFileExists\space got redefined after 'filehook' was loaded.^^J%
- Certain file hooks might now be dysfunctional!}
- \fi
+ Certain file hooks might now be dysfunctional!}%
+ }%
}
\endinput
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/filehook/pgf-filehook.sty new/tex/latex/filehook/pgf-filehook.sty
--- old/tex/latex/filehook/pgf-filehook.sty 2011-09-06 01:29:01.000000000 +0200
+++ new/tex/latex/filehook/pgf-filehook.sty 2019-08-19 22:57:51.000000000 +0200
@@ -1,24 +1,3 @@
-%% Copyright (c) 2010-2011 by Martin Scharrer
-%% -----------------------------------------------------------------
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% 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.3c or later is part of all distributions of LaTeX
-%% version 2008/05/04 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Martin Scharrer.
-%%
-%% This work consists of the files filehook.dtx, filehook.ins
-%% and the derived file filehook.sty.
-%%
-%% $Id: filehook.dtx 2504 2011-07-18 17:22:50Z martin $
\ProvidesPackage{pgf-filehook}[2010/01/07 v1.0 PGF keys for the filehook package]
\RequirePackage{filehook}
\RequirePackage{pgfkeys}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/filehook.tlpobj new/tlpkg/tlpobj/filehook.tlpobj
--- old/tlpkg/tlpobj/filehook.tlpobj 2019-02-28 03:36:59.000000000 +0100
+++ new/tlpkg/tlpobj/filehook.tlpobj 2020-02-04 01:55:01.000000000 +0100
@@ -1,23 +1,23 @@
name filehook
category Package
-revision 24280
+revision 53655
shortdesc Hooks for input files
relocated 1
longdesc The package provides several file hooks (AtBegin, AtEnd, ...)
longdesc for files read by \input, \include and \InputIfFileExists.
-longdesc General hooks for all such files (e.g. all \include'd ones) and
+longdesc General hooks for all such files (e.g. all \included ones) and
longdesc file specific hooks only used for named files are provided; two
longdesc hooks are provided for the end of \included files -- one
longdesc before, and one after the final \clearpage.
-runfiles size=9
+runfiles size=10
RELOC/tex/latex/filehook/filehook-fink.sty
RELOC/tex/latex/filehook/filehook-listings.sty
RELOC/tex/latex/filehook/filehook-memoir.sty
RELOC/tex/latex/filehook/filehook-scrlfile.sty
RELOC/tex/latex/filehook/filehook.sty
RELOC/tex/latex/filehook/pgf-filehook.sty
+catalogue-contact-bugs https://bitbucket.org/martin_scharrer/filehook/issues
catalogue-ctan /macros/latex/contrib/filehook
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl1.3
catalogue-topics macro-supp
-catalogue-version 0.5d
+catalogue-version 0.7
++++++ fira.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/fira/README new/doc/fonts/fira/README
--- old/doc/fonts/fira/README 2019-04-05 23:02:17.000000000 +0200
+++ new/doc/fonts/fira/README 2019-10-11 23:13:56.000000000 +0200
@@ -1,16 +1,16 @@
-This is the README for the fira package, version 4.3-2019-04-04.
+This is the README for the fira package, version 4.3-2019-10-10.
This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX
support for the Fira Sans family of fonts (version 4.3)
-and the Fira Mono family (version 3.2),
-designed by Erik Spiekermann and Ralph du Carrois of
-Carrois Type Design. Fira Sans is available in seventeen
-weights, but six of these are considered "experimental"; the
-remaining eleven weights (with corresponding italics) are
-supported with this package: Thin, UltraLight, ExtraLight,
-Light, Book, Regular, Medium, SemiBold, Bold, ExtraBold,
-Heavy. Fira Mono is available in three weights (regular, medium, bold);
-there are no italics.
+and the Fira Mono family (version 3.2), designed by Erik
+Spiekermann and Ralph du Carrois of Carrois Type Design.
+Fira Sans is available in seventeen weights, but six of
+these are considered "experimental"; the remaining eleven
+weights (with corresponding italics) are supported with
+this package: Thin, UltraLight, ExtraLight, Light, Book,
+Regular, Medium, SemiBold, Bold, ExtraBold, Heavy. Fira
+Mono is available in three weights (regular, medium, bold);
+artificially slanted oblique varints have been generated.
To install this package on a TDS-compliant TeX system
download the file "tex-archive"/install/fonts/fira.tds.zip
Binary files old/doc/fonts/fira/fira-samples.pdf and new/doc/fonts/fira/fira-samples.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/fira/fira-samples.tex new/doc/fonts/fira/fira-samples.tex
--- old/doc/fonts/fira/fira-samples.tex 2018-05-24 23:29:44.000000000 +0200
+++ new/doc/fonts/fira/fira-samples.tex 2019-06-04 23:14:17.000000000 +0200
@@ -10,6 +10,7 @@
\subsection*{Regular}
\lipsum[1]
+
\textit{\lipsum[2]}
\subsection*{Bold}
@@ -124,14 +125,24 @@
\lipsum[1]
+\subsection*{Oblique}
+
+\textsl{\lipsum[1]}
+
\subsection*{Bold}
-\ttfamily
\textbf{\lipsum[3]}
+\subsection*{Bold Oblique}
+
+\textbf{\textsl{\lipsum[3]}}
+
\subsection*{Medium}
{\firamonomedium\lipsum[8]}
+\subsection*{Medium Oblique}
+{\firamonomedium\textsl{\lipsum[8]}}
+
\subsection*{Default Numbers}
1234567890
@@ -155,4 +166,8 @@
A B G D E Z H J I K L M N X O P R S T U F Q Y W
}
+\subsection*{Mono Non-Ligatures}
+
+Officially broken off. Often offline, find me flowerless.
+
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fira.doc.tlpobj new/tlpkg/tlpobj/fira.doc.tlpobj
--- old/tlpkg/tlpobj/fira.doc.tlpobj 2019-04-06 23:32:41.000000000 +0200
+++ new/tlpkg/tlpobj/fira.doc.tlpobj 2020-03-24 01:57:40.000000000 +0100
@@ -1,9 +1,9 @@
name fira.doc
category Package
-revision 50781
+revision 54512
shortdesc doc files of fira
relocated 1
-docfiles size=323
+docfiles size=328
RELOC/doc/fonts/fira/Fira_4_3_Change_Log.pdf
RELOC/doc/fonts/fira/LICENSE
RELOC/doc/fonts/fira/README
++++++ fira.tar.xz ++++++
/work/SRC/openSUSE:Factory/texlive-specs-i/fira.tar.xz /work/SRC/openSUSE:Factory/.texlive-specs-i.new.3606/fira.tar.xz differ: char 26, line 1
++++++ firamath.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/firamath/README.md new/doc/fonts/firamath/README.md
--- old/doc/fonts/firamath/README.md 2018-10-26 22:47:42.000000000 +0200
+++ new/doc/fonts/firamath/README.md 2020-01-13 22:24:30.000000000 +0100
@@ -39,4 +39,4 @@
-----
-Copyright (C) 2018 by Xiangdong Zeng .
+Copyright (C) 2018–2020 by Xiangdong Zeng .
Binary files old/doc/fonts/firamath/firamath-demo.pdf and new/doc/fonts/firamath/firamath-demo.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/firamath/firamath-demo.tex new/doc/fonts/firamath/firamath-demo.tex
--- old/doc/fonts/firamath/firamath-demo.tex 2018-10-26 22:47:42.000000000 +0200
+++ new/doc/fonts/firamath/firamath-demo.tex 2020-01-13 22:24:30.000000000 +0100
@@ -1,5 +1,5 @@
\documentclass[aspectratio=169]{beamer}
-\usepackage{amsmath,unicode-math,physics,tensor}
+\usepackage{amsmath,unicode-math,physics,tensor,xeCJK,bookmark}
\useoutertheme{metropolis}
\useinnertheme{metropolis}
\usecolortheme{metropolis}
@@ -10,21 +10,35 @@
\setbeamerfont{date}{size=\small}
\setbeamertemplate{footline}{\vspace*{0.3cm}}
+\makeatletter
+% https://tex.stackexchange.com/q/66519
+\apptocmd{\beamer@@frametitle}{\only<1>{\bookmark[page=\the\c@page,level=3]{#1}}}{}{}
+
\unimathsetup{math-style=ISO, bold-style=ISO, mathrm=sym}
\setsansfont{FiraGO}[BoldFont=* SemiBold, Numbers=Monospaced]
-\setmathfont{Fira Math Regular}
+ { \setmathfont { FiraMath-##1.otf } [ version = ##1 ] }
+\cs_new:Npn \MultipleWeights #1
+ {
+ \seq_map_inline:Nn \c_@@_weight_seq
+ { \group_begin: \mathversion {##1} #1 \group_end: }
+ }
+\ExplSyntaxOff
+\makeatother
+
+\def\ii{\symrm{i}}
+\def\pp{\symrm{\pi}}
\title{Fira Math}
\subtitle{Sans-serif font with Unicode math support}
\author{Xiangdong Zeng}
-\date{2018/10/26\quad v0.3.1}
+\date{2020/01/13\quad v0.3.3}
\begin{document}
\maketitle
-\begin{frame}[noframenumbering]{General relativity}
+\begin{frame}{Basic examples (I)}
\begin{itemize}
\item Covariant derivative:
\[
@@ -34,8 +48,6 @@
\]
\item Einstein's field equations:
\[ G_{\mu\nu} \equiv R_{\mu\nu} - \frac{1}{2} R g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu} \]
- %\item Conservation of energy and momentum:
- % \[ \nabla_\beta T^{\alpha\beta} = \tensor{T}{^{\alpha\beta}_{;\,\beta}} = 0 \]
\item Schwarzschild metric:
\[
c^2 \dd{\tau}^2 = \qty(1-\frac{r_{\mathrm{s}}}{r}) \, c^2 \dd{t}^2
@@ -47,4 +59,66 @@
\end{itemize}
\end{frame}
+\begin{frame}{Basic examples (II)}
+\begin{itemize}
+ \item Case $n=1$
+ \small
+ \[
+ \int_0^{\frac{\pp}{2}}
+ \frac{\sqrt{\frac12 \sqrt{\frac{\ln^2\cos\theta}{\theta^2+\ln^2\cos\theta}} + \frac12}}%
+ {\fourthroot{\theta^2 + \ln^2\cos\theta}} \dd{\theta}
+ = \frac{\pp}{2\sqrt{\ln 2}}
+ \]
+ \item Generalization:
+ \small\vspace{1ex}
+ \[
+ \begin{cases}
+ \smash[t]{\displaystyle
+ R_n^- = \frac{2}{\pp} \int_0^{\pp/2} \qty(\theta^2+\ln^2\cos\theta)^{-2^{-n-1}}
+ \sqrt{\frac12+\frac12\sqrt{\frac12+\cdots+\frac12\sqrt{
+ \frac{\ln^2\cos\theta}{\theta^2+\ln^2\cos\theta}}}} \dd{\theta}
+ = (\ln 2)^{-2^{-n}}} \\[3ex]
+ \smash[b]{\displaystyle
+ R_n^+ = \frac{2}{\pp} \int_0^{\pp/2} \qty(\theta^2+\ln^2\cos\theta)^{2^{-n-1}}
+ \sqrt{\frac12+\frac12\sqrt{\frac12+\cdots+\frac12\sqrt{
+ \frac{\ln^2\cos\theta}{\theta^2+\ln^2\cos\theta}}}} \dd{\theta}
+ = (\ln 2)^{2^{-n}}}
+ \end{cases}
+ \]
+\end{itemize}
+\end{frame}
+
+\begin{frame}{Using with CJK fonts}
+\begin{itemize}
+ \item {\fontzhhans 【留数定理】全纯函数 $f$ 在若尔当曲线 $\gamma$ 上的积分为:}
+ \[
+ \oint_\gamma f(z) \dd{z}
+ = 2\pp\ii \sum_{k=1}^n \Res_{z=a_k} f(z).
+ \]
+ \item {\fontzhhant 【留數定理】全純函數 $f$ 在若爾當曲線 $\gamma$ 上的積分為:}
+ \[
+ \oint_\gamma f(z) \dd{z}
+ = 2\pp\ii \sum_{k=1}^n \Res_{z=a_k} f(z).
+ \]
+ \item {\fontja 【留数定理】ジョルダン曲線 $\gamma$ に沿う正則関数 $f$ の積分は、}
+ \[
+ \oint_\gamma f(z) \dd{z}
+ = 2\pp\ii \sum_{k=1}^n \Res_{z=a_k} f(z).
+ \]
+\end{itemize}
+\end{frame}
+
+\begin{frame}{Multiple weights (preview)}
+\centering
+\everymath{\displaystyle}
+\begin{tabular}{p{5cm}l}
+ \mathversion{Thin} $ \pdv{\alpha} \sin\alpha = \cos \alpha $ & \mathversion{Medium} $ \int \sin x \dd{x} = -\cos x + C_1 $ \\[12pt]
+ \mathversion{UltraLight} $ \pdv{\beta } \cos\beta = -\sin \beta $ & \mathversion{SemiBold} $ \int \cos y \dd{y} = \sin y + C_2 $ \\[12pt]
+ \mathversion{ExtraLight} $ \pdv{\gamma} \tan\gamma = \sec^2\gamma $ & \mathversion{Bold} $ \int \tan z \dd{z} = -\ln|\cos z \, | + C_3 $ \\[12pt]
+ \mathversion{Light} $ \pdv{\theta} \cot\theta = -\csc^2\theta $ & \mathversion{ExtraBold} $ \int \cot p \dd{p} = \ln|\sin p \, | + C_4 $ \\[12pt]
+ \mathversion{Book} $ \pdv{\phi } \sec\phi = \tan\phi \sec\phi $ & \mathversion{Heavy} $ \int \sec q \dd{q} = \ln|\sec q + \tan q \, | + C_5 $ \\[12pt]
+ \mathversion{Regular} $ \pdv{\zeta } \csc\zeta = -\cot\zeta\csc\zeta $ & \mathversion{Ultra} $ \int \csc r \dd{r} = -\ln|\csc r + \cot r \, | + C_6 $
+\end{tabular}
+\end{frame}
+
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/firamath/firamath-glyph-list.tex new/doc/fonts/firamath/firamath-glyph-list.tex
--- old/doc/fonts/firamath/firamath-glyph-list.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/firamath/firamath-glyph-list.tex 2020-01-13 22:24:30.000000000 +0100
@@ -0,0 +1,19 @@
+% Generated by ./scripts/glyph_list.py
+\seq_const_from_clist:Nn \c_@@_glyph_unicode_seq
+ {"0020,"0021,"0022,"0023,"0024,"0025,"0026,"0027,"0028,"0029,"002A,"002B,"002C,"002D,"002E,"002F,"0030,"0031,"0032,"0033,"0034,"0035,"0036,"0037,"0038,"0039,"003A,"003B,"003C,"003D,"003E,"003F,"0040,"0041,"0042,"0043,"0044,"0045,"0046,"0047,"0048,"0049,"004A,"004B,"004C,"004D,"004E,"004F,"0050,"0051,"0052,"0053,"0054,"0055,"0056,"0057,"0058,"0059,"005A,"005B,"005C,"005D,"005E,"005F,"0060,"0061,"0062,"0063,"0064,"0065,"0066,"0067,"0068,"0069,"006A,"006B,"006C,"006D,"006E,"006F,"0070,"0071,"0072,"0073,"0074,"0075,"0076,"0077,"0078,"0079,"007A,"007B,"007C,"007D,"007E,"00A0,"00A1,"00A2,"00A3,"00A4,"00A5,"00A6,"00A7,"00A8,"00A9,"00AA,"00AB,"00AC,"00AD,"00AE,"00AF,"00B0,"00B1,"00B2,"00B3,"00B4,"00B5,"00B6,"00B7,"00B8,"00B9,"00BA,"00BB,"00BC,"00BD,"00BE,"00BF,"00C0,"00C1,"00C2,"00C3,"00C4,"00C5,"00C6,"00C7,"00C8,"00C9,"00CA,"00CB,"00CC,"00CD,"00CE,"00CF,"00D0,"00D1,"00D2,"00D3,"00D4,"00D5,"00D6,"00D7,"00D8,"00D9,"00DA,"00DB,"00DC,"00DD,"00DE,"00DF,"00E0,"00E1,"00E2,"00E3,"00E4,"00E5,"00E6,"00E7,"00E8,"00E9,"00EA,"00EB,"00EC,"00ED,"00EE,"00EF,"00F0,"00F1,"00F2,"00F3,"00F4,"00F5,"00F6,"00F7,"00F8,"00F9,"00FA,"00FB,"00FC,"00FD,"00FE,"00FF,"0100,"0101,"0102,"0103,"0104,"0105,"0106,"0107,"010C,"010D,"010E,"010F,"0110,"0111,"0112,"0113,"0116,"0117,"0118,"0119,"011A,"011B,"011E,"011F,"0122,"0123,"012A,"012B,"012E,"012F,"0130,"0131,"0136,"0137,"0139,"013A,"013B,"013C,"013D,"013E,"0141,"0142,"0143,"0144,"0145,"0146,"0147,"0148,"014C,"014D,"0150,"0151,"0152,"0153,"0154,"0155,"0156,"0157,"0158,"0159,"015A,"015B,"015E,"015F,"0160,"0161,"0162,"0163,"0164,"0165,"016A,"016B,"016E,"016F,"0170,"0171,"0172,"0173,"0178,"0179,"017A,"017B,"017C,"017D,"017E,"0192,"0218,"0219,"021A,"021B,"0237,"0300,"0301,"0302,"0303,"0304,"0305,"0306,"0307,"0308,"0309,"030A,"030B,"030C,"030D,"030F,"0311,"0312,"0313,"0316,"0317,"0318,"0319,"031A,"031B,"031C,"031D,"031E,"031F,"0320,"0321,"0323,"0324,"0325,"0326,"0327,"0328,"0329,"032A,"032B,"032C,"032D,"032F,"0330,"0331,"0332,"0334,"0335,"0336,"0337,"0338,"0339,"033A,"033B,"033C,"033D,"0342,"0345,"035C,"0361,"037E,"0384,"0385,"0386,"0387,"0388,"0389,"038A,"038C,"038E,"038F,"0390,"0391,"0392,"0393,"0394,"0395,"0396,"0397,"0398,"0399,"039A,"039B,"039C,"039D,"039E,"039F,"03A0,"03A1,"03A3,"03A4,"03A5,"03A6,"03A7,"03A8,"03A9,"03AA,"03AB,"03AC,"03AD,"03AE,"03AF,"03B0,"03B1,"03B2,"03B3,"03B4,"03B5,"03B6,"03B7,"03B8,"03B9,"03BA,"03BB,"03BC,"03BD,"03BE,"03BF,"03C0,"03C1,"03C2,"03C3,"03C4,"03C5,"03C6,"03C7,"03C8,"03C9,"03CA,"03CB,"03CC,"03CD,"03CE,"03D0,"03D1,"03D2,"03D5,"03D6,"03D7,"03F0,"03F1,"03F2,"03F4,"03F5,"03F6,"0400,"0401,"0402,"0403,"0404,"0405,"0406,"0407,"0408,"0409,"040A,"040B,"040C,"040D,"040E,"040F,"0410,"0411,"0412,"0413,"0414,"0415,"0416,"0417,"0418,"0419,"041A,"041B,"041C,"041D,"041E,"041F,"0420,"0421,"0422,"0423,"0424,"0425,"0426,"0427,"0428,"0429,"042A,"042B,"042C,"042D,"042E,"042F,"0430,"0431,"0432,"0433,"0434,"0435,"0436,"0437,"0438,"0439,"043A,"043B,"043C,"043D,"043E,"043F,"0440,"0441,"0442,"0443,"0444,"0445,"0446,"0447,"0448,"0449,"044A,"044B,"044C,"044D,"044E,"044F,"0450,"0451,"0452,"0453,"0454,"0455,"0456,"0457,"0458,"0459,"045A,"045B,"045C,"045D,"045E,"045F,"0462,"0463,"0472,"0473,"0474,"0475,"0490,"0491,"2007,"2008,"200B,"200C,"200D,"200E,"200F,"2010,"2011,"2012,"2013,"2014,"2015,"2016,"2018,"2019,"201A,"201C,"201D,"201E,"2020,"2021,"2022,"2026,"2030,"2032,"2033,"2034,"2035,"2036,"2037,"2039,"203A,"203F,"2044,"2057,"20AC,"20B4,"20BA,"20BD,"20D0,"20D1,"20D2,"20D3,"20D6,"20D7,"20DB,"20DC,"20E1,"20E7,"20E8,"20E9,"20EC,"20ED,"20EE,"20EF,"20F0,"2102,"210A,"210D,"210E,"210F,"2113,"2115,"2116,"2119,"211A,"211D,"2122,"2124,"2126,"2127,"212A,"212B,"212E,"2135,"2136,"2137,"2138,"2140,"2153,"2154,"2155,"2156,"2157,"2158,"2159,"215A,"215B,"215C,"215D,"215E,"215F,"2190,"2191,"2192,"2193,"2194,"2195,"2196,"2197,"2198,"2199,"219A,"219B,"219C,"219D,"219E,"219F,"21A0,"21A1,"21A2,"21A3,"21A4,"21A5,"21A6,"21A7,"21A8,"21A9,"21AA,"21AB,"21AC,"21AD,"21AE,"21AF,"21B0,"21B1,"21B2,"21B3,"21B4,"21B5,"21B6,"21B7,"21B8,"21B9,"21BA,"21BB,"21BC,"21BD,"21BE,"21BF,"21C0,"21C1,"21C2,"21C3,"21C4,"21C5,"21C6,"21C7,"21C8,"21C9,"21CA,"21CB,"21CC,"21CD,"21CE,"21CF,"21D0,"21D1,"21D2,"21D3,"21D4,"21D5,"21D6,"21D7,"21D8,"21D9,"21DA,"21DB,"21DC,"21DD,"21DE,"21DF,"21E0,"21E1,"21E2,"21E3,"21E4,"21E5,"21E6,"21E7,"21E8,"21E9,"21EA,"21EB,"21EC,"21ED,"21EE,"21EF,"21F0,"21F1,"21F2,"21F3,"21F4,"21F5,"21F6,"21F7,"21F8,"21F9,"21FA,"21FB,"21FC,"21FD,"21FE,"21FF,"2200,"2201,"2202,"2203,"2204,"2205,"2206,"2207,"2208,"2209,"220A,"220B,"220C,"220D,"220E,"220F,"2210,"2211,"2212,"2213,"2214,"2215,"2217,"2218,"2219,"221A,"221B,"221C,"221D,"221E,"221F,"2220,"2221,"2222,"2223,"2224,"2225,"2226,"2227,"2228,"2229,"222A,"222B,"222C,"222D,"222E,"222F,"2230,"2234,"2235,"2236,"2237,"2238,"2239,"223A,"223B,"223C,"223D,"2240,"2241,"2242,"2243,"2244,"2245,"2246,"2247,"2248,"2249,"224A,"224B,"224C,"2250,"2251,"2252,"2253,"2254,"2255,"2260,"2261,"2262,"2263,"2264,"2265,"2266,"2267,"2268,"2269,"226A,"226B,"226E,"226F,"2270,"2271,"2272,"2273,"2274,"2275,"2276,"2277,"2278,"2279,"227A,"227B,"227C,"227D,"227E,"227F,"2280,"2281,"2282,"2283,"2284,"2285,"2286,"2287,"2288,"2289,"228A,"228B,"228C,"228D,"228E,"228F,"2290,"2291,"2292,"2293,"2294,"2295,"2296,"2297,"2298,"2299,"22C5,"22CD,"22CE,"22CF,"22D6,"22D7,"22D8,"22D9,"22DA,"22DB,"22DC,"22DD,"22DE,"22DF,"22E0,"22E1,"22E2,"22E3,"22E4,"22E5,"22E6,"22E7,"22E8,"22E9,"22EF,"2302,"2308,"2309,"230A,"230B,"2310,"239B,"239C,"239D,"239E,"239F,"23A0,"23A1,"23A2,"23A3,"23A4,"23A5,"23A6,"23A7,"23A8,"23A9,"23AA,"23AB,"23AC,"23AD,"23B4,"23B5,"23DC,"23DD,"23DE,"23DF,"2580,"2581,"2582,"2583,"2584,"2585,"2586,"2587,"2588,"2589,"258A,"258B,"258C,"258D,"258E,"258F,"2590,"2594,"2595,"2596,"2597,"2598,"2599,"259A,"259B,"259C,"259D,"259E,"259F,"25A0,"25A1,"25A2,"25A3,"25AA,"25AB,"25AC,"25AD,"25AE,"25AF,"25B2,"25B6,"25BA,"25BC,"25C0,"25C4,"25C6,"25C7,"25C9,"25CA,"25CB,"25CE,"25CF,"25D0,"25D1,"25D2,"25D3,"25D5,"25D6,"25D7,"25D9,"25DA,"25DB,"25DC,"25DD,"25DE,"25DF,"25E0,"25E1,"25E2,"25E3,"25E4,"25E5,"25E6,"25E7,"25E8,"25E9,"25EA,"25EB,"25EF,"25F0,"25F1,"25F2,"25F3,"25F4,"25F5,"25F6,"25F7,"2620,"2639,"263A,"263B,"263C,"2640,"2642,"2660,"2663,"2665,"2666,"266A,"266B,"26AA,"26AB,"26AC,"27C2,"27E8,"27E9,"27EA,"27EB,"27EE,"27EF,"27F0,"27F1,"27F2,"27F3,"27F4,"27F5,"27F6,"27F7,"27F8,"27F9,"27FA,"27FB,"27FC,"27FD,"27FE,"27FF,"2900,"2901,"2902,"2903,"2904,"2905,"2906,"2907,"2908,"2909,"290A,"290B,"2912,"2913,"2914,"2915,"2916,"2917,"2918,"2919,"291A,"291B,"291C,"2921,"2922,"2927,"2928,"2929,"292A,"292B,"292C,"292D,"292E,"292F,"2930,"2931,"2932,"294A,"294B,"294C,"294D,"294E,"294F,"2950,"2951,"2952,"2953,"2954,"2955,"2956,"2957,"2958,"2959,"295A,"295B,"295C,"295D,"295E,"295F,"2960,"2961,"2962,"2963,"2964,"2965,"2966,"2967,"2968,"2969,"296A,"296B,"296C,"296D,"296E,"296F,"2980,"2981,"299F,"29A0,"29A1,"29A2,"29A3,"29A6,"29A7,"29B0,"2A0C,"2A7D,"2A7E,"2B24,"2B30,"2B31,"2B32,"2B33,"2B34,"2B35,"2B36,"2B39,"2B3A,"2B3B,"2B3C,"2B3D,"2B45,"2B46,"2BFE,"FB00,"FB01,"FB02,"FB03,"FB04,"1D400,"1D401,"1D402,"1D403,"1D404,"1D405,"1D406,"1D407,"1D408,"1D409,"1D40A,"1D40B,"1D40C,"1D40D,"1D40E,"1D40F,"1D410,"1D411,"1D412,"1D413,"1D414,"1D415,"1D416,"1D417,"1D418,"1D419,"1D41A,"1D41B,"1D41C,"1D41D,"1D41E,"1D41F,"1D420,"1D421,"1D422,"1D423,"1D424,"1D425,"1D426,"1D427,"1D428,"1D429,"1D42A,"1D42B,"1D42C,"1D42D,"1D42E,"1D42F,"1D430,"1D431,"1D432,"1D433,"1D434,"1D435,"1D436,"1D437,"1D438,"1D439,"1D43A,"1D43B,"1D43C,"1D43D,"1D43E,"1D43F,"1D440,"1D441,"1D442,"1D443,"1D444,"1D445,"1D446,"1D447,"1D448,"1D449,"1D44A,"1D44B,"1D44C,"1D44D,"1D44E,"1D44F,"1D450,"1D451,"1D452,"1D453,"1D454,"1D456,"1D457,"1D458,"1D459,"1D45A,"1D45B,"1D45C,"1D45D,"1D45E,"1D45F,"1D460,"1D461,"1D462,"1D463,"1D464,"1D465,"1D466,"1D467,"1D468,"1D469,"1D46A,"1D46B,"1D46C,"1D46D,"1D46E,"1D46F,"1D470,"1D471,"1D472,"1D473,"1D474,"1D475,"1D476,"1D477,"1D478,"1D479,"1D47A,"1D47B,"1D47C,"1D47D,"1D47E,"1D47F,"1D480,"1D481,"1D482,"1D483,"1D484,"1D485,"1D486,"1D487,"1D488,"1D489,"1D48A,"1D48B,"1D48C,"1D48D,"1D48E,"1D48F,"1D490,"1D491,"1D492,"1D493,"1D494,"1D495,"1D496,"1D497,"1D498,"1D499,"1D49A,"1D49B,"1D538,"1D539,"1D53B,"1D53C,"1D53D,"1D53E,"1D540,"1D541,"1D542,"1D543,"1D544,"1D546,"1D54A,"1D54B,"1D54C,"1D54D,"1D54E,"1D54F,"1D550,"1D552,"1D553,"1D554,"1D555,"1D556,"1D557,"1D558,"1D559,"1D55A,"1D55B,"1D55C,"1D55D,"1D55E,"1D55F,"1D560,"1D561,"1D562,"1D563,"1D564,"1D565,"1D566,"1D567,"1D568,"1D569,"1D56A,"1D56B,"1D670,"1D671,"1D672,"1D673,"1D674,"1D675,"1D676,"1D677,"1D678,"1D679,"1D67A,"1D67B,"1D67C,"1D67D,"1D67E,"1D67F,"1D680,"1D681,"1D682,"1D683,"1D684,"1D685,"1D686,"1D687,"1D688,"1D689,"1D68A,"1D68B,"1D68C,"1D68D,"1D68E,"1D68F,"1D690,"1D691,"1D692,"1D693,"1D694,"1D695,"1D696,"1D697,"1D698,"1D699,"1D69A,"1D69B,"1D69C,"1D69D,"1D69E,"1D69F,"1D6A0,"1D6A1,"1D6A2,"1D6A3,"1D6A4,"1D6A5,"1D6A8,"1D6A9,"1D6AA,"1D6AB,"1D6AC,"1D6AD,"1D6AE,"1D6AF,"1D6B0,"1D6B1,"1D6B2,"1D6B3,"1D6B4,"1D6B5,"1D6B6,"1D6B7,"1D6B8,"1D6B9,"1D6BA,"1D6BB,"1D6BC,"1D6BD,"1D6BE,"1D6BF,"1D6C0,"1D6C1,"1D6C2,"1D6C3,"1D6C4,"1D6C5,"1D6C6,"1D6C7,"1D6C8,"1D6C9,"1D6CA,"1D6CB,"1D6CC,"1D6CD,"1D6CE,"1D6CF,"1D6D0,"1D6D1,"1D6D2,"1D6D3,"1D6D4,"1D6D5,"1D6D6,"1D6D7,"1D6D8,"1D6D9,"1D6DA,"1D6DB,"1D6DC,"1D6DD,"1D6DE,"1D6DF,"1D6E0,"1D6E1,"1D6E2,"1D6E3,"1D6E4,"1D6E5,"1D6E6,"1D6E7,"1D6E8,"1D6E9,"1D6EA,"1D6EB,"1D6EC,"1D6ED,"1D6EE,"1D6EF,"1D6F0,"1D6F1,"1D6F2,"1D6F3,"1D6F4,"1D6F5,"1D6F6,"1D6F7,"1D6F8,"1D6F9,"1D6FA,"1D6FB,"1D6FC,"1D6FD,"1D6FE,"1D6FF,"1D700,"1D701,"1D702,"1D703,"1D704,"1D705,"1D706,"1D707,"1D708,"1D709,"1D70A,"1D70B,"1D70C,"1D70D,"1D70E,"1D70F,"1D710,"1D711,"1D712,"1D713,"1D714,"1D715,"1D716,"1D717,"1D718,"1D719,"1D71A,"1D71B,"1D71C,"1D71D,"1D71E,"1D71F,"1D720,"1D721,"1D722,"1D723,"1D724,"1D725,"1D726,"1D727,"1D728,"1D729,"1D72A,"1D72B,"1D72C,"1D72D,"1D72E,"1D72F,"1D730,"1D731,"1D732,"1D733,"1D734,"1D735,"1D736,"1D737,"1D738,"1D739,"1D73A,"1D73B,"1D73C,"1D73D,"1D73E,"1D73F,"1D740,"1D741,"1D742,"1D743,"1D744,"1D745,"1D746,"1D747,"1D748,"1D749,"1D74A,"1D74B,"1D74C,"1D74D,"1D74E,"1D74F,"1D750,"1D751,"1D752,"1D753,"1D754,"1D755,"1D7CA,"1D7CB,"1D7CE,"1D7CF,"1D7D0,"1D7D1,"1D7D2,"1D7D3,"1D7D4,"1D7D5,"1D7D6,"1D7D7,"1F784}
+\seq_const_from_clist:Nn \c_@@_glyph_non_unicode_seq
+ {.notdef,uni2032.ssty1,uni2033.ssty1,uni2034.ssty1,uni2057.ssty1,uni2035.ssty1,uni2036.ssty1,uni2037.ssty1,uni2032.ssty2,uni2033.ssty2,uni2034.ssty2,uni2057.ssty2,uni2035.ssty2,uni2036.ssty2,uni2037.ssty2,uni2140.display,uni220F.display,uni2210.display,uni2211.display,uni222B.display,uni222C.display,uni222D.display,uni2A0C.display,uni222E.display,uni222F.display,uni2230.display,uni221A.size1,uni221A.size2,uni221A.size3,uni221A.size4,uni221A.size5,uni221A.size6,uni221A.size7,uni221A.size8,uni221A.size9,uni221A.size10,uni221A.size11,uni221A.size12,uni221A.size13,uni221A.size14,uni221A.size15,uni221B.size1,uni221B.size2,uni221B.size3,uni221B.size4,uni221B.size5,uni221B.size6,uni221B.size7,uni221B.size8,uni221B.size9,uni221B.size10,uni221B.size11,uni221B.size12,uni221B.size13,uni221B.size14,uni221B.size15,uni221C.size1,uni221C.size2,uni221C.size3,uni221C.size4,uni221C.size5,uni221C.size6,uni221C.size7,uni221C.size8,uni221C.size9,uni221C.size10,uni221C.size11,uni221C.size12,uni221C.size13,uni221C.size14,uni221C.size15,uni0028.size1,uni0028.size2,uni0028.size3,uni0028.size4,uni0028.size5,uni0028.size6,uni0028.size7,uni0028.size8,uni0028.size9,uni0028.size10,uni0028.size11,uni0028.size12,uni0028.size13,uni0028.size14,uni0028.size15,uni0029.size1,uni0029.size2,uni0029.size3,uni0029.size4,uni0029.size5,uni0029.size6,uni0029.size7,uni0029.size8,uni0029.size9,uni0029.size10,uni0029.size11,uni0029.size12,uni0029.size13,uni0029.size14,uni0029.size15,uni005B.size1,uni005B.size2,uni005B.size3,uni005B.size4,uni005B.size5,uni005B.size6,uni005B.size7,uni005B.size8,uni005B.size9,uni005B.size10,uni005B.size11,uni005B.size12,uni005B.size13,uni005B.size14,uni005B.size15,uni005D.size1,uni005D.size2,uni005D.size3,uni005D.size4,uni005D.size5,uni005D.size6,uni005D.size7,uni005D.size8,uni005D.size9,uni005D.size10,uni005D.size11,uni005D.size12,uni005D.size13,uni005D.size14,uni005D.size15,uni007B.size1,uni007B.size2,uni007B.size3,uni007B.size4,uni007B.size5,uni007B.size6,uni007B.size7,uni007B.size8,uni007B.size9,uni007B.size10,uni007B.size11,uni007B.size12,uni007B.size13,uni007B.size14,uni007B.size15,uni007D.size1,uni007D.size2,uni007D.size3,uni007D.size4,uni007D.size5,uni007D.size6,uni007D.size7,uni007D.size8,uni007D.size9,uni007D.size10,uni007D.size11,uni007D.size12,uni007D.size13,uni007D.size14,uni007D.size15,uni2308.size1,uni2308.size2,uni2308.size3,uni2308.size4,uni2308.size5,uni2308.size6,uni2308.size7,uni2308.size8,uni2308.size9,uni2308.size10,uni2308.size11,uni2308.size12,uni2308.size13,uni2308.size14,uni2308.size15,uni2309.size1,uni2309.size2,uni2309.size3,uni2309.size4,uni2309.size5,uni2309.size6,uni2309.size7,uni2309.size8,uni2309.size9,uni2309.size10,uni2309.size11,uni2309.size12,uni2309.size13,uni2309.size14,uni2309.size15,uni230A.size1,uni230A.size2,uni230A.size3,uni230A.size4,uni230A.size5,uni230A.size6,uni230A.size7,uni230A.size8,uni230A.size9,uni230A.size10,uni230A.size11,uni230A.size12,uni230A.size13,uni230A.size14,uni230A.size15,uni230B.size1,uni230B.size2,uni230B.size3,uni230B.size4,uni230B.size5,uni230B.size6,uni230B.size7,uni230B.size8,uni230B.size9,uni230B.size10,uni230B.size11,uni230B.size12,uni230B.size13,uni230B.size14,uni230B.size15,uni27E8.size1,uni27E8.size2,uni27E8.size3,uni27E8.size4,uni27E8.size5,uni27E8.size6,uni27E8.size7,uni27E8.size8,uni27E8.size9,uni27E8.size10,uni27E8.size11,uni27E8.size12,uni27E8.size13,uni27E8.size14,uni27E8.size15,uni27E9.size1,uni27E9.size2,uni27E9.size3,uni27E9.size4,uni27E9.size5,uni27E9.size6,uni27E9.size7,uni27E9.size8,uni27E9.size9,uni27E9.size10,uni27E9.size11,uni27E9.size12,uni27E9.size13,uni27E9.size14,uni27E9.size15,uni27EA.size1,uni27EA.size2,uni27EA.size3,uni27EA.size4,uni27EA.size5,uni27EA.size6,uni27EA.size7,uni27EA.size8,uni27EA.size9,uni27EA.size10,uni27EA.size11,uni27EA.size12,uni27EA.size13,uni27EA.size14,uni27EA.size15,uni27EB.size1,uni27EB.size2,uni27EB.size3,uni27EB.size4,uni27EB.size5,uni27EB.size6,uni27EB.size7,uni27EB.size8,uni27EB.size9,uni27EB.size10,uni27EB.size11,uni27EB.size12,uni27EB.size13,uni27EB.size14,uni27EB.size15,uni27EE.size1,uni27EE.size2,uni27EE.size3,uni27EE.size4,uni27EE.size5,uni27EE.size6,uni27EE.size7,uni27EE.size8,uni27EE.size9,uni27EE.size10,uni27EE.size11,uni27EE.size12,uni27EE.size13,uni27EE.size14,uni27EE.size15,uni27EF.size1,uni27EF.size2,uni27EF.size3,uni27EF.size4,uni27EF.size5,uni27EF.size6,uni27EF.size7,uni27EF.size8,uni27EF.size9,uni27EF.size10,uni27EF.size11,uni27EF.size12,uni27EF.size13,uni27EF.size14,uni27EF.size15,uni007C.size1,uni007C.size2,uni007C.size3,uni007C.size4,uni007C.size5,uni007C.size6,uni007C.size7,uni007C.size8,uni007C.size9,uni007C.size10,uni007C.size11,uni007C.size12,uni007C.size13,uni007C.size14,uni007C.size15,uni2016.size1,uni2016.size2,uni2016.size3,uni2016.size4,uni2016.size5,uni2016.size6,uni2016.size7,uni2016.size8,uni2016.size9,uni2016.size10,uni2016.size11,uni2016.size12,uni2016.size13,uni2016.size14,uni2016.size15,uni2980.size1,uni2980.size2,uni2980.size3,uni2980.size4,uni2980.size5,uni2980.size6,uni2980.size7,uni2980.size8,uni2980.size9,uni2980.size10,uni2980.size11,uni2980.size12,uni2980.size13,uni2980.size14,uni2980.size15,uni221A.top,uni221A.ext,uni221A.bot,uni221B.top,uni221B.ext,uni221B.bot,uni221C.top,uni221C.ext,uni221C.bot,uni2308.top,uni2308.ext,uni2309.top,uni2309.ext,uni230A.ext,uni230A.bot,uni230B.ext,uni230B.bot,uni27EE.top,uni27EE.ext,uni27EE.bot,uni27EF.top,uni27EF.ext,uni27EF.bot,uni007C.ext,uni2016.ext,uni2980.ext,uni23DC.size1,uni23DC.size2,uni23DC.size3,uni23DC.size4,uni23DC.size5,uni23DC.size6,uni23DC.size7,uni23DC.size8,uni23DC.size9,uni23DC.size10,uni23DC.size11,uni23DC.size12,uni23DC.size13,uni23DC.size14,uni23DC.size15,uni23DD.size1,uni23DD.size2,uni23DD.size3,uni23DD.size4,uni23DD.size5,uni23DD.size6,uni23DD.size7,uni23DD.size8,uni23DD.size9,uni23DD.size10,uni23DD.size11,uni23DD.size12,uni23DD.size13,uni23DD.size14,uni23DD.size15,uni23B4.size1,uni23B4.size2,uni23B4.size3,uni23B4.size4,uni23B4.size5,uni23B4.size6,uni23B4.size7,uni23B4.size8,uni23B4.size9,uni23B4.size10,uni23B4.size11,uni23B4.size12,uni23B4.size13,uni23B4.size14,uni23B4.size15,uni23B5.size1,uni23B5.size2,uni23B5.size3,uni23B5.size4,uni23B5.size5,uni23B5.size6,uni23B5.size7,uni23B5.size8,uni23B5.size9,uni23B5.size10,uni23B5.size11,uni23B5.size12,uni23B5.size13,uni23B5.size14,uni23B5.size15,uni23DE.size1,uni23DE.size2,uni23DE.size3,uni23DE.size4,uni23DE.size5,uni23DE.size6,uni23DE.size7,uni23DE.size8,uni23DE.size9,uni23DE.size10,uni23DE.size11,uni23DE.size12,uni23DE.size13,uni23DE.size14,uni23DE.size15,uni23DF.size1,uni23DF.size2,uni23DF.size3,uni23DF.size4,uni23DF.size5,uni23DF.size6,uni23DF.size7,uni23DF.size8,uni23DF.size9,uni23DF.size10,uni23DF.size11,uni23DF.size12,uni23DF.size13,uni23DF.size14,uni23DF.size15,uni23DC.left,uni23DC.ext,uni23DC.right,uni23DD.left,uni23DD.ext,uni23DD.right,uni23B4.left,uni23B4.ext,uni23B4.right,uni23B5.left,uni23B5.ext,uni23B5.right,uni23DE.left,uni23DE.ext,uni23DE.mid,uni23DE.right,uni23DF.left,uni23DF.ext,uni23DF.mid,uni23DF.right,uni0030.pnum,uni0031.pnum,uni0032.pnum,uni0033.pnum,uni0034.pnum,uni0035.pnum,uni0036.pnum,uni0037.pnum,uni0038.pnum,uni0039.pnum,u1D7CE.pnum,u1D7CF.pnum,u1D7D0.pnum,u1D7D1.pnum,u1D7D2.pnum,u1D7D3.pnum,u1D7D4.pnum,u1D7D5.pnum,u1D7D6.pnum,u1D7D7.pnum,uni222B.up,uni222C.up,uni222D.up,uni2A0C.up,uni222E.up,uni222F.up,uni2230.up,uni222B.display.up,uni222C.display.up,uni222D.display.up,uni2A0C.display.up,uni222E.display.up,uni222F.display.up,uni2230.display.up,uni210F.ss02,uni2201.ss03}
+\seq_const_from_clist:Nn \c_@@_glyph_non_unicode_with_type_seq
+ {
+ {Special} {.notdef},
+ {Math~Script~Style~Alternates} {uni2032.ssty1,uni2033.ssty1,uni2034.ssty1,uni2057.ssty1,uni2035.ssty1,uni2036.ssty1,uni2037.ssty1,uni2032.ssty2,uni2033.ssty2,uni2034.ssty2,uni2057.ssty2,uni2035.ssty2,uni2036.ssty2,uni2037.ssty2},
+ {Display~Math~Operators} {uni2140.display,uni220F.display,uni2210.display,uni2211.display,uni222B.display,uni222C.display,uni222D.display,uni2A0C.display,uni222E.display,uni222F.display,uni2230.display},
+ {Large~Delimiters} {uni221A.size1,uni221A.size2,uni221A.size3,uni221A.size4,uni221A.size5,uni221A.size6,uni221A.size7,uni221A.size8,uni221A.size9,uni221A.size10,uni221A.size11,uni221A.size12,uni221A.size13,uni221A.size14,uni221A.size15,uni221B.size1,uni221B.size2,uni221B.size3,uni221B.size4,uni221B.size5,uni221B.size6,uni221B.size7,uni221B.size8,uni221B.size9,uni221B.size10,uni221B.size11,uni221B.size12,uni221B.size13,uni221B.size14,uni221B.size15,uni221C.size1,uni221C.size2,uni221C.size3,uni221C.size4,uni221C.size5,uni221C.size6,uni221C.size7,uni221C.size8,uni221C.size9,uni221C.size10,uni221C.size11,uni221C.size12,uni221C.size13,uni221C.size14,uni221C.size15,uni0028.size1,uni0028.size2,uni0028.size3,uni0028.size4,uni0028.size5,uni0028.size6,uni0028.size7,uni0028.size8,uni0028.size9,uni0028.size10,uni0028.size11,uni0028.size12,uni0028.size13,uni0028.size14,uni0028.size15,uni0029.size1,uni0029.size2,uni0029.size3,uni0029.size4,uni0029.size5,uni0029.size6,uni0029.size7,uni0029.size8,uni0029.size9,uni0029.size10,uni0029.size11,uni0029.size12,uni0029.size13,uni0029.size14,uni0029.size15,uni005B.size1,uni005B.size2,uni005B.size3,uni005B.size4,uni005B.size5,uni005B.size6,uni005B.size7,uni005B.size8,uni005B.size9,uni005B.size10,uni005B.size11,uni005B.size12,uni005B.size13,uni005B.size14,uni005B.size15,uni005D.size1,uni005D.size2,uni005D.size3,uni005D.size4,uni005D.size5,uni005D.size6,uni005D.size7,uni005D.size8,uni005D.size9,uni005D.size10,uni005D.size11,uni005D.size12,uni005D.size13,uni005D.size14,uni005D.size15,uni007B.size1,uni007B.size2,uni007B.size3,uni007B.size4,uni007B.size5,uni007B.size6,uni007B.size7,uni007B.size8,uni007B.size9,uni007B.size10,uni007B.size11,uni007B.size12,uni007B.size13,uni007B.size14,uni007B.size15,uni007D.size1,uni007D.size2,uni007D.size3,uni007D.size4,uni007D.size5,uni007D.size6,uni007D.size7,uni007D.size8,uni007D.size9,uni007D.size10,uni007D.size11,uni007D.size12,uni007D.size13,uni007D.size14,uni007D.size15,uni2308.size1,uni2308.size2,uni2308.size3,uni2308.size4,uni2308.size5,uni2308.size6,uni2308.size7,uni2308.size8,uni2308.size9,uni2308.size10,uni2308.size11,uni2308.size12,uni2308.size13,uni2308.size14,uni2308.size15,uni2309.size1,uni2309.size2,uni2309.size3,uni2309.size4,uni2309.size5,uni2309.size6,uni2309.size7,uni2309.size8,uni2309.size9,uni2309.size10,uni2309.size11,uni2309.size12,uni2309.size13,uni2309.size14,uni2309.size15,uni230A.size1,uni230A.size2,uni230A.size3,uni230A.size4,uni230A.size5,uni230A.size6,uni230A.size7,uni230A.size8,uni230A.size9,uni230A.size10,uni230A.size11,uni230A.size12,uni230A.size13,uni230A.size14,uni230A.size15,uni230B.size1,uni230B.size2,uni230B.size3,uni230B.size4,uni230B.size5,uni230B.size6,uni230B.size7,uni230B.size8,uni230B.size9,uni230B.size10,uni230B.size11,uni230B.size12,uni230B.size13,uni230B.size14,uni230B.size15,uni27E8.size1,uni27E8.size2,uni27E8.size3,uni27E8.size4,uni27E8.size5,uni27E8.size6,uni27E8.size7,uni27E8.size8,uni27E8.size9,uni27E8.size10,uni27E8.size11,uni27E8.size12,uni27E8.size13,uni27E8.size14,uni27E8.size15,uni27E9.size1,uni27E9.size2,uni27E9.size3,uni27E9.size4,uni27E9.size5,uni27E9.size6,uni27E9.size7,uni27E9.size8,uni27E9.size9,uni27E9.size10,uni27E9.size11,uni27E9.size12,uni27E9.size13,uni27E9.size14,uni27E9.size15,uni27EA.size1,uni27EA.size2,uni27EA.size3,uni27EA.size4,uni27EA.size5,uni27EA.size6,uni27EA.size7,uni27EA.size8,uni27EA.size9,uni27EA.size10,uni27EA.size11,uni27EA.size12,uni27EA.size13,uni27EA.size14,uni27EA.size15,uni27EB.size1,uni27EB.size2,uni27EB.size3,uni27EB.size4,uni27EB.size5,uni27EB.size6,uni27EB.size7,uni27EB.size8,uni27EB.size9,uni27EB.size10,uni27EB.size11,uni27EB.size12,uni27EB.size13,uni27EB.size14,uni27EB.size15,uni27EE.size1,uni27EE.size2,uni27EE.size3,uni27EE.size4,uni27EE.size5,uni27EE.size6,uni27EE.size7,uni27EE.size8,uni27EE.size9,uni27EE.size10,uni27EE.size11,uni27EE.size12,uni27EE.size13,uni27EE.size14,uni27EE.size15,uni27EF.size1,uni27EF.size2,uni27EF.size3,uni27EF.size4,uni27EF.size5,uni27EF.size6,uni27EF.size7,uni27EF.size8,uni27EF.size9,uni27EF.size10,uni27EF.size11,uni27EF.size12,uni27EF.size13,uni27EF.size14,uni27EF.size15,uni007C.size1,uni007C.size2,uni007C.size3,uni007C.size4,uni007C.size5,uni007C.size6,uni007C.size7,uni007C.size8,uni007C.size9,uni007C.size10,uni007C.size11,uni007C.size12,uni007C.size13,uni007C.size14,uni007C.size15,uni2016.size1,uni2016.size2,uni2016.size3,uni2016.size4,uni2016.size5,uni2016.size6,uni2016.size7,uni2016.size8,uni2016.size9,uni2016.size10,uni2016.size11,uni2016.size12,uni2016.size13,uni2016.size14,uni2016.size15,uni2980.size1,uni2980.size2,uni2980.size3,uni2980.size4,uni2980.size5,uni2980.size6,uni2980.size7,uni2980.size8,uni2980.size9,uni2980.size10,uni2980.size11,uni2980.size12,uni2980.size13,uni2980.size14,uni2980.size15},
+ {Extensible~Delimiters} {uni221A.top,uni221A.ext,uni221A.bot,uni221B.top,uni221B.ext,uni221B.bot,uni221C.top,uni221C.ext,uni221C.bot,uni2308.top,uni2308.ext,uni2309.top,uni2309.ext,uni230A.ext,uni230A.bot,uni230B.ext,uni230B.bot,uni27EE.top,uni27EE.ext,uni27EE.bot,uni27EF.top,uni27EF.ext,uni27EF.bot,uni007C.ext,uni2016.ext,uni2980.ext},
+ {Large~Over/Under~Symbols} {uni23DC.size1,uni23DC.size2,uni23DC.size3,uni23DC.size4,uni23DC.size5,uni23DC.size6,uni23DC.size7,uni23DC.size8,uni23DC.size9,uni23DC.size10,uni23DC.size11,uni23DC.size12,uni23DC.size13,uni23DC.size14,uni23DC.size15,uni23DD.size1,uni23DD.size2,uni23DD.size3,uni23DD.size4,uni23DD.size5,uni23DD.size6,uni23DD.size7,uni23DD.size8,uni23DD.size9,uni23DD.size10,uni23DD.size11,uni23DD.size12,uni23DD.size13,uni23DD.size14,uni23DD.size15,uni23B4.size1,uni23B4.size2,uni23B4.size3,uni23B4.size4,uni23B4.size5,uni23B4.size6,uni23B4.size7,uni23B4.size8,uni23B4.size9,uni23B4.size10,uni23B4.size11,uni23B4.size12,uni23B4.size13,uni23B4.size14,uni23B4.size15,uni23B5.size1,uni23B5.size2,uni23B5.size3,uni23B5.size4,uni23B5.size5,uni23B5.size6,uni23B5.size7,uni23B5.size8,uni23B5.size9,uni23B5.size10,uni23B5.size11,uni23B5.size12,uni23B5.size13,uni23B5.size14,uni23B5.size15,uni23DE.size1,uni23DE.size2,uni23DE.size3,uni23DE.size4,uni23DE.size5,uni23DE.size6,uni23DE.size7,uni23DE.size8,uni23DE.size9,uni23DE.size10,uni23DE.size11,uni23DE.size12,uni23DE.size13,uni23DE.size14,uni23DE.size15,uni23DF.size1,uni23DF.size2,uni23DF.size3,uni23DF.size4,uni23DF.size5,uni23DF.size6,uni23DF.size7,uni23DF.size8,uni23DF.size9,uni23DF.size10,uni23DF.size11,uni23DF.size12,uni23DF.size13,uni23DF.size14,uni23DF.size15},
+ {Extensible~Over/Under~Symbols} {uni23DC.left,uni23DC.ext,uni23DC.right,uni23DD.left,uni23DD.ext,uni23DD.right,uni23B4.left,uni23B4.ext,uni23B4.right,uni23B5.left,uni23B5.ext,uni23B5.right,uni23DE.left,uni23DE.ext,uni23DE.mid,uni23DE.right,uni23DF.left,uni23DF.ext,uni23DF.mid,uni23DF.right},
+ {Proportional~Figures} {uni0030.pnum,uni0031.pnum,uni0032.pnum,uni0033.pnum,uni0034.pnum,uni0035.pnum,uni0036.pnum,uni0037.pnum,uni0038.pnum,uni0039.pnum,u1D7CE.pnum,u1D7CF.pnum,u1D7D0.pnum,u1D7D1.pnum,u1D7D2.pnum,u1D7D3.pnum,u1D7D4.pnum,u1D7D5.pnum,u1D7D6.pnum,u1D7D7.pnum},
+ {Stylistic~Set~1:~Upright~Integrals} {uni222B.up,uni222C.up,uni222D.up,uni2A0C.up,uni222E.up,uni222F.up,uni2230.up,uni222B.display.up,uni222C.display.up,uni222D.display.up,uni2A0C.display.up,uni222E.display.up,uni222F.display.up,uni2230.display.up},
+ {Stylistic~Set~2:~Planck~Constant~with~Bar} {uni210F.ss02},
+ {Stylistic~Set~3:~Complement~Alternates} {uni2201.ss03},
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/firamath/firamath-non-unicode.txt new/doc/fonts/firamath/firamath-non-unicode.txt
--- old/doc/fonts/firamath/firamath-non-unicode.txt 2018-10-26 22:47:42.000000000 +0200
+++ new/doc/fonts/firamath/firamath-non-unicode.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,527 +0,0 @@
-; Special
-.notdef
-; Math Script Style Alternates
-uni2032.ssty1
-uni2033.ssty1
-uni2034.ssty1
-; Display Math Operators
-uni220F.display
-uni2210.display
-uni2211.display
-uni222B.display
-uni222C.display
-uni222D.display
-uni2A0C.display
-uni222E.display
-uni222F.display
-uni2230.display
-; Large Delimiters
-uni221A.size1
-uni221A.size2
-uni221A.size3
-uni221A.size4
-uni221A.size5
-uni221A.size6
-uni221A.size7
-uni221A.size8
-uni221A.size9
-uni221A.size10
-uni221A.size11
-uni221A.size12
-uni221A.size13
-uni221A.size14
-uni221A.size15
-uni221B.size1
-uni221B.size2
-uni221B.size3
-uni221B.size4
-uni221B.size5
-uni221B.size6
-uni221B.size7
-uni221B.size8
-uni221B.size9
-uni221B.size10
-uni221B.size11
-uni221B.size12
-uni221B.size13
-uni221B.size14
-uni221B.size15
-uni221C.size1
-uni221C.size2
-uni221C.size3
-uni221C.size4
-uni221C.size5
-uni221C.size6
-uni221C.size7
-uni221C.size8
-uni221C.size9
-uni221C.size10
-uni221C.size11
-uni221C.size12
-uni221C.size13
-uni221C.size14
-uni221C.size15
-uni0028.size1
-uni0028.size2
-uni0028.size3
-uni0028.size4
-uni0028.size5
-uni0028.size6
-uni0028.size7
-uni0028.size8
-uni0028.size9
-uni0028.size10
-uni0028.size11
-uni0028.size12
-uni0028.size13
-uni0028.size14
-uni0028.size15
-uni0029.size1
-uni0029.size2
-uni0029.size3
-uni0029.size4
-uni0029.size5
-uni0029.size6
-uni0029.size7
-uni0029.size8
-uni0029.size9
-uni0029.size10
-uni0029.size11
-uni0029.size12
-uni0029.size13
-uni0029.size14
-uni0029.size15
-uni005B.size1
-uni005B.size2
-uni005B.size3
-uni005B.size4
-uni005B.size5
-uni005B.size6
-uni005B.size7
-uni005B.size8
-uni005B.size9
-uni005B.size10
-uni005B.size11
-uni005B.size12
-uni005B.size13
-uni005B.size14
-uni005B.size15
-uni005D.size1
-uni005D.size2
-uni005D.size3
-uni005D.size4
-uni005D.size5
-uni005D.size6
-uni005D.size7
-uni005D.size8
-uni005D.size9
-uni005D.size10
-uni005D.size11
-uni005D.size12
-uni005D.size13
-uni005D.size14
-uni005D.size15
-uni007B.size1
-uni007B.size2
-uni007B.size3
-uni007B.size4
-uni007B.size5
-uni007B.size6
-uni007B.size7
-uni007B.size8
-uni007B.size9
-uni007B.size10
-uni007B.size11
-uni007B.size12
-uni007B.size13
-uni007B.size14
-uni007B.size15
-uni007D.size1
-uni007D.size2
-uni007D.size3
-uni007D.size4
-uni007D.size5
-uni007D.size6
-uni007D.size7
-uni007D.size8
-uni007D.size9
-uni007D.size10
-uni007D.size11
-uni007D.size12
-uni007D.size13
-uni007D.size14
-uni007D.size15
-uni27EE.size1
-uni27EE.size2
-uni27EE.size3
-uni27EE.size4
-uni27EE.size5
-uni27EE.size6
-uni27EE.size7
-uni27EE.size8
-uni27EE.size9
-uni27EE.size10
-uni27EE.size11
-uni27EE.size12
-uni27EE.size13
-uni27EE.size14
-uni27EE.size15
-uni27EF.size1
-uni27EF.size2
-uni27EF.size3
-uni27EF.size4
-uni27EF.size5
-uni27EF.size6
-uni27EF.size7
-uni27EF.size8
-uni27EF.size9
-uni27EF.size10
-uni27EF.size11
-uni27EF.size12
-uni27EF.size13
-uni27EF.size14
-uni27EF.size15
-uni27E8.size1
-uni27E8.size2
-uni27E8.size3
-uni27E8.size4
-uni27E8.size5
-uni27E8.size6
-uni27E8.size7
-uni27E8.size8
-uni27E8.size9
-uni27E8.size10
-uni27E8.size11
-uni27E8.size12
-uni27E8.size13
-uni27E8.size14
-uni27E8.size15
-uni27E9.size1
-uni27E9.size2
-uni27E9.size3
-uni27E9.size4
-uni27E9.size5
-uni27E9.size6
-uni27E9.size7
-uni27E9.size8
-uni27E9.size9
-uni27E9.size10
-uni27E9.size11
-uni27E9.size12
-uni27E9.size13
-uni27E9.size14
-uni27E9.size15
-uni27EA.size1
-uni27EA.size2
-uni27EA.size3
-uni27EA.size4
-uni27EA.size5
-uni27EA.size6
-uni27EA.size7
-uni27EA.size8
-uni27EA.size9
-uni27EA.size10
-uni27EA.size11
-uni27EA.size12
-uni27EA.size13
-uni27EA.size14
-uni27EA.size15
-uni27EB.size1
-uni27EB.size2
-uni27EB.size3
-uni27EB.size4
-uni27EB.size5
-uni27EB.size6
-uni27EB.size7
-uni27EB.size8
-uni27EB.size9
-uni27EB.size10
-uni27EB.size11
-uni27EB.size12
-uni27EB.size13
-uni27EB.size14
-uni27EB.size15
-uni007C.size1
-uni007C.size2
-uni007C.size3
-uni007C.size4
-uni007C.size5
-uni007C.size6
-uni007C.size7
-uni007C.size8
-uni007C.size9
-uni007C.size10
-uni007C.size11
-uni007C.size12
-uni007C.size13
-uni007C.size14
-uni007C.size15
-uni2016.size1
-uni2016.size2
-uni2016.size3
-uni2016.size4
-uni2016.size5
-uni2016.size6
-uni2016.size7
-uni2016.size8
-uni2016.size9
-uni2016.size10
-uni2016.size11
-uni2016.size12
-uni2016.size13
-uni2016.size14
-uni2016.size15
-uni2980.size1
-uni2980.size2
-uni2980.size3
-uni2980.size4
-uni2980.size5
-uni2980.size6
-uni2980.size7
-uni2980.size8
-uni2980.size9
-uni2980.size10
-uni2980.size11
-uni2980.size12
-uni2980.size13
-uni2980.size14
-uni2980.size15
-uni2308.size1
-uni2308.size2
-uni2308.size3
-uni2308.size4
-uni2308.size5
-uni2308.size6
-uni2308.size7
-uni2308.size8
-uni2308.size9
-uni2308.size10
-uni2308.size11
-uni2308.size12
-uni2308.size13
-uni2308.size14
-uni2308.size15
-uni2309.size1
-uni2309.size2
-uni2309.size3
-uni2309.size4
-uni2309.size5
-uni2309.size6
-uni2309.size7
-uni2309.size8
-uni2309.size9
-uni2309.size10
-uni2309.size11
-uni2309.size12
-uni2309.size13
-uni2309.size14
-uni2309.size15
-uni230A.size1
-uni230A.size2
-uni230A.size3
-uni230A.size4
-uni230A.size5
-uni230A.size6
-uni230A.size7
-uni230A.size8
-uni230A.size9
-uni230A.size10
-uni230A.size11
-uni230A.size12
-uni230A.size13
-uni230A.size14
-uni230A.size15
-uni230B.size1
-uni230B.size2
-uni230B.size3
-uni230B.size4
-uni230B.size5
-uni230B.size6
-uni230B.size7
-uni230B.size8
-uni230B.size9
-uni230B.size10
-uni230B.size11
-uni230B.size12
-uni230B.size13
-uni230B.size14
-uni230B.size15
-; Extensible Delimiters
-uni221A.top
-uni221A.ext
-uni221A.bot
-uni221B.top
-uni221B.ext
-uni221B.bot
-uni221C.top
-uni221C.ext
-uni221C.bot
-uni007C.ext
-uni2016.ext
-uni2980.ext
-uni2308.top
-uni2308.ext
-uni2309.top
-uni2309.ext
-uni230A.ext
-uni230A.bot
-uni230B.ext
-uni230B.bot
-uni27EE.top
-uni27EE.ext
-uni27EE.bot
-uni27EF.top
-uni27EF.ext
-uni27EF.bot
-; Large Over/Under Symbols
-uni23DC.size1
-uni23DC.size2
-uni23DC.size3
-uni23DC.size4
-uni23DC.size5
-uni23DC.size6
-uni23DC.size7
-uni23DC.size8
-uni23DC.size9
-uni23DC.size10
-uni23DC.size11
-uni23DC.size12
-uni23DC.size13
-uni23DC.size14
-uni23DC.size15
-uni23DD.size1
-uni23DD.size2
-uni23DD.size3
-uni23DD.size4
-uni23DD.size5
-uni23DD.size6
-uni23DD.size7
-uni23DD.size8
-uni23DD.size9
-uni23DD.size10
-uni23DD.size11
-uni23DD.size12
-uni23DD.size13
-uni23DD.size14
-uni23DD.size15
-uni23B4.size1
-uni23B4.size2
-uni23B4.size3
-uni23B4.size4
-uni23B4.size5
-uni23B4.size6
-uni23B4.size7
-uni23B4.size8
-uni23B4.size9
-uni23B4.size10
-uni23B4.size11
-uni23B4.size12
-uni23B4.size13
-uni23B4.size14
-uni23B4.size15
-uni23B5.size1
-uni23B5.size2
-uni23B5.size3
-uni23B5.size4
-uni23B5.size5
-uni23B5.size6
-uni23B5.size7
-uni23B5.size8
-uni23B5.size9
-uni23B5.size10
-uni23B5.size11
-uni23B5.size12
-uni23B5.size13
-uni23B5.size14
-uni23B5.size15
-uni23DE.size1
-uni23DE.size2
-uni23DE.size3
-uni23DE.size4
-uni23DE.size5
-uni23DE.size6
-uni23DE.size7
-uni23DE.size8
-uni23DE.size9
-uni23DE.size10
-uni23DE.size11
-uni23DE.size12
-uni23DE.size13
-uni23DE.size14
-uni23DE.size15
-uni23DF.size1
-uni23DF.size2
-uni23DF.size3
-uni23DF.size4
-uni23DF.size5
-uni23DF.size6
-uni23DF.size7
-uni23DF.size8
-uni23DF.size9
-uni23DF.size10
-uni23DF.size11
-uni23DF.size12
-uni23DF.size13
-uni23DF.size14
-uni23DF.size15
-; Extensible Over/Under Symbols
-uni23DC.left
-uni23DC.ext
-uni23DC.right
-uni23DD.left
-uni23DD.ext
-uni23DD.right
-uni23B4.left
-uni23B4.ext
-uni23B4.right
-uni23B5.left
-uni23B5.ext
-uni23B5.right
-uni23DE.left
-uni23DE.ext
-uni23DE.mid
-uni23DE.right
-uni23DF.left
-uni23DF.ext
-uni23DF.mid
-uni23DF.right
-; Proportional Figures
-uni0030.pnum
-uni0031.pnum
-uni0032.pnum
-uni0033.pnum
-uni0034.pnum
-uni0035.pnum
-uni0036.pnum
-uni0037.pnum
-uni0038.pnum
-uni0039.pnum
-u1D7CE.pnum
-u1D7CF.pnum
-u1D7D0.pnum
-u1D7D1.pnum
-u1D7D2.pnum
-u1D7D3.pnum
-u1D7D4.pnum
-u1D7D5.pnum
-u1D7D6.pnum
-u1D7D7.pnum
-; Stylistic Set 1: Upright Integrals
-uni222B.up
-uni222C.up
-uni222D.up
-uni2A0C.up
-uni222E.up
-uni222F.up
-uni2230.up
-uni222B.display.up
-uni222C.display.up
-uni222D.display.up
-uni2A0C.display.up
-uni222E.display.up
-uni222F.display.up
-uni2230.display.up
-; Stylistic Set 2: Planck Constant with Bar
-uni210F.ss02
-; Stylistic Set 3: Complement Alternates
-uni2201.ss03
Binary files old/doc/fonts/firamath/firamath-specimen.pdf and new/doc/fonts/firamath/firamath-specimen.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/firamath/firamath-specimen.tex new/doc/fonts/firamath/firamath-specimen.tex
--- old/doc/fonts/firamath/firamath-specimen.tex 2018-10-26 22:47:42.000000000 +0200
+++ new/doc/fonts/firamath/firamath-specimen.tex 2020-01-13 22:24:30.000000000 +0100
@@ -13,7 +13,7 @@
\makeatletter\ExplSyntaxOn
-\clist_const:Nn \c__xfonttable_unicode_reserved_clist
+\seq_const_from_clist:Nn \c_@@_unicode_reserved_seq
{
% Greek and Coptic
378, 379, 380, 381, 382, 383, 38B, 38D, 3A2,
@@ -50,7 +50,7 @@
1D4BC, 1D4C4, 1D506, 1D50B, 1D50C, 1D515, 1D51D, 1D53A, 1D53F, 1D545,
1D547, 1D548, 1D549, 1D551, 1D6A6, 1D6A7, 1D7CC, 1D7CD
}
-\clist_const:Nn \c__xfonttable_unicode_control_clist
+\seq_const_from_clist:Nn \c_@@_unicode_control_seq
{
% C0 Controls and Basic Latin
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F,
@@ -61,36 +61,24 @@
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 9A, 9B, 9C, 9D, 9E, 9F
}
+% Require `\c_@@_glyph_non_unicode_with_type_seq`
+\file_input:n { firamath-glyph-list.tex }
+
% #1 = symbol index
-\cs_new_protected:Npn \xfonttable_symbol:n #1
+\cs_new_protected:Npn \@@_symbol:n #1
{ \tex_char:D \int_eval:n {#1} \scan_stop: }
-\prg_new_protected_conditional:Npnn \xfonttable_if_char_exist:n #1 { T, F, TF }
+\prg_new_protected_conditional:Npnn \@@_if_char_exist:n #1 { T, F, TF }
{
- \etex_iffontchar:D \tex_font:D \int_eval:n {#1} \scan_stop:
+ \tex_iffontchar:D \tex_font:D \int_eval:n {#1} \scan_stop:
\prg_return_true:
\else:
\prg_return_false:
\fi:
}
% #1 = glyph name
-\sys_if_engine_xetex:TF
- {
- \cs_new_protected:Npn \xfonttable_glyph_from_name:n #1
- { \xetex_glyph:D \xetex_glyphindex:D "#1" \scan_stop: }
- }
- {
- \sys_if_engine_luatex:TF
- {
- \cs_new_protected:Npn \xfonttable_glyph_from_name:n #1
- { \tex_char:D \luatex_glyph_index:w #1 \scan_stop: }
- \cs_new_protected:Npn \luatex_glyph_index:w
- {
- \lua_now:n
- { tex.sprint(0, font.getfont(font.current()).resources.unicodes[token.scan_string()]) }
- }
- }
- { \BOOM }
- }
+% See https://tex.stackexchange.com/q/420167
+\cs_new_protected:Npn \@@_glyph_from_name:n #1
+ { \tex_XeTeXglyph:D \tex_XeTeXglyphindex:D "#1" \scan_stop: }
% Centering with fixed width
\newcolumntype {C} [1] { > { \centering \arraybackslash } m {#1} }
@@ -105,63 +93,63 @@
\cs_set:Npn \NumberStyle { \ttfamily \footnotesize }
\cs_set:Npn \GlyphStyle { \SymbolFont \Large }
\cs_set:Npn \EncodingStyle
- { \ttfamily \fontsize {4} {5} \selectfont \cellcolor { encoding@bg } }
+ { \ttfamily \fontsize { 4 } { 5 } \selectfont \cellcolor { encoding@bg } }
-\cs_set:Npn \GlyphStrut { \xfonttable_set_arstrut:nn { 20 pt } { 10 pt } }
-\cs_set:Npn \NonUnicodeGlyphStrut { \xfonttable_set_arstrut:nn { 32 pt } { 20 pt } }
-\cs_set:Npn \NonUnicodeHighGlyphStrut { \xfonttable_set_arstrut:nn { 64 pt } { 40 pt } }
-\cs_set:Npn \EncodingStrut { \xfonttable_set_arstrut:nn { 4.5 pt } { 1 pt } }
-
-\dim_const:Nn \c__xfonttable_cell_wd_dim { 30 pt }
-\dim_const:Nn \c__xfonttable_column_sep_dim { 0 pt }
-\dim_const:Nn \c__xfonttable_row_number_ht_dim { 20 pt }
-\dim_const:Nn \c__xfonttable_row_number_sep_dim { 6 pt }
-\dim_const:Nn \c__xfonttable_nuni_wd_dim { 87 pt }
+\cs_set:Npn \GlyphStrut { \@@_set_arstrut:nn { 20 pt } { 10 pt } }
+\cs_set:Npn \NonUnicodeGlyphStrut { \@@_set_arstrut:nn { 32 pt } { 20 pt } }
+\cs_set:Npn \NonUnicodeHighGlyphStrut { \@@_set_arstrut:nn { 64 pt } { 40 pt } }
+\cs_set:Npn \EncodingStrut { \@@_set_arstrut:nn { 4.5 pt } { 1 pt } }
+
+\dim_const:Nn \c_@@_cell_wd_dim { 30 pt }
+\dim_const:Nn \c_@@_column_sep_dim { 0 pt }
+\dim_const:Nn \c_@@_row_number_ht_dim { 20 pt }
+\dim_const:Nn \c_@@_row_number_sep_dim { 6 pt }
+\dim_const:Nn \c_@@_non_unicode_wd_dim { 87 pt }
% The total number of glyphs.
\newcounter { glyph }
\setcounter { glyph } { -1 }
% The main function.
-\NewDocumentCommand \fonttable { s m m }
+\NewDocumentCommand \fonttable { s m g }
{
\IfBooleanTF {#1}
- { \xfonttable_non_unicode:nn {#2} {#3} }
- { \xfonttable_unicode:nn {#2} {#3} }
+ { \@@_non_unicode:nn {#2} }
+ { \@@_unicode:nn {#2} {#3} }
\clearpage
}
% #1 = section name
% #2 = begin/end encoding
-\cs_new_protected:Npn \xfonttable_unicode:nn #1#2
+\cs_new_protected:Npn \@@_unicode:nn #1#2
{
- \tl_set:Nn \l__xfonttable_glyph_count_tl
+ \tl_set:Nn \l_@@_glyph_count_tl
{ \ref* { count: glyph @ #1 } / \ref* { count: codepoint @ #1 } }
- \section { #1 ~ (\tl_use:N \l__xfonttable_glyph_count_tl) }
- \cs_set_eq:NN \xfonttable_left_foot: \xfonttable_left_foot_unicode:
- \xfonttable_parse_encoding:n {#2}
- \int_gzero:N \g__xfonttable_glyph_int
- \int_gzero:N \g__xfonttable_code_point_int
- \xfonttable_make_table:
+ \section { #1 ~ (\tl_use:N \l_@@_glyph_count_tl) }
+ \cs_set_eq:NN \@@_left_foot: \@@_left_foot_unicode:
+ \@@_parse_encoding:n {#2}
+ \int_gzero:N \g_@@_glyph_int
+ \int_gzero:N \g_@@_code_point_int
+ \@@_make_table:
\newcounter { glyph @ #1 }
\newcounter { codepoint @ #1 }
- \int_set:cn { c @ glyph @ #1 } { \g__xfonttable_glyph_int - 1 }
- \int_set:cn { c @ codepoint @ #1 } { \g__xfonttable_code_point_int - 1 }
+ \int_set:cn { c @ glyph @ #1 } { \g_@@_glyph_int - 1 }
+ \int_set:cn { c @ codepoint @ #1 } { \g_@@_code_point_int - 1 }
\refstepcounter { glyph @ #1 } \label { count: glyph @ #1 }
\refstepcounter { codepoint @ #1 } \label { count: codepoint @ #1 }
}
-\tl_new:N \l__xfonttable_glyph_count_tl
-\int_new:N \g__xfonttable_glyph_int
-\int_new:N \g__xfonttable_code_point_int
+\tl_new:N \l_@@_glyph_count_tl
+\int_new:N \g_@@_glyph_int
+\int_new:N \g_@@_code_point_int
-\cs_new_protected:Npn \xfonttable_left_foot_unicode:
+\cs_new_protected:Npn \@@_left_foot_unicode:
{
\mode_leave_vertical:
\footnotesize
- \xfonttable_color_box:nn { reserved @ bg } Reserved~ Code~ Points, \quad
- \xfonttable_color_box:nn { control @ bg } Control~ Codes.
+ \@@_color_box:nn { reserved @ bg } Reserved~ Code~ Points, \quad
+ \@@_color_box:nn { control @ bg } Control~ Codes.
}
-\cs_new_protected:Npn \xfonttable_color_box:nn #1#2
+\cs_new_protected:Npn \@@_color_box:nn #1#2
{
\group_begin:
\color {#1} \rule [ -2 pt ] { 10 pt } { 10 pt }
@@ -170,114 +158,112 @@
}
% #1 = `begin` - `end`
-\cs_new_protected:Npn \xfonttable_parse_encoding:n #1
+\cs_new_protected:Npn \@@_parse_encoding:n #1
{
\seq_set_split:Nnn \l_tmpa_seq { - } {#1}
- \int_set:Nn \l__xfonttable_begin_int
- { \seq_item:Nn \l_tmpa_seq { 1 } }
- \int_set:Nn \l__xfonttable_end_int
- { \seq_item:Nn \l_tmpa_seq { 2 } }
- }
-\int_new:N \l__xfonttable_begin_int
-\int_new:N \l__xfonttable_end_int
-
-\cs_new_protected:Npn \xfonttable_make_table:
- {
- \longtable { r | * {16} { C { \c__xfonttable_cell_wd_dim } | } }
- \xfonttable_long_table_head:
- \xfonttable_multi_row:nn
- { \int_use:N \l__xfonttable_begin_int }
- { \int_use:N \l__xfonttable_end_int }
+ \int_set:Nn \l_@@_begin_int { \seq_item:Nn \l_tmpa_seq { 1 } }
+ \int_set:Nn \l_@@_end_int { \seq_item:Nn \l_tmpa_seq { 2 } }
+ }
+\int_new:N \l_@@_begin_int
+\int_new:N \l_@@_end_int
+
+\cs_new_protected:Npn \@@_make_table:
+ {
+ \longtable { r | * { 16 } { C { \c_@@_cell_wd_dim } | } }
+ \@@_long_table_head:
+ \@@_multi_row:nn
+ { \int_use:N \l_@@_begin_int }
+ { \int_use:N \l_@@_end_int }
\endlongtable
}
-\dim_set_eq:NN \tabcolsep \c__xfonttable_column_sep_dim
+\dim_set_eq:NN \tabcolsep \c_@@_column_sep_dim
% These functions must be expandable:
-% \xfonttable_long_table_head:, \xfonttable_first_row:,
-% \xfonttable_multi_row:nn, \xfonttable_row:n, \__xfonttable_div_sixteen:n,
-% \xfonttable_hline:, \xfonttable_set_arstrut:nn, \xfonttable_restore_arstrut:, etc.,
+% \@@_long_table_head:, \@@_first_row:,
+% \@@_multi_row:nn, \@@_row:n, \@@_div_sixteen:n,
+% \@@_hline:, \@@_set_arstrut:nn, \@@_restore_arstrut:, etc.,
% so that `noalign` can work properly.
% Hence we use `\cs_new:Npn` and `\int_step_function:nnnN` here.
-\cs_new:Npn \xfonttable_long_table_head:
+\cs_new:Npn \@@_long_table_head:
{
% It's very hackable here!
% The dimension is measured by hand. Not universal at all.
- \xfonttable_set_arstrut:nn { 0 pt } { 0 pt }
+ \@@_set_arstrut:nn { 0 pt } { 0 pt }
\multicolumn { 17 } { c } { \rule { 0 pt } { 1.29 cm } } \\
- \xfonttable_first_row:
+ \@@_first_row:
\endhead
- \xfonttable_first_row:
+ \@@_first_row:
\endfirsthead
}
-\cs_new:Npn \xfonttable_first_row:
+\cs_new:Npn \@@_first_row:
{
- \multicolumn {17} { r }
+ \multicolumn { 17 } { r }
{
\tabular
{
% Skip row number
r |
- * {15} { C { \c__xfonttable_cell_wd_dim } E }
- C { \c__xfonttable_cell_wd_dim } |
+ * { 15 } { C { \c_@@_cell_wd_dim } E }
+ C { \c_@@_cell_wd_dim } |
}
% I don't know why there are so many `#`.
- \int_step_inline:nnnn { 0 } { 1 } { 15 }
- { & \xfonttable_first_row_cell:n {####1} }
+ \int_step_inline:nnn { 0 } { 15 }
+ { & \@@_first_row_cell:n {####1} }
\endtabular
}
\\*
- \xfonttable_hline:
+ \@@_hline:
}
-\cs_new_protected:Npn \xfonttable_first_row_cell:n #1
+\cs_new_protected:Npn \@@_first_row_cell:n #1
{ \NumberStyle \int_to_Hex:n {#1} }
-\cs_new:Npn \xfonttable_multi_row:nn #1#2
+\cs_new:Npn \@@_multi_row:nn #1#2
{
\int_step_function:nnnN
- { \__xfonttable_div_sixteen:n {#1} * 16 }
+ { \@@_div_sixteen:n {#1} * 16 }
{ 16 }
- { (\__xfonttable_div_sixteen:n {#2} + 1) * 16 - 1 }
- \xfonttable_row:n
+ { (\@@_div_sixteen:n {#2} + 1) * 16 - 1 }
+ \@@_row:n
}
-\cs_new:Npn \__xfonttable_div_sixteen:n #1
+\cs_new:Npn \@@_div_sixteen:n #1
{ \int_div_truncate:nn {#1} { 16 } }
-\cs_new:Npn \xfonttable_row:n #1
+\cs_new:Npn \@@_row:n #1
{
% Glyph row
\GlyphStrut
% Row number
- \multirow { 2 } * { \xfonttable_row_nummber:n {#1} }
- \int_step_inline:nnnn {#1} { 1 } { #1 + 15 }
- { & \xfonttable_glyph:n {##1} }
+ \multirow { 2 } * { \@@_row_nummber:n {#1} }
+ \int_step_inline:nnn {#1} { #1 + 15 }
+ { & \@@_glyph:n {##1} }
\\*
- \xfonttable_restore_arstrut:
+ \@@_restore_arstrut:
% Encoding row
- \xfonttable_hline:
+ \@@_hline:
\EncodingStrut
- \int_step_inline:nnnn {#1} { 1 } { #1 + 15 }
- { & \xfonttable_encoding:n {##1} }
+ \int_step_inline:nnn {#1} { #1 + 15 }
+ { & \@@_encoding:n {##1} }
\\
- \xfonttable_hline:
+ \@@_hline:
}
% To skip the first column (i.e. row index).
% LaTeX3 syntax makes `~` to equal space, so we need to change its catcode temporarily.
\group_begin:
\char_set_catcode_active:N \~
- \cs_new:Npn \xfonttable_hline:
- { \hhline { ~ | *{16}{-} } }
+ \cs_new:Npn \@@_hline:
+ { \hhline { ~ | * { 16 } { - } } }
\group_end:
-\cs_new:Npn \xfonttable_set_arstrut:nn #1#2
+\cs_new:Npn \@@_set_arstrut:nn #1#2
{
\tex_noalign:D
{
\group_begin:
% Store the old strutbox
- \box_gset_eq:NN \l__xfonttable_old_arstrut_box \@arstrutbox
+ \box_gset_eq:NN \l_@@_old_arstrut_box \@arstrutbox
% Change the dimensions of \@arstrutbox
\hbox_set_to_wd:Nnn \l_tmpa_box { \c_zero_dim } { }
\box_set_ht:Nn \l_tmpa_box {#1}
@@ -286,16 +272,16 @@
\group_end:
}
}
-\cs_new:Npn \xfonttable_restore_arstrut:
+\cs_new:Npn \@@_restore_arstrut:
{
\tex_noalign:D
- { \box_gset_eq:NN \@arstrutbox \l__xfonttable_old_arstrut_box }
+ { \box_gset_eq:NN \@arstrutbox \l_@@_old_arstrut_box }
}
-\box_new:N \l__xfonttable_old_arstrut_box
+\box_new:N \l_@@_old_arstrut_box
-\cs_new_protected:Npn \xfonttable_row_nummber:n #1
+\cs_new_protected:Npn \@@_row_nummber:n #1
{
- \raisebox { \dim_use:N \c__xfonttable_row_number_ht_dim }
+ \raisebox { \dim_use:N \c_@@_row_number_ht_dim }
{
\NumberStyle
\int_set:Nn \l_tmpa_int { #1 / 16 }
@@ -306,39 +292,39 @@
{ 0 }
}
\int_to_Hex:n { \l_tmpa_int }
- \skip_horizontal:N \c__xfonttable_row_number_sep_dim
+ \skip_horizontal:N \c_@@_row_number_sep_dim
}
}
-\cs_new_protected:Npn \xfonttable_glyph:n #1
+\cs_new_protected:Npn \@@_glyph:n #1
{
\tl_set:Nx \l_tmpa_tl { \int_to_Hex:n {#1} }
- \clist_if_in:NVTF \c__xfonttable_unicode_reserved_clist \l_tmpa_tl
+ \seq_if_in:NVTF \c_@@_unicode_reserved_seq \l_tmpa_tl
{ \cellcolor { reserved@bg } }
{
- \clist_if_in:NVTF \c__xfonttable_unicode_control_clist \l_tmpa_tl
+ \seq_if_in:NVTF \c_@@_unicode_control_seq \l_tmpa_tl
{ \cellcolor { control@bg } }
{
- % It must be outside `\xfonttable_if_char_exist`
+ % It must be outside `\@@_if_char_exist`
\GlyphStyle
- \xfonttable_if_char_exist:nTF {#1}
+ \@@_if_char_exist:nTF {#1}
{
- \xfonttable_symbol:n {#1}
+ \@@_symbol:n {#1}
\refstepcounter { glyph }
- \int_gincr:N \g__xfonttable_glyph_int
+ \int_gincr:N \g_@@_glyph_int
}
{
\normalfont
\int_compare:nNnTF {#1} < { "10000 }
{ \BMPFallbackFont } { \SMPFallbackFont }
- \textcolor { nochar@text } { \xfonttable_symbol:n {#1} }
+ \textcolor { nochar@text } { \@@_symbol:n {#1} }
}
- \int_gincr:N \g__xfonttable_code_point_int
+ \int_gincr:N \g_@@_code_point_int
}
}
}
-\cs_new_protected:Npn \xfonttable_encoding:n #1
+\cs_new_protected:Npn \@@_encoding:n #1
{
\group_begin:
\EncodingStyle
@@ -358,113 +344,54 @@
% #1 = section name
% #2 = non-unicode data file
-\cs_new_protected:Npn \xfonttable_non_unicode:nn #1#2
+\cs_new_protected:Npn \@@_non_unicode:nn #1#2
{
- \tl_set:Nn \l__xfonttable_glyph_count_tl { \ref* { count: glyph @ nuni } }
- \section { #1 ~ (\tl_use:N \l__xfonttable_glyph_count_tl) }
- \cs_set_eq:NN \xfonttable_left_foot: \prg_do_nothing:
- \int_gzero:N \g__xfonttable_nuni_glyph_int
- \xfonttable_nuni_import:n {#2}
- \xfonttable_nuni_parse:
- \xfonttable_nuni_print:
- \newcounter { glyph @ nuni }
- \int_set:cn { c @ glyph @ nuni } { \g__xfonttable_nuni_glyph_int - 1 }
- \refstepcounter { glyph @ nuni } \label { count: glyph @ nuni }
- \refstepcounter { glyph } \label { count: glyph }
- }
-\int_new:N \g__xfonttable_nuni_glyph_int
-
-% #1 = file name (non-unicode.txt)
-\cs_new_protected:Npn \xfonttable_nuni_import:n #1
- {
- \ior_open:Nn \g__xfonttable_nuni_ior {#1}
- \ior_map_inline:Nn \g__xfonttable_nuni_ior
- { \seq_put_right:Nn \l__xfonttable_nuni_data_seq {##1} }
- \ior_close:N \g__xfonttable_nuni_ior
- }
-\ior_new:N \g__xfonttable_nuni_ior
-\seq_new:N \l__xfonttable_nuni_data_seq
-
-% `;` indicates a comment, for the glyph class.
-% Each entry (glyph name) after the comment should be put into the class.
-\cs_new_protected:Npn \xfonttable_nuni_parse:
- {
- \bool_until_do:nn { \seq_if_empty_p:N \l__xfonttable_nuni_data_seq }
- {
- \seq_pop_left:NN \l__xfonttable_nuni_data_seq \l_tmpa_tl
- \tl_if_in:NnTF \l_tmpa_tl { ; }
- {
- \tl_remove_once:Nn \l_tmpa_tl { ; }
- \tl_trim_spaces:N \l_tmpa_tl
- \seq_put_right:NV \l__xfonttable_nuni_class_seq \l_tmpa_tl
- \clist_if_empty:NF \l_tmpa_clist
- {
- \seq_put_right:NV \l__xfonttable_nuni_name_seq \l_tmpa_clist
- \clist_clear:N \l_tmpa_clist
- }
- }
- { \clist_put_right:NV \l_tmpa_clist \l_tmpa_tl }
- }
- % The last class
- \clist_if_empty:NF \l_tmpa_clist
- { \seq_put_right:NV \l__xfonttable_nuni_name_seq \l_tmpa_clist }
+ \tl_set:Nn \l_@@_glyph_count_tl { \ref* { count: glyph @ non-unicode } }
+ \section { #1 ~ (\tl_use:N \l_@@_glyph_count_tl) }
+ \cs_set_eq:NN \@@_left_foot: \prg_do_nothing:
+ \int_gzero:N \g_@@_non_unicode_glyph_int
+ \@@_non_unicode_print:
+ \newcounter { glyph @ non-unicode }
+ \int_set:cn { c @ glyph @ non-unicode } { \g_@@_non_unicode_glyph_int - 1 }
+ \refstepcounter { glyph @ non-unicode } \label { count: glyph @ non-unicode }
+ \refstepcounter { glyph } \label { count: glyph }
}
-\seq_new:N \l__xfonttable_nuni_class_seq
-\seq_new:N \l__xfonttable_nuni_name_seq
+\int_new:N \g_@@_non_unicode_glyph_int
-\cs_new_protected:Npn \xfonttable_nuni_print:
+\cs_new_protected:Npn \@@_non_unicode_print:
{
- \bool_until_do:nn { \seq_if_empty_p:N \l__xfonttable_nuni_class_seq }
- {
- \seq_pop_left:NN \l__xfonttable_nuni_class_seq \l_tmpa_tl
- \seq_pop_left:NN \l__xfonttable_nuni_name_seq \l_tmpa_clist
- \xfonttable_nuni_print_class:VV \l_tmpa_tl \l_tmpa_clist
- }
+ \seq_map_inline:Nn \c_@@_glyph_non_unicode_with_type_seq
+ { \@@_non_unicode_print_class:nn ##1 }
}
% #1 = class
% #2 = clist of glyph names
-\cs_new_protected:Npn \xfonttable_nuni_print_class:nn #1#2
+\cs_new_protected:Npn \@@_non_unicode_print_class:nn #1#2
{
\subsection { #1 ~ (\clist_count:n {#2}) }
\clist_map_inline:nn {#2}
{
- \xfonttable_nuni_cell:n {##1}
+ \@@_non_unicode_cell:n {##1}
\refstepcounter { glyph }
- \int_gincr:N \g__xfonttable_nuni_glyph_int
+ \int_gincr:N \g_@@_non_unicode_glyph_int
}
}
-\cs_generate_variant:Nn \xfonttable_nuni_print_class:nn { VV }
-\cs_new_protected:Npn \xfonttable_nuni_cell:n #1
+\cs_new_protected:Npn \@@_non_unicode_cell:n #1
{
- \tabular { | C { \c__xfonttable_nuni_wd_dim } | }
+ \tabular { | C { \c_@@_non_unicode_wd_dim } | }
% Glyph
\hline
-
-% \hbox_set:Nn \l_tmpa_box { \GlyphStyle \xfonttable_glyph_from_name:n {#1} }
-% \box_ht:N \l_tmpa_box
-% \dim_compare:nNnTF
-
\NonUnicodeGlyphStrut \GlyphStyle
-
-
-% \hbox_set:Nn \l_tmpa_box { \xfonttable_glyph_from_name:n {#1} }
-% \box_show:N \l_tmpa_box
-% \dim_show:n { \box_dp:N \l_tmpa_box }
-% \dim_show:n { \box_ht:N \l_tmpa_box }
-% \dim_show:n { \box_wd:N \l_tmpa_box }
-
-
- \xfonttable_glyph_from_name:n {#1}
+ \@@_glyph_from_name:n {#1}
\\
- \xfonttable_restore_arstrut:
+ \@@_restore_arstrut:
% Encoding (glyph name)
\hline
\EncodingStrut \EncodingStyle
#1
\\
- \xfonttable_restore_arstrut:
+ \@@_restore_arstrut:
\hline
\endtabular
% A space allowing line break
@@ -478,16 +405,16 @@
{
\footnotesize
\int_compare:nNnTF { \int_use:c { c@page } } = { \ztotpages }
- { \xfonttable_left_foot_last_page: } { \xfonttable_left_foot: }
+ { \@@_left_foot_last_page: } { \@@_left_foot: }
}
\fancyfoot [ R ]
{
\footnotesize \itshape
- Copyright~ \copyright{}~ 2018~ by~ Xiangdong~ Zeng
+ Copyright~ \copyright{}~ 2018--2020~ by~ Xiangdong~ Zeng
}
% `\headrulewidth` is not a dim variable.
\cs_set:Npn \headrulewidth { 0 pt }
-\cs_new_protected:Npn \xfonttable_left_foot_last_page:
+\cs_new_protected:Npn \@@_left_foot_last_page:
{
\itshape
Other~ fonts~ used~ in~ this~ document:~
@@ -505,14 +432,14 @@
\setmainfont{FiraGO}[BoldFont=* SemiBold, Numbers=Monospaced]
\setmonofont{Fira Code}[UprightFont=* Light, BoldFont=* Regular]
-\newfontface\SymbolFont{Fira Math Regular}
\newfontface\BMPFallbackFont{Unifont}
\newfontface\SMPFallbackFont{Unifont Upper}
+\newfontface\SymbolFont{Fira Math Regular}
\title{\bfseries\huge Fira Math\\
\itshape\Large Sans-serif font with Unicode math support}
\author{Xiangdong Zeng}
-\date{2018/10/26\quad v0.3.1}
+\date{2020/01/13\quad v0.3.3}
\begin{document}
@@ -546,12 +473,10 @@
\fonttable{C1 Controls and Latin-1 Supplement}{"80-"FF}
\fonttable{Latin Extended-A}{"100-"17F}
\fonttable{Latin Extended-B}{"180-"24F}
-%\fonttable{IPA Extensions}{"250-"2AF}
-%\fonttable{Spacing Modifier Letters}{"2B0-"2FF}
\fonttable{Combining Diacritical Marks}{"300-"36F}
\fonttable{Greek and Coptic}{"370-"3FF}
+\fonttable{Cyrillic}{"400-"4FF}
\fonttable{General Punctuation}{"2000-"206F}
-%\fonttable{Superscripts and Subscripts}{"2070-"209F}
\fonttable{Currency Symbols}{"20A0-"20CF}
\fonttable{Combining Diacritical Marks for Symbols}{"20D0-"20FF}
\fonttable{Letterlike Symbols}{"2100-"214F}
@@ -559,25 +484,18 @@
\fonttable{Arrows}{"2190-"21FF}
\fonttable{Mathematical Operators}{"2200-"22FF}
\fonttable{Miscellaneous Technical}{"2300-"23FF}
-%\fonttable{Control Pictures}{"2400-"243F}
-%\fonttable{Optical Character Recognition}{"2440-"245F}
-%\fonttable{Enclosed Alphanumerics}{"2460-"24FF}
-%\fonttable{Box Drawing}{"2500-"257F}
\fonttable{Block Elements}{"2580-"259F}
\fonttable{Geometric Shapes}{"25A0-"25FF}
\fonttable{Miscellaneous Symbols}{"2600-"26FF}
-%\fonttable{Dingbats}{"2700-"27BF}
\fonttable{Miscellaneous Mathematical Symbols-A}{"27C0-"27EF}
\fonttable{Supplemental Arrows-A}{"27F0-"27FF}
-%\fonttable{Braille Patterns}{"2800-"28FF}
\fonttable{Supplemental Arrows-B}{"2900-"297F}
\fonttable{Miscellaneous Mathematical Symbols-B}{"2980-"29FF}
\fonttable{Supplemental Mathematical Operators}{"2A00-"2AFF}
\fonttable{Miscellaneous Symbols and Arrows}{"2B00-"2BFF}
\fonttable{Alphabetic Presentation Forms}{"FB00-"FB4F}
-\fonttable{Arabic Presentation Forms-B}{"FE70-"FEFF}
\fonttable{Mathematical Alphanumeric Symbols}{"1D400-"1D7FF}
-
-\fonttable*{Non-Unicode Glyphs}{non-unicode.txt}
+\fonttable{Geometric Shapes Extended}{"1F780-"1F7FF}
+\fonttable*{Non-Unicode Glyphs}
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/firamath.doc.tlpobj new/tlpkg/tlpobj/firamath.doc.tlpobj
--- old/tlpkg/tlpobj/firamath.doc.tlpobj 2019-02-28 03:37:28.000000000 +0100
+++ new/tlpkg/tlpobj/firamath.doc.tlpobj 2020-01-14 01:54:44.000000000 +0100
@@ -1,12 +1,12 @@
name firamath.doc
category Package
-revision 48995
+revision 53388
shortdesc doc files of firamath
relocated 1
-docfiles size=140
+docfiles size=155
RELOC/doc/fonts/firamath/README.md
RELOC/doc/fonts/firamath/firamath-demo.pdf
RELOC/doc/fonts/firamath/firamath-demo.tex
- RELOC/doc/fonts/firamath/firamath-non-unicode.txt
+ RELOC/doc/fonts/firamath/firamath-glyph-list.tex
RELOC/doc/fonts/firamath/firamath-specimen.pdf
RELOC/doc/fonts/firamath/firamath-specimen.tex
++++++ firamath.tar.xz ++++++
Binary files old/fonts/opentype/public/firamath/FiraMath-Regular.otf and new/fonts/opentype/public/firamath/FiraMath-Regular.otf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/firamath.tlpobj new/tlpkg/tlpobj/firamath.tlpobj
--- old/tlpkg/tlpobj/firamath.tlpobj 2019-02-28 03:37:28.000000000 +0100
+++ new/tlpkg/tlpobj/firamath.tlpobj 2020-01-14 01:54:44.000000000 +0100
@@ -1,6 +1,6 @@
name firamath
category Package
-revision 48995
+revision 53388
shortdesc Fira sans serif font with Unicode math support
relocated 1
longdesc Fira Math is a sans-serif font with Unicode math support. The
@@ -8,14 +8,13 @@
longdesc is distributed in OpenType format and can be used with the
longdesc unicode-math package under XeLaTeX or LuaLaTeX. More support is
longdesc offered by the firamath-otf package.
-runfiles size=46
+runfiles size=38
RELOC/fonts/opentype/public/firamath/FiraMath-Regular.otf
catalogue-also fira firamath-otf gfsneohellenicmath
catalogue-contact-bugs https://github.com/firamath/firamath/issues
catalogue-contact-home https://firamath.github.io/
catalogue-contact-repository https://github.com/firamath/firamath
catalogue-ctan /fonts/firamath
-catalogue-date 2018-10-28 09:23:50 +0100
catalogue-license ofl
catalogue-topics font font-otf font-sans font-maths
-catalogue-version 0.3.1
+catalogue-version 0.3.3
++++++ fithesis.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fithesis/README.md new/doc/latex/fithesis/README.md
--- old/doc/latex/fithesis/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/fithesis/README.md 2020-03-22 21:49:26.000000000 +0100
@@ -0,0 +1,97 @@
+# About #
+
+`Fithesis3` is a document class for the typesetting of theses at
+the Masaryk University (Brno, Czech Republic). The class has been
+designed for easy extensibility by style and locale files of other
+academic institutions.
+
+# Requirements #
+
+To install the package, you are going to need a POSIX.2-compliant
+environment as well as the following tools:
+
+ * GNU `make`
+ * `epstopdf`
+
+Aside from these tools, the installation requires a correctly
+configured TeX distribution containing the pdfTeX, XeTeX and LuaTeX
+engines as well as the LaTeX packages required for the typesetting
+of the technical documentation within the `fithesis.dtx` file and
+the guide files within the `guide/` subdirectory.
+
+For running the test suite using the `make tests` command, the
+following tools are also required:
+
+ * `faketime`
+ * `comparepdf`
+ * `pdftk`
+
+# Installation #
+
+To install the package, execute the following command from within
+the current directory:
+
+ make base
+ make install-base to=[[TDS]] nohash=true
+
+where `[[TDS]]` is a path in the TeX directory structure to which
+you are going to install the package (such as `/usr/share/texmf`).
+
+After successfully running the commands, update the file name
+database of your TeX distribution, if necessary:
+
+ * In MiKTeX:
+ - Using the GUI: In the Start Menu go to the MiKTeX entry and
+ open either the settings or the admin settings depending on
+ whether you are installing the package into a single-user
+ private directory tree or into a shared directory tree on a
+ multi-user system, respectively. The "MiKTeX Options" window
+ will open. Switch to the "General" tab and click the "Refresh
+ FNDB" button.
+ - Using the command prompt: Execute either `initexmf -u` or
+ `initexmf -u --admin` depending on whether you are installing
+ the package into a single-user private directory tree or into
+ a shared shared directory tree on a multi-user system.
+ * In TeX Live and MacTeX:
+ - Execute `texhash` with superuser privileges (`sudo texhash`).
+
+You may now also wish to typeset and install the user and technical
+documentation of the package. You can do that by running:
+
+ make docs
+ make install-docs to=[[TDS]] nohash=true
+
+where `[[TDS]]` is again a path in the TeX directory structure to
+which you are going to install the documentation and will likely be
+the same as before.
+
+After successfully running the commands, update the file name
+database of your TeX distribution, if necessary.
+
+# Uninstallation #
+
+To uninstall the package, execute the following command from within
+the current directory:
+
+ make uninstall from=[[TDS]]
+
+where `[[TDS]]` is a path in the TeX directory structure to which
+you are going to install the package (such as `/usr/share/texmf`).
+
+After successfully running the commands, update the file name
+database of your TeX distribution, if necessary:
+
+ * In MiKTeX:
+ - Using the GUI: In the Start Menu go to the MiKTeX entry and
+ open either the settings or the admin settings depending on
+ whether you are installing the package into a single-user
+ private directory tree or into a shared directory tree on a
+ multi-user system, respectively. The "MiKTeX Options" window
+ will open. Switch to the "General" tab and click the "Refresh
+ FNDB" button.
+ - Using the command prompt: Execute either `initexmf -u` or
+ `initexmf -u --admin` depending on whether you are installing
+ the package into a single-user private directory tree or into
+ a shared shared directory tree on a multi-user system.
+ * In TeX Live and MacTeX:
+ - Execute `texhash` with superuser privileges (`sudo texhash`).
Binary files old/doc/latex/fithesis/fithesis.pdf and new/doc/latex/fithesis/fithesis.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/econ.pdf and new/doc/latex/fithesis/guide/mu/econ.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/fi.pdf and new/doc/latex/fithesis/guide/mu/fi.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/fsps.pdf and new/doc/latex/fithesis/guide/mu/fsps.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/fss.pdf and new/doc/latex/fithesis/guide/mu/fss.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/law.pdf and new/doc/latex/fithesis/guide/mu/law.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/med.pdf and new/doc/latex/fithesis/guide/mu/med.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/ped.pdf and new/doc/latex/fithesis/guide/mu/ped.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/phil.pdf and new/doc/latex/fithesis/guide/mu/phil.pdf differ
Binary files old/doc/latex/fithesis/guide/mu/sci.pdf and new/doc/latex/fithesis/guide/mu/sci.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fithesis.doc.tlpobj new/tlpkg/tlpobj/fithesis.doc.tlpobj
--- old/tlpkg/tlpobj/fithesis.doc.tlpobj 2019-02-28 03:37:30.000000000 +0100
+++ new/tlpkg/tlpobj/fithesis.doc.tlpobj 2020-03-23 01:56:07.000000000 +0100
@@ -1,9 +1,10 @@
name fithesis.doc
category Package
-revision 47409
+revision 54483
shortdesc doc files of fithesis
relocated 1
-docfiles size=1003
+docfiles size=1306
+ RELOC/doc/latex/fithesis/README.md
RELOC/doc/latex/fithesis/fithesis.pdf
RELOC/doc/latex/fithesis/guide/mu/econ.pdf
RELOC/doc/latex/fithesis/guide/mu/fi.pdf
++++++ fithesis.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/fithesis3.cls new/tex/latex/fithesis/fithesis3.cls
--- old/tex/latex/fithesis/fithesis3.cls 2018-04-09 23:17:50.000000000 +0200
+++ new/tex/latex/fithesis/fithesis3.cls 2020-03-22 21:49:26.000000000 +0100
@@ -54,7 +54,7 @@
\gdef\thesis@version@number{#1}
\gdef\thesis@version@date{#2}
\gdef\thesis@version{#2 #1 fithesis3 MU thesis class}}
-\thesis@versiondef{v0.3.50}{2018/03/25}}
+\thesis@versiondef{v0.3.51}{2020/03/09}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ProvidesClass{fithesis3}[\thesis@version]
@@ -538,16 +538,10 @@
\def\thesis@@#1{\thesis@{\thesis@locale @#1}}
\def\thesis@lower#1{{%
\let\ea\expandafter
- \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\lowercase\ea\ea\ea
- \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea{\ea\ea\ea\ea\ea\ea\ea\ea\ea
- \ea\ea\ea\ea\ea\ea\@gobble\ea\ea\ea\string\ea\csname\csname the%
- sis@#1\endcsname\endcsname}}}
+ \ea\MakeLowercase\ea{\csname thesis@#1\endcsname}}}
\def\thesis@upper#1{{%
\let\ea\expandafter
- \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\uppercase\ea\ea\ea
- \ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea\ea{\ea\ea\ea\ea\ea\ea\ea\ea\ea
- \ea\ea\ea\ea\ea\ea\@gobble\ea\ea\ea\string\ea\csname\csname the%
- sis@#1\endcsname\endcsname}}}
+ \ea\MakeUppercase\ea{\csname thesis@#1\endcsname}}}
\def\thesis@@lower#1{\thesis@lower{\thesis@locale @#1}}
\def\thesis@@upper#1{\thesis@upper{\thesis@locale @#1}}
\def\thesis@head#1 #2{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/locale/fithesis-czech.def new/tex/latex/fithesis/locale/fithesis-czech.def
--- old/tex/latex/fithesis/locale/fithesis-czech.def 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/locale/fithesis-czech.def 2020-03-22 21:49:26.000000000 +0100
@@ -100,7 +100,8 @@
\fi\fi\fi\fi\fi\fi
\thesis@year}}
-\gdef\thesis@czech@authorSignature{Podpis autora}
+\gdef\thesis@czech@authorSignature{%
+ Podpis autor\ifthesis@woman ky\else a\fi}
\gdef\thesis@czech@fieldTitle{Obor}
\gdef\thesis@czech@advisorTitle{Vedoucí práce}
\gdef\thesis@czech@authorTitle{Autor}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/locale/fithesis-slovak.def new/tex/latex/fithesis/locale/fithesis-slovak.def
--- old/tex/latex/fithesis/locale/fithesis-slovak.def 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/locale/fithesis-slovak.def 2020-03-22 21:49:26.000000000 +0100
@@ -100,7 +100,8 @@
\fi\fi\fi\fi\fi\fi
\thesis@year}}
-\gdef\thesis@slovak@authorSignature{Podpis autora}
+\gdef\thesis@slovak@authorSignature{%
+ Podpis autor\ifthesis@woman ky\else a\fi}
\gdef\thesis@slovak@fieldTitle{Odbor}
\gdef\thesis@slovak@advisorTitle{Vedúci práce}
\gdef\thesis@slovak@authorTitle{Autor}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/locale/mu/econ/fithesis-slovak.def new/tex/latex/fithesis/locale/mu/econ/fithesis-slovak.def
--- old/tex/latex/fithesis/locale/mu/econ/fithesis-slovak.def 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/locale/mu/econ/fithesis-slovak.def 2020-03-22 21:49:26.000000000 +0100
@@ -65,7 +65,7 @@
\thesis@extra@advisorSkGenitiv\
a~uved\ifthesis@woman la\else iol\fi\ v~nej všetky
odborné zdroje v~súlade s~právnymi predpismi, vnútornými
- předpismi Masarykovej univerzity a~vnútornými aktmi riadenia
+ predpismi Masarykovej univerzity a~vnútornými aktmi riadenia
Masarykovej univerzity a~Ekonomicko-správnej fakulty MU.}
\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/locale/mu/fi/fithesis-czech.def new/tex/latex/fithesis/locale/mu/fi/fithesis-czech.def
--- old/tex/latex/fithesis/locale/mu/fi/fithesis-czech.def 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/locale/mu/fi/fithesis-czech.def 2020-03-22 21:49:26.000000000 +0100
@@ -55,10 +55,10 @@
\gdef\thesis@czech@assignment{%
\ifthesis@digital@
Na tomto místě se v~tištěné práci nachází oficiální podepsané
- zadání práce a prohlášení autora školního díla.
+ zadání práce a~prohlášení autora školního díla.
\else
Místo tohoto listu vložte kopie oficiálního podepsaného zadání
- práce a prohlášení autora školního díla.
+ práce a~prohlášení autora školního díla.
\fi}
\gdef\thesis@czech@declaration{%
Prohlašuji, že tato \thesis@lower{czech@typeName} je mým
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/locale/mu/ped/fithesis-czech.def new/tex/latex/fithesis/locale/mu/ped/fithesis-czech.def
--- old/tex/latex/fithesis/locale/mu/ped/fithesis-czech.def 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/locale/mu/ped/fithesis-czech.def 2020-03-22 21:49:26.000000000 +0100
@@ -56,10 +56,10 @@
\gdef\thesis@czech@declaration{%
Prohlašuji, že jsem \thesis@lower{czech@typeName@%
akuzativ} vypracoval\thesis@czech@gender@koncovka\ samostatně,
- s~využitím pouze citovaných pramenů, dalších informací a zdrojů
+ s~využitím pouze citovaných pramenů, dalších informací a~zdrojů
v~souladu s~Disciplinárním řádem pro studenty Pedagogické fakulty
- Masarykovy univerzity a se zákonem č.\ 121/2000 Sb., o~právu
- autorském, o~právech souvisejících s~právem autorským a o~změně
+ Masarykovy univerzity a~se zákonem č.\ 121/2000 Sb., o~právu
+ autorském, o~právech souvisejících s~právem autorským a~o~změně
některých zákonů (autorský zákon), ve znění pozdějších předpisů.}
\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/locale/mu/phil/fithesis-slovak.def new/tex/latex/fithesis/locale/mu/phil/fithesis-slovak.def
--- old/tex/latex/fithesis/locale/mu/phil/fithesis-slovak.def 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/locale/mu/phil/fithesis-slovak.def 2020-03-22 21:49:26.000000000 +0100
@@ -59,7 +59,7 @@
\else
<>%
\fi}
-\gdef\thesis@czech@declaration{%
+\gdef\thesis@slovak@declaration{%
\ifx\thesis@department\thesis@departments@kisk
Vyhlasujem, že som predkladanú prácu spracoval%
\thesis@slovak@gender@koncovka\ samostatne~a použil%
Binary files old/tex/latex/fithesis/logo/mu/fithesis-base-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-base-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-base.pdf and new/tex/latex/fithesis/logo/mu/fithesis-base.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-econ-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-econ-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-econ.pdf and new/tex/latex/fithesis/logo/mu/fithesis-econ.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-fi-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-fi-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-fi.pdf and new/tex/latex/fithesis/logo/mu/fithesis-fi.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-fsps-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-fsps-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-fsps.pdf and new/tex/latex/fithesis/logo/mu/fithesis-fsps.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-fss-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-fss-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-fss.pdf and new/tex/latex/fithesis/logo/mu/fithesis-fss.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-law-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-law-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-law.pdf and new/tex/latex/fithesis/logo/mu/fithesis-law.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-med-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-med-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-med.pdf and new/tex/latex/fithesis/logo/mu/fithesis-med.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-ped-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-ped-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-ped.pdf and new/tex/latex/fithesis/logo/mu/fithesis-ped.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-phil-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-phil-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-phil.pdf and new/tex/latex/fithesis/logo/mu/fithesis-phil.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-sci-color.pdf and new/tex/latex/fithesis/logo/mu/fithesis-sci-color.pdf differ
Binary files old/tex/latex/fithesis/logo/mu/fithesis-sci.pdf and new/tex/latex/fithesis/logo/mu/fithesis-sci.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/style/mu/fithesis-base.sty new/tex/latex/fithesis/style/mu/fithesis-base.sty
--- old/tex/latex/fithesis/style/mu/fithesis-base.sty 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/style/mu/fithesis-base.sty 2020-03-22 21:49:26.000000000 +0100
@@ -49,7 +49,7 @@
%%
%% The names of the source files used are shown above.
%%
-\ProvidesPackage{fithesis/style/mu/fithesis-base}[2017/06/02]
+\ProvidesPackage{fithesis/style/mu/fithesis-base}[2018/12/25]
\NeedsTeXFormat{LaTeX2e}
\DeclareOption{10pt}{\def\thesis@ptsize{0}}
\DeclareOption{11pt}{\def\thesis@ptsize{1}}
@@ -179,6 +179,12 @@
\ifx\thesis@bibliography@sorting\undefined
\def\thesis@bibliography@sorting{#1}%
\fi}
+\thesis@def@extra[]{bibliography}
+\ifx\thesis@extra@bibliography
+ \thesis@placeholder@extra@bibliography\else
+ \expandafter\thesis@bibliography@setup\expandafter{%
+ \thesis@extra@bibliography}%
+\fi
\newif\ifthesis@bibliography@loaded@
\thesis@bibliography@loaded@false
\newif\ifthesis@bibliography@included@
@@ -215,7 +221,11 @@
\fi
\fi}
\thesis@require{hyperref}
-\hypersetup{pdfborderstyle={/S/U/W 1}} % Less obtrusive borders
+\ifthesis@digital@
+ \hypersetup{pdfborderstyle={/S/U/W 1}}
+\else
+ \hypersetup{hidelinks}
+\fi
\widowpenalty 10000
\clubpenalty 10000
\def\thesis@color@setup#1{%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/style/mu/fithesis-econ.sty new/tex/latex/fithesis/style/mu/fithesis-econ.sty
--- old/tex/latex/fithesis/style/mu/fithesis-econ.sty 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/style/mu/fithesis-econ.sty 2020-03-22 21:49:26.000000000 +0100
@@ -50,7 +50,7 @@
%% The names of the source files used are shown above.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fithesis/style/mu/fithesis-econ}[2018/02/11]
+\ProvidesPackage{fithesis/style/mu/fithesis-econ}[2018/06/11]
\thesis@color@setup{
links={HTML}{F27995},
tableEmph={HTML}{E8B88B},
@@ -108,21 +108,17 @@
\end{minipage}}\\[4em]\thesis@place, \thesis@year}}
\def\thesis@blocks@frontMatter{%
\thesis@blocks@clear
- % In case of double-sided typesetting, change the geometry
- \ifthesis@twoside@
- \newgeometry{top=25mm,bottom=20mm,left=35mm,
- right=15mm, includeheadfoot}
- \fi\pagestyle{empty}
+ \newgeometry{top=25mm,bottom=20mm,left=35mm,
+ right=15mm, includeheadfoot}
+ \pagestyle{empty}
\parindent 1.5em
\setcounter{page}{1}
\pagenumbering{arabic}}
\def\thesis@blocks@mainMatter{%
\thesis@blocks@clear
- % In case of double-sided typesetting, change the geometry
- \ifthesis@twoside@
- \newgeometry{top=25mm,bottom=20mm,left=35mm,
- right=15mm, includeheadfoot}
- \fi\pagestyle{thesisheadings}
+ \newgeometry{top=25mm,bottom=20mm,left=35mm,
+ right=15mm, includeheadfoot}
+ \pagestyle{thesisheadings}
\parindent 1.5em\relax}
\def\thesis@blocks@tables{%
\thesis@blocks@lot
@@ -196,16 +192,33 @@
\fi}
\def\thesis@blocks@bibEntry{%
\thesis@blocks@clear
- \noindent\begin{thesis@newtable@old}{@{}>{\bfseries}ll@{}}
- \thesis@@{bib@author}: & \thesis@author \\
- \thesis@@{bib@thesisTitle}: & \thesis@title \\
- \ifthesis@english\else
- \thesis@@{bib@thesisTitleEn}: & \thesis@titleEn \\
- \fi
- \thesis@@{bib@department}: & \thesis@department \\
- \thesis@@{bib@advisor}: & \thesis@advisor \\
- \thesis@@{bib@year}: & \thesis@year \\
- \end{thesis@newtable@old}}
+ {\let\@A\relax\newlength{\@A}
+ \settowidth{\@A}{{\bf\thesis@@{bib@author}}}
+ \@B=\@A
+ \settowidth{\@A}{{\bf\thesis@@{bib@thesisTitle}}}
+ \ifdim\@A>\@B\@B=\@A\fi
+ \ifthesis@english\else
+ \settowidth{\@A}{{\bf\thesis@@{bib@thesisTitleEn}}}
+ \ifdim\@A>\@B\@B=\@A\fi
+ \fi
+ \settowidth{\@A}{{\bf\thesis@@{bib@department}}}
+ \ifdim\@A>\@B\@B=\@A\fi
+ \settowidth{\@A}{{\bf\thesis@@{bib@advisor}}}
+ \ifdim\@A>\@B\@B=\@A\fi
+ \settowidth{\@A}{{\bf\thesis@@{bib@year}}}
+ \ifdim\@A>\@B\@B=\@A\fi
+ \noindent\begin{thesis@newtable@old}{@{}>{\bfseries}%
+ p{\dimexpr(\@B + \tabcolsep)}%
+ p{\dimexpr(\textwidth - \@B - 2\tabcolsep)}@{}}
+ \thesis@@{bib@author}: & \thesis@author \\
+ \thesis@@{bib@thesisTitle}: & \thesis@title \\
+ \ifthesis@english\else
+ \thesis@@{bib@thesisTitleEn}: & \thesis@titleEn \\
+ \fi
+ \thesis@@{bib@department}: & \thesis@department \\
+ \thesis@@{bib@advisor}: & \thesis@advisor \\
+ \thesis@@{bib@year}: & \thesis@year \\
+ \end{thesis@newtable@old}}}
\def\thesis@blocks@preamble{%
\thesis@blocks@coverMatter
\thesis@blocks@cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/style/mu/fithesis-law.sty new/tex/latex/fithesis/style/mu/fithesis-law.sty
--- old/tex/latex/fithesis/style/mu/fithesis-law.sty 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/style/mu/fithesis-law.sty 2020-03-22 21:49:26.000000000 +0100
@@ -60,6 +60,8 @@
style=iso-authoryear,
sorting=nyt}
\thesis@bibliography@load
+\thesis@require{chngcntr}
+\counterwithout{footnote}{chapter}
\def\thesis@blocks@cover@header{%
{\sc\thesis@titlePage@Large\thesis@@{facultyLongName}\\%
\thesis@titlePage@large\thesis@department@name\\\vskip 2em}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/style/mu/fithesis-med.sty new/tex/latex/fithesis/style/mu/fithesis-med.sty
--- old/tex/latex/fithesis/style/mu/fithesis-med.sty 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/style/mu/fithesis-med.sty 2020-03-22 21:49:26.000000000 +0100
@@ -50,7 +50,7 @@
%% The names of the source files used are shown above.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fithesis/style/mu/fithesis-med}[2018/02/11]
+\ProvidesPackage{fithesis/style/mu/fithesis-med}[2018/06/11]
\thesis@color@setup{
links={HTML}{F58E76},
tableEmph={HTML}{FF9D85},
@@ -108,21 +108,17 @@
\end{minipage}}\\[4em]\thesis@place, \thesis@@{semester}}}
\def\thesis@blocks@frontMatter{%
\thesis@blocks@clear
- % In case of double-sided typesetting, change the geometry
- \ifthesis@twoside@
- \newgeometry{top=25mm,bottom=20mm,left=35mm,
- right=15mm, includeheadfoot}
- \fi\pagestyle{empty}
+ \newgeometry{top=25mm,bottom=20mm,left=35mm,
+ right=15mm, includeheadfoot}
+ \pagestyle{empty}
\parindent 1.5em
\setcounter{page}{1}
\pagenumbering{roman}}
\def\thesis@blocks@mainMatter{%
\thesis@blocks@clear
- % In case of double-sided typesetting, change the geometry
- \ifthesis@twoside@
- \newgeometry{top=25mm,bottom=20mm,left=35mm,
- right=15mm, includeheadfoot}
- \fi\setcounter{page}{1}
+ \newgeometry{top=25mm,bottom=20mm,left=35mm,
+ right=15mm, includeheadfoot}
+ \setcounter{page}{1}
\pagenumbering{arabic}
\pagestyle{thesisheadings}
\parindent 1.5em
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fithesis/style/mu/fithesis-phil.sty new/tex/latex/fithesis/style/mu/fithesis-phil.sty
--- old/tex/latex/fithesis/style/mu/fithesis-phil.sty 2018-02-12 23:56:35.000000000 +0100
+++ new/tex/latex/fithesis/style/mu/fithesis-phil.sty 2020-03-22 21:49:26.000000000 +0100
@@ -57,7 +57,7 @@
tableOdd={HTML}{EBF6FA},
tableEven={HTML}{D0EBF5}}
\thesis@bibliography@setup{
- style=iso-numeric,
+ style=iso-authoryear,
sorting=nty}
\thesis@bibliography@load
\thesis@blocks@titlePage@department@true
@@ -67,18 +67,12 @@
\def\thesis@department@name{\thesis@@{departmentName}}
\def\thesis@departmentEn@name{\thesis@english@departmentName}
\fi
-\ifx\thesis@department\thesis@departments@kisk
- \def\thesis@blocks@titlePage@content{%
- {\thesis@titlePage@Huge\bf\thesis@TeXtitle\par\vfil}\vskip 0.8in
- {\thesis@titlePage@large\sc\thesis@@{typeName}\\[0.3in]}
- {\thesis@titlePage@Large\bf\thesis@author}
- % If this is a KISK thesis, typeset the name of the thesis
- % advisor.
- \ifx\thesis@department\thesis@departments@kisk
- {\thesis@titlePage@large\\[0.3in]
- {\bf\thesis@@{advisorTitle}:} \thesis@advisor}
- \fi}%
-\fi
+\def\thesis@blocks@titlePage@content{%
+ {\thesis@titlePage@Huge\bf\thesis@TeXtitle\par\vfil}\vskip 0.8in
+ {\thesis@titlePage@large\sc\thesis@@{typeName}\\[0.3in]}
+ {\thesis@titlePage@Large\bf\thesis@author}
+ {\thesis@titlePage@large\\[0.3in]
+ {\bf\thesis@@{advisorTitle}:} \thesis@advisor}}
\def\thesis@blocks@preamble{%
\thesis@blocks@coverMatter
\thesis@blocks@cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fithesis.tlpobj new/tlpkg/tlpobj/fithesis.tlpobj
--- old/tlpkg/tlpobj/fithesis.tlpobj 2019-02-28 03:37:31.000000000 +0100
+++ new/tlpkg/tlpobj/fithesis.tlpobj 2020-03-23 01:56:08.000000000 +0100
@@ -1,13 +1,13 @@
name fithesis
category Package
-revision 47409
+revision 54483
shortdesc Thesis class and template for Masaryk University (Brno, Czech Republic)
relocated 1
longdesc A document class for the typesetting of theses at the Masaryk
longdesc University (Brno, Czech Republic). The class has been designed
longdesc for easy extensibility by style and locale files of other
longdesc academic institutions.
-runfiles size=596
+runfiles size=597
RELOC/tex/latex/fithesis/fithesis.cls
RELOC/tex/latex/fithesis/fithesis2.cls
RELOC/tex/latex/fithesis/fithesis3.cls
@@ -106,7 +106,6 @@
catalogue-contact-home https://www.fi.muni.cz/lemma/projekty/fithesis3/#fithesis
catalogue-contact-repository https://github.com/Witiko/fithesis3
catalogue-ctan /macros/latex/contrib/fithesis
-catalogue-date 2018-04-09 00:17:56 +0200
catalogue-license lppl1.3
catalogue-topics dissertation class
-catalogue-version 0.3.50
+catalogue-version 0.3.51
++++++ fixcmex.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fixcmex/README new/doc/latex/fixcmex/README
--- old/doc/latex/fixcmex/README 2015-11-10 23:21:04.000000000 +0100
+++ new/doc/latex/fixcmex/README 2019-08-05 23:07:15.000000000 +0200
@@ -1,9 +1,9 @@
The fixcmex package provides fully scalable
Computer Modern Math Extensions font.
-This is version 1.0 of the package
+This is version 1.1 of the package
- Copyright 2015 Enrico Gregorio
+ Copyright 2019 Enrico Gregorio
This program is provided under the terms of the
LaTeX Project Public License distributed from CTAN
@@ -32,5 +32,5 @@
it (the FAQ on CTAN in /help/uktug-FAQ gives more
information about this magic place
-2015/11/10
+2019/08/05
Enrico Gregorio
Binary files old/doc/latex/fixcmex/fixcmex.pdf and new/doc/latex/fixcmex/fixcmex.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fixcmex.doc.tlpobj new/tlpkg/tlpobj/fixcmex.doc.tlpobj
--- old/tlpkg/tlpobj/fixcmex.doc.tlpobj 2019-02-28 03:37:34.000000000 +0100
+++ new/tlpkg/tlpobj/fixcmex.doc.tlpobj 2019-08-06 01:53:04.000000000 +0200
@@ -1,8 +1,8 @@
name fixcmex.doc
category Package
-revision 38816
+revision 51825
shortdesc doc files of fixcmex
relocated 1
-docfiles size=50
+docfiles size=51
RELOC/doc/latex/fixcmex/README
RELOC/doc/latex/fixcmex/fixcmex.pdf
++++++ fixcmex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/fixcmex/fixcmex.sty new/tex/latex/fixcmex/fixcmex.sty
--- old/tex/latex/fixcmex/fixcmex.sty 2015-11-10 23:21:04.000000000 +0100
+++ new/tex/latex/fixcmex/fixcmex.sty 2019-08-05 23:07:15.000000000 +0200
@@ -8,29 +8,30 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2015 by Enrico Gregorio
+%% Copyright (C) 2015-2019 by Enrico Gregorio
%%
%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.2 of this license
+%% the LaTeX Project Public License, either version 1.3c 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.2 or later is part of all distributions of LaTeX version
-%% 1999/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{fixcmex}
- [2015/11/10 v1.0 Scalable math extensions font (Enrico Gregorio)]
+ [2019/08/05 v1.1 Scalable math extensions font (Enrico Gregorio)]
\def\fixcmex@fix{%
\DeclareFontShape{OMX}{cmex}{m}{n}{%
<-7.5> cmex7
<7.5-8.5> cmex8
<8.5-9.5> cmex9
<9.5-> cmex10
- }{}
- \DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
+ }{}%
+ \SetSymbolFont{largesymbols}{normal}{OMX}{cmex}{m}{n}%
+ \SetSymbolFont{largesymbols}{bold}{OMX}{cmex}{m}{n}%
+ \mathversion{\math@version}%
}
\@onlypreamble\fixcmex@fix
\AtBeginDocument{%
@@ -46,8 +47,7 @@
\ifx\f@family
\fixcmex@lmex\aftergroup\fixcmex@fix
\else
- \PackageWarningNoLine{fixcmex}
- {No change in the math extension font}%
+ \PackageWarningNoLine{fixcmex}{No change in the math extension font}%
\fi
\fi
\endgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fixcmex.tlpobj new/tlpkg/tlpobj/fixcmex.tlpobj
--- old/tlpkg/tlpobj/fixcmex.tlpobj 2019-02-28 03:37:34.000000000 +0100
+++ new/tlpkg/tlpobj/fixcmex.tlpobj 2019-08-06 01:53:04.000000000 +0200
@@ -1,6 +1,6 @@
name fixcmex
category Package
-revision 38816
+revision 51825
shortdesc Fully scalable version of Computer Modern Math Extension font
relocated 1
longdesc This package provides a fully scalable version of the Computer
@@ -14,7 +14,7 @@
runfiles size=1
RELOC/tex/latex/fixcmex/fixcmex.sty
catalogue-ctan /macros/latex/contrib/fixcmex
-catalogue-date 2016-06-24 19:18:15 +0200
-catalogue-license lppl1.3
+catalogue-date 2019-08-05 17:04:19 +0200
+catalogue-license lppl1.3c
catalogue-topics font-supp-maths
-catalogue-version 1.0
+catalogue-version 1.1
++++++ fiziko.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fiziko.doc.tlpobj new/tlpkg/tlpobj/fiziko.doc.tlpobj
--- old/tlpkg/tlpobj/fiziko.doc.tlpobj 2019-03-09 02:24:26.000000000 +0100
+++ new/tlpkg/tlpobj/fiziko.doc.tlpobj 2020-03-24 01:58:03.000000000 +0100
@@ -1,6 +1,6 @@
name fiziko.doc
category Package
-revision 50293
+revision 54512
shortdesc doc files of fiziko
relocated 1
docfiles size=1123
++++++ fiziko.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fiziko.tlpobj new/tlpkg/tlpobj/fiziko.tlpobj
--- old/tlpkg/tlpobj/fiziko.tlpobj 2019-03-09 02:24:28.000000000 +0100
+++ new/tlpkg/tlpobj/fiziko.tlpobj 2020-03-24 01:58:04.000000000 +0100
@@ -1,6 +1,6 @@
name fiziko
category Package
-revision 50293
+revision 54512
shortdesc A MetaPost library for physics textbook illustrations
relocated 1
longdesc This MetaPost library was initially written to automate some
@@ -15,7 +15,6 @@
catalogue-contact-bugs https://github.com/jemmybutton/fiziko/issues
catalogue-contact-repository https://github.com/jemmybutton/fiziko
catalogue-ctan /graphics/metapost/contrib/macros/fiziko
-catalogue-date 2019-03-08 16:31:18 +0100
-catalogue-license gpl3+cc-by-sa-4
+catalogue-license gpl3+ cc-by-sa-4
catalogue-topics physics graphics graphics-mpost
catalogue-version 0.1.3
++++++ fjodor.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fjodor/Changes.txt new/doc/latex/fjodor/Changes.txt
--- old/doc/latex/fjodor/Changes.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/fjodor/Changes.txt 2019-12-22 22:54:47.000000000 +0100
@@ -0,0 +1,4 @@
+
+Changes 2019/12/22
+
+Small changes in documentation file make Mark Rudolph.
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fjodor/README new/doc/latex/fjodor/README
--- old/doc/latex/fjodor/README 2010-09-09 20:21:23.000000000 +0200
+++ new/doc/latex/fjodor/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-
-This is the README file
-
-This package provide nice layout and typeout for a
-small books.
-
-This package is publisher under GNU GENERAL PUBLIC LICENCE.
-You can redistribute it and/or modify it under the terms
-og he GNU General Public Licence as published by the
-Free Software Foundation; either version 2 od the Licence,
-or (at your options) any later version.
-See www.gnu.org for details.
-
-Zoran T. Filipovic
-Jurija Gagarina 263/6
-11070 Novi Beograd
-Srbija
-zoran dot filipovic at yahoo dot com
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fjodor/README.txt new/doc/latex/fjodor/README.txt
--- old/doc/latex/fjodor/README.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/fjodor/README.txt 2019-12-22 22:54:47.000000000 +0100
@@ -0,0 +1,20 @@
+
+This is the README file
+
+ Copyright (C) 2019 Zoran Filipovi\'{c}
+
+This package provide nice layout and typeout for a
+small books.
+
+This package is publisher under GNU GENERAL PUBLIC LICENCE.
+You can redistribute it and/or modify it under the terms
+og he GNU General Public Licence as published by the
+Free Software Foundation; either version 2 od the Licence,
+or (at your options) any later version.
+See www.gnu.org for details.
+
+Zoran T. Filipovic
+Jurija Gagarina 263/6
+11070 Novi Beograd
+Srbija
+zoran dot filipovic at yahoo dot com
Binary files old/doc/latex/fjodor/fjodor.pdf and new/doc/latex/fjodor/fjodor.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/fjodor/fjodor.tex new/doc/latex/fjodor/fjodor.tex
--- old/doc/latex/fjodor/fjodor.tex 2010-10-27 01:31:49.000000000 +0200
+++ new/doc/latex/fjodor/fjodor.tex 2019-12-22 22:54:47.000000000 +0100
@@ -1,79 +1,60 @@
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
+%\usepackage[latin1]{inputenc}
\usepackage{lmodern}
+\usepackage{microtype}
-\title{The \textsf{fjodor} package\protect\footnote{This package
-is dedicated of the glory work of russian writers Fjodor Mihajlovi\v{c} Dostojevski.}}
+\title{The \textsf{fjodor} package\protect\footnote{This package is dedicated to the glorious works of the Russian writer Fjodor Mihajlovi\v{c} Dostojevski.}}
\author{Zoran T. Filipovi\'{c} \\
Jurija Gagarina 263/6 \\
- 11070 Novi Beograd, Srbija}
+ 11070 Novi Beograd, Serbia}
-\usepackage[english,serbian]{babel}
+\usepackage[serbian,english]{babel}
\def\dateserbian{%
- \def\today{\number\day .~\ifcase\month\or
- januar\or februar\or mart\or april\or maj\or
- jun\or jul\or avgust\or septembar\or oktobar\or
- novembar\or decembar\fi \space \number\year.}}
+ \def\today{\number\day~\ifcase\month\or
+ January\or February\or March\or April\or May\or
+ June\or July\or August\or September\or October\or
+ November\or December\fi \space \number\year}}
\begin{document}
-\frenchspacing
+%\frenchspacing
\maketitle
\selectlanguage{english}
\begin{abstract}
-This package produce a very nice layout and typeout for a small books. Working
-under a \verb|memoir| documentclass. Package contains several options and name
-of options is same name of writers of this books.
+This package produces a very nice layout and typeblock for small book, working under the \verb|memoir| document class. The package contains several options and the names of the options are the same names as the writers of those books.
\end{abstract}
-\section{Put it!}
+\section{Use It!}
-If you want to yous this package just put it the following line in your preambula:
-\verb|\usepackage[options]{fjodor}| and push your machine.
+If you want to use this package just put the following line in your preamble: \verb|\usepackage[options]{fjodor}|.
-\subsection{Options}
-
-This package contains several options which is describle this.
+This package contains several options.
\begin{description}
-\item[fjodor] which i dadicated in Fjodor Mihailovi\v{c} Dostojevski produce layout in \verb|\pagemlargecrownvo| typeout in 9.5$\times$15.5\,cm whith 1.5\,cm spine margins
-and 2.5\,cm upper margins. Usefull for 10pt font size.
-\item[katajev] which i dadicated in Pavel Valentinovi\v{c} Katajev produce layout in
-17.5$\times$11.7\,cm, typeout in 9.1$\times$14.3\,cm whidth 1.3\,cm spine and upper margin.
-Total number of text lines is 34.
-\item[hese] which i dadicated to Hermann Hesse produce layout in 19.8$\times$14\,cm
-typeout in 9.8$\times$14.3\,cm whidth 1.75\,cm spine margin and 2.1\,cm upper margin.
-Total number of text lines is 34.
-\item[puskin] which i dadicated to Pu\v{s}kin produce layout in 19.8$\times$14\,cm
-typeout in 9.9$\times$15.2\,cm whidth 2\,cm spine margin and 2.5\,cm uper margin.
-\item[ernest] which i dadicated to Ernest Hemingway produce layout in 19$\times$12\,cm
-typeout in 9$\times$14.5\,cm whidth 1.3\,cm spine margin and 1.7\,cm upper margin.
-Total number of text lines is 35.
-\item[viktor] which i dadicated to Viktor Jorofejev produce layout in 19$\times$12\,cm
-typeout in 9.4$\times$15.04\,cm whidth 1\,cm spine margin and 1.4\,cm upper margin.
-Total number of text lines is 36.
-\item[remark] which i dadicated to Erich Maria Remarque produce layout in 19.5$\times$13.5\,cm
-typeout in 9.9$\times$15.4\,cm whidth 1.3\,cm spine margin and 1.5\,cm upper margin.
-Total number of text lines is 37.
-\item[tehnicar] which i dadicated to small technical book, which was printing on Mechanical Faculity of Belgrade, produce layout in 20$\times$14\,cm
-typeout in 10$\times$16\,cm whidth 1.5\,cm spine margin and 1.7\,cm upper margin.
-Total number of text lines is 46. Usefull for small tehnical book in 9pt font size.
-\item[ulro] which i dadicated in \v{C}eslav Milo\v{s}, book ZEMLJA ULRO,
-produce layout in 20$\times$14\,cm typeout in 9.8$\times$15.2\,cm whidth 2\,cm spine
-margin and 2\,cm upper margin. Total number of text lines is 37. Usefull for book in 10pt
-font size.
-\item[aristotel] which i dadicated to greek philosophist Aristotel, book FIZIKA,
-produce layout in 20.8$\times$13.7\,cm typeout in 8.1$\times$16.7\,cm whidth 2.7\,cm spine
-margin and 2\,cm upper margin. Total number of text lines is 40. Usefull for book in 10pt
-font size.
-\item[jaeger] which i dadicated to Charles Jaeger, book Th\'{e}orie G\'{e}n\'{e}rale du Coup
-De B\'{e}lier, produce layout in 24.1$\times$15.6\,cm typeout in 10.4$\times$16.9\,cm
-whidth 2.3\,cm spine margin and 3\,cm upper margin. Total number of text lines is 41 for 10pt
-font size.
-\item[tesla] which i dadicated to Nikola Tesla, book Colorado Springs Notes 1899---1900,
-produce layout in 27.7$\times$20.5\,cm typeout in 13.5$\times$21\,cm whidth 2.6\,cm spine
-margin and 2.6\,cm upper margin. Total number of text lines is 41 for 11pt font size.
+ \item[fjodor] which I have dedicated to Fjodor Mihailovi\v{c} Dostojevski, produces a layout of a \verb|\pagemlargecrownvo|, a textblock of $9.5 \times15.5$~cm, a $1.5$~cm spine, and a $2.5$~cm upper margin, particularly useful for a 10pt font size.
+
+ \item[katajev] which I have dedicated to Pavel Valentinovi\v{c} Katajev, produces a layout of $17.5 \times 11.7$~cm, a $9.1 \times 14.3$~cm typeblock, and a $1.3$~cm spine and upper margin. The total number of text lines is $34$.
+
+ \item[hese] which I have dedicated to Hermann Hesse, produces a layout of a $19.8 \times 14$~cm, a textblock of $9.8 \times 14.3$~cm, a $1.75$~cm spine and a $2.1$~cm upper margin. The total number of text lines is $34$.
+
+ \item[puskin] which I have dedicated to Alexander Sergeyevich Pu\v{s}kin, produces layout of $19.8 \times 14$~cm, a textblock of $9.9 \times 15.2$~cm, a $2$~cm spine, and a $2.5$~cm upper margin.
+
+ \item[ernest] which I have dedicated to Ernest Hemingway, produces a layout of $19 \times 12$~cm, a $9 \times 14.5$~cm typeblock, $1.3$~cm spine, and a $1.7$~cm upper margin. The total number of text lines is $35$.
+
+ \item[viktor] which I have dedicated to Viktor Vladimirovich Yerofeyev, produces a layout of $19 \times 12$~cm, a textblock of $9.4 \times 15.04$~cm, a $1$~cm spine, and a $1.4$~cm upper margin. The total number of text lines is $36$.
+
+ \item[remark] which I have dedicated to Erich Maria Remarque, produces a layout of $19.5 \times 13.5$~cm, a textblock of $9.9 \times 15.4$~cm, a $1.3$~cm spine, and a $1.5$~cm upper margin. The total number of text lines is 37.
+
+ \item[tehnicar] which I have dedicated to a small technical book printed by the Mechanical Faculty of Belgrade, produces a layout of $20 \times 14$~cm, a textblock of $10 \times 16$~cm, a $1.5$~cm spine, and a $1.7$~cm upper margin. The total number of text lines is $46$. This is useful for small technical books in a 9pt font size.
+
+ \item[ulro] which I have dedicated to Czes\l{}aw Mi\l{}osz's book ``Zemlja Ulro'', produces a layout of $20 \times 14$~cm, a textblock of $9.8 \times 15.2$~cm, a $2$~cm spine and a $2$~cm upper margin. The total number of text lines is $37$, useful for books in a 10pt font size.
+
+ \item[aristotel] which I have dedicated to the Greek philosopher Aristotle's book ``Physics'', produces a layout of $20.8 \times 13.7$~cm, a typeblock of $8.1 \times 16.7$~cm, a $2.7$~cm spine, and a $2$~cm upper margin. The total number of text lines is $40$ and is useful for books set in a 10pt font size.
+
+ \item[jaeger] which I have dedicated to Charles Jaeger's ``Th\'{e}orie G\'{e}n\'{e}rale Du Coup De B\'{e}lier'', produces a layout of $24.1 \times 15.6$~cm, a textblock of $10.4 \times 16.9$~cm, a $2.3$~cm spine, and a $3$~cm upper margin. The total number of text lines is $41$ for a 10pt font size.
+
+ \item[tesla] which I have dedicated to Nikola Tesla's book ``Colorado Springs Notes, 1899--1900'', produces a layout of $27.7 \times 20.5$~cm, a textblock of $13.5 \times 21$~cm, a $2.6$~cm spine, and a $2.6$~cm upper margin. The total number of text lines is $41$ for an 11pt font size.
\end{description}
\end{document}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fjodor.doc.tlpobj new/tlpkg/tlpobj/fjodor.doc.tlpobj
--- old/tlpkg/tlpobj/fjodor.doc.tlpobj 2019-02-28 03:37:35.000000000 +0100
+++ new/tlpkg/tlpobj/fjodor.doc.tlpobj 2019-12-23 01:54:50.000000000 +0100
@@ -1,10 +1,11 @@
name fjodor.doc
category Package
-revision 20220
+revision 53207
shortdesc doc files of fjodor
relocated 1
-docfiles size=125
- RELOC/doc/latex/fjodor/README
+docfiles size=126
+ RELOC/doc/latex/fjodor/Changes.txt
+ RELOC/doc/latex/fjodor/README.txt
RELOC/doc/latex/fjodor/dostojevski.pdf
RELOC/doc/latex/fjodor/dostojevski.tex
RELOC/doc/latex/fjodor/fjodor.pdf
++++++ fjodor.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/fjodor.tlpobj new/tlpkg/tlpobj/fjodor.tlpobj
--- old/tlpkg/tlpobj/fjodor.tlpobj 2019-02-28 03:37:36.000000000 +0100
+++ new/tlpkg/tlpobj/fjodor.tlpobj 2019-12-23 01:54:50.000000000 +0100
@@ -1,6 +1,6 @@
name fjodor
category Package
-revision 20220
+revision 53207
shortdesc A selection of layout styles
relocated 1
longdesc The package provides several page layouts, selectable by
@@ -8,6 +8,5 @@
runfiles size=2
RELOC/tex/latex/fjodor/fjodor.sty
catalogue-ctan /macros/latex/contrib/fjodor
-catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics geometry