Hello community,
here is the log from the commit of package texlive-specs-y for openSUSE:Factory checked in at 2015-04-25 09:49:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive-specs-y (Old)
and /work/SRC/openSUSE:Factory/.texlive-specs-y.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-specs-y"
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive-specs-y/texlive-specs-y.changes 2015-02-24 13:06:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.texlive-specs-y.new/texlive-specs-y.changes 2015-04-25 09:51:01.000000000 +0200
@@ -1,0 +2,72 @@
+Wed Apr 15 13:43:57 UTC 2015 - werner@suse.de
+
+- Handle unkown scripts
+
+-------------------------------------------------------------------
+Tue Apr 14 13:53:08 UTC 2015 - werner@suse.de
+
+- Make sure that tabs are used within <<-EOF...EOF pair
+
+-------------------------------------------------------------------
+Thu Apr 2 12:25:21 UTC 2015 - werner@suse.de
+
+- Package pas-cours: move runfiles from doc to working directory
+
+-------------------------------------------------------------------
+Thu Apr 2 10:33:38 UTC 2015 - werner@suse.de
+
+- Handle rpmlintrc for each meta spec file its self
+
+-------------------------------------------------------------------
+Wed Apr 1 16:47:12 UTC 2015 - werner@suse.de
+
+- The new TeXLive package layout had suppressed the detection of many
+ Provides which is fixed now.
+- The null.tex is now in texlive-knuth-lib, therefore require
+ tex(null.tex) in luatex.requires and tex.requires instead of the
+ gone texlive-misc.
+
+-------------------------------------------------------------------
+Wed Apr 1 07:47:29 UTC 2015 - werner@suse.de
+
+- Add exceltex.requires which now Requires perl(Spreadsheet::ParseExcel)
+ (boo#891617)
+- Patch kpathsea_cnf.dif moved from texlive-specs-m to texlive-specs-l
+
+-------------------------------------------------------------------
+Mon Mar 30 08:39:12 UTC 2015 - werner@suse.de
+
+- Add patch dvips_config.dif (boo#897284)
+- Remove patch pgf_plain.dif as now upstream
+- Remove patch latexdiff_env.dif as the affected file is gone
+- Modified patches
+ luaotfload_varfonts.dif
+ tetex_scripts.dif
+ tex4ht_env.dif
+- Removed files pst-node.moves and pst-plot.moves as now the files
+ are at the correct location
+
+-------------------------------------------------------------------
+Thu Mar 26 14:05:48 UTC 2015 - werner@suse.de
+
+- Update to TeXLive 2014 (timestamp 20140525 revision 34252)
+ * Support DVIPDFMx
+ * [fix] avoid luatex crash under math_mode 'decimal'
+ * luaotfload: Fix incorrect handling of font file formats luaotfload)
+ * Sync with Context beta as of 2014-04-05
+ * pdfTeX: sync with Knuth TeX 3.14159265, e-TeX 2.6
+ * Many more ...
+
+-------------------------------------------------------------------
+Fri Feb 27 12:33:49 UTC 2015 - coolo@suse.com
+
+- patch -p1 from within texmf-dist to avoid patching through symlinks
+ to please new patch
+
+-------------------------------------------------------------------
+Thu Feb 26 13:30:39 UTC 2015 - coolo@suse.com
+
+- avoid bootstrap problems by ignoring built packages for packages
+ required by texlive
+
+-------------------------------------------------------------------
Old:
----
voss-de.doc.tar.xz
xbmc.tar.xz
yafoot.doc.tar.xz
yafoot.tar.xz
yagusylo.doc.tar.xz
yagusylo.tar.xz
yannisgr.doc.tar.xz
yannisgr.tar.xz
yax.doc.tar.xz
yax.tar.xz
ydoc.doc.tar.xz
ydoc.tar.xz
yfonts.doc.tar.xz
yfonts.tar.xz
yhmath.doc.tar.xz
yhmath.tar.xz
york-thesis.doc.tar.xz
york-thesis.tar.xz
youngtab.doc.tar.xz
youngtab.tar.xz
New:
----
texlive-specs-y-rpmlintrc
varsfromjobname.doc.tar.xz
varsfromjobname.tar.xz
varwidth.doc.tar.xz
varwidth.tar.xz
vaucanson-g.doc.tar.xz
vaucanson-g.tar.xz
vdmlisting.doc.tar.xz
vdmlisting.tar.xz
velthuis.doc.tar.xz
velthuis.tar.xz
venn.doc.tar.xz
venn.tar.xz
venndiagram.doc.tar.xz
venndiagram.tar.xz
vgrid.doc.tar.xz
vgrid.tar.xz
voss-mathcol.doc.tar.xz
voss-mathmode.doc.tar.xz
withargs.doc.tar.xz
withargs.tar.xz
wsemclassic.doc.tar.xz
wsemclassic.tar.xz
xcharter.doc.tar.xz
xcharter.tar.xz
xcjk2uni.doc.tar.xz
xcjk2uni.tar.xz
xii.doc.tar.xz
xymtex.doc.tar.xz
xymtex.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-specs-y.spec ++++++
++++ 9943 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/texlive-specs-y/texlive-specs-y.spec
++++ and /work/SRC/openSUSE:Factory/.texlive-specs-y.new/texlive-specs-y.spec
++++++ texlive-specs-y-rpmlintrc ++++++
addFilter(".*dangling-symlink.*/fonts/.*")
addFilter(".*dangling-symlink.*/zypper\.py.*")
addFilter(".*description-shorter-than-summary.*")
addFilter(".*devel-file-in-non-devel-package.*/doc/.*")
addFilter(".*files-duplicate.*")
addFilter(".*E:.*files-duplicated-waste.*")
addFilter(".*spelling-error.*")
addFilter(".*zero-length.*")
addFilter(".*E:.*summary-too-long.*")
addFilter(".*incorrect-fsf-address.*")
addFilter(".*hidden-file-or-dir.*/\.tex.*")
addFilter(".*wrong-script-end-of-line-encoding.*")
addFilter(".*script-without-shebang.*/doc/.*")
addFilter(".*wrong-script-interpreter.*/doc/.*")
addFilter(".*non-executable-script.*/doc/.*")
++++++ verbatimbox.doc.tar.xz ++++++
Files old/doc/latex/verbatimbox/verbatimbox.pdf and new/doc/latex/verbatimbox/verbatimbox.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/verbatimbox/verbatimbox.tex new/doc/latex/verbatimbox/verbatimbox.tex
--- old/doc/latex/verbatimbox/verbatimbox.tex 2013-04-26 00:32:41.000000000 +0200
+++ new/doc/latex/verbatimbox/verbatimbox.tex 2014-03-16 22:44:47.000000000 +0100
@@ -1,5 +1,4 @@
\documentclass{article}
-\def\version{3.0}
% Copyright 2013 Steven B. Segletes
%
% This work may be distributed and/or modified under the
@@ -13,17 +12,12 @@
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Steven B. Segletes.
-% Revisions:
-% 2.01 -Added LPPL License info to package
-% 3.0 -Added myverbbox environment
-% -Corrected problem when no optional arguments are passed to
-% verbbox environment
-% -Added optional arguments to \addvbuffer
%
\parskip 1em
\parindent 0em
\usepackage{verbatimbox}
\usepackage{etoolbox}
+\usepackage{color}
\makeatletter
\preto{\@verbatim}{\topsep=0pt \partopsep=0pt }
\makeatother
@@ -38,7 +32,10 @@
\newcommand\margenv[1]{\marginpar{\hfill\ttfamily#1}}
\begin{document}
+\begin{myverbbox}{\bgn}\begin\end{myverbbox}
+\begin{myverbbox}{\edng}\end\end{myverbbox}
\begin{myverbbox}{\vrbox}verbbox\end{myverbbox}
+\begin{myverbbox}{\vrnobox}verbnobox\end{myverbbox}
\begin{myverbbox}{\myvrbox}myverbbox\end{myverbbox}
\begin{myverbbox}{\ovrbox}origverbbox\end{myverbbox}
\begin{myverbbox}{\vbenv}\begin{verbbox}\end{myverbbox}
@@ -46,6 +43,7 @@
\begin{myverbbox}{\myvb}\begin{myverbbox}\end{myverbbox}
\begin{myverbbox}{\emyvb}end{myverbbox}\end{myverbbox}
\begin{myverbbox}{\vbfbox}\verbfilebox\end{myverbbox}
+\begin{myverbbox}{\vbfnobox}\verbfilenobox\end{myverbbox}
\begin{myverbbox}{\tvb}\theverbbox\end{myverbbox}
\begin{myverbbox}{\avb}\addvbuffer\end{myverbbox}
\begin{myverbbox}{\bts}\boxtopsep\end{myverbbox}
@@ -63,13 +61,17 @@
\begin{center}
\LARGE The {\vbx} Package\\
\rule{0em}{.7em}\small
-Routines for placing verbatim text into boxes, useful in places where
-the verbatim environment is inaccessible. Secondarily, for adding
-vertical buffer around an object.\\
+{\centering
+\begin{minipage}{.7\textwidth}%
+Routines for placing stylized verbatim text into boxes, useful in
+places where the verbatim environment is inaccessible. Secondarily,
+for adding vertical buffer around an object.
+\end{minipage}
+}\\
\rule{0em}{2.7em}\large Steven B. Segletes\\
steven.b.segletes.civ@mail.mil\\
\rule{0em}{1.7em}\today\\
-v\version
+\verbatimboxVersionNumber
\end{center}
\section{Description and Commands}
@@ -81,11 +83,21 @@
is also useful if a given verbatim text needs to be recalled multiple
times within a document.
+One very nice feature of this package is the optional argument to both
+environments and macros that allows custom stylization of the verbatim
+text (fontshapes, sizes, numbering lines, \textit{etc.}) through the use
+of pre-commands. For those who prefer this form of optional-argument
+customization, the environments and macros are \textit{also} provided in
+a ``no-box'' form that is output directly, rather than being saved in a
+box. The no-box forms can be used when the verbatim has to span across
+page breaks.
+
While there is application for its use within the {\vbx} application,
this package also offers an independent command for conveniently
providing vertical buffer space above and below an object.
-The commands provided by this package are given as follows:\\\itshape
+The environments and macros provided by this package are given as
+follows:\\\itshape
\rl%
\addvbuffer[1ex 1ex]%
{\parbox{4in}{%
@@ -95,7 +107,9 @@
\tvb\lb\texttt{\upshape t}\rb\\
\bts\eq length\\
\bbs\eq length\\
- \avb\lb length \lb below length\rb\rb\lbr object\rbr
+ \avb\lb length \lb below length\rb\rb\lbr object\rbr\\
+ \bgn\lbr\vrnobox\rbr\lb pre-commands\rb\ldots\edng\lbr\vrnobox\rbr\\
+ \vbfnobox\lb pre-commands\rb\lbr filename\rbr
}}\\\upshape
In addition, there is a counter, \vln\margenv{\vln}, which contains the
current verbatim line number being processed. It's use as part of
@@ -161,6 +175,42 @@
\end{verbbox}
\rl\theverbbox
+The customization can make use of the \verb|VerbboxLineNo| counter in
+ways that make it line specific. Note that the optional argument
+must be contained on a single line.
+
+\begin{verbatim}
+\newcommand*\ifline[3]{%
+ \ifthenelse{\value{VerbboxLineNo} = #1}{#2}{#3}}
+\newcommand*\highlight{%
+ \color{red}\rmfamily\itshape\bfseries\large\(\bullet~\)}
+\newcommand\nohighlight{\arabic{VerbboxLineNo}:\hspace{1ex}}
+\begin{verbbox}[\ifline{2}{\highlight}{\nohighlight}]
+Line 1
+Line 2
+Line 3
+\end{verbbox}
+\theverbbox
+\end{verbatim}
+
+\newcommand*\ifline[3]{%
+ \ifthenelse{\value{VerbboxLineNo} = #1}{#2}{#3}}
+\newcommand*\highlight{%
+ \color{red}\rmfamily\itshape\bfseries\large\(\bullet~\)}
+\newcommand\nohighlight{\arabic{VerbboxLineNo}:\hspace{1ex}}
+\begin{verbbox}[\ifline{2}{\highlight}{\nohighlight}]
+Line 1
+Line 2
+Line 3
+\end{verbbox}
+\rl\theverbbox
+
+\begin{verbbox}[\arabic{VerbboxLineNo}:\hspace{1ex}]
+first line
+second line
+third line
+\end{verbbox}
+
\subsection{The \texttt{myverbbox} Environment}
With the {\vrbox} environment, one is limited to one verbatimbox at a
@@ -263,7 +313,7 @@
\verb|\fbox{\addvbuffer[5pt]{\theverbbox}}|
will produce
-\fbox{\addvbuffer[5pt]{\theverbbox}}
+\rl\fbox{\addvbuffer[5pt]{\theverbbox}}
On the other hand, the optional argument may comprise two lengths, in
which case the first length is added above the object and the second is
@@ -271,26 +321,54 @@
\verb|\fbox{\addvbuffer[15pt 5pt]{\theverbbox}}|
will produce
-\fbox{\addvbuffer[15pt 5pt]{\theverbbox}}
+\rl\fbox{\addvbuffer[15pt 5pt]{\theverbbox}}
But {\avb} need not only be used for \tvb. It can be used on other
objects, for example a \verb|\parbox|
-\fbox{\addvbuffer[15pt 5pt]{\parbox{1in}{This is a test of the
+\rl\fbox{\addvbuffer[15pt 5pt]{\parbox{1in}{This is a test of the
emergency broadcast system}}}
or even on just plain text \verb|\fbox{\addvbuffer[15pt 5pt]{A test}}|:
-\fbox{\addvbuffer[15pt 5pt]{A test}}
+\rl\fbox{\addvbuffer[15pt 5pt]{A test}}
It can even be used to remove vertical space from an objects size, by
adding negative buffer \verb|\fbox{\addvbuffer[-5pt -5pt]{A test}}|:
-\fbox{\addvbuffer[-5pt -5pt]{A test}}
+\rl\fbox{\addvbuffer[-5pt -5pt]{A test}}
This ability to work on a variety of objects makes {\avb} a powerful
command in many applications.
+\textbf{ATTENTION. This paragraph represents a change as of V3.11, and
+can break backward compatibilty}.
+Likewise, if two length variables are to be used in the optional
+argument, the two lengths must be separately braced, with a space in between:
+
+\begin{verbatim}
+ \fbox{\addvbuffer[{\baselineskip} {.5\baselineskip}]{A test}}
+\end{verbatim}
+
+\rl\fbox{\addvbuffer[{\baselineskip} {.5\baselineskip}]{A test}}
+
+{\bfseries One may no longer use a ``\verb|\ |'' hard space to separate the
+two arguments.}
+
+\subsection{The ``nobox'' Alternatives}
+
+Alternatives are provided for the {\vrbox} environment and the {\vbfbox}
+macro, which output the content directly, rather than place it into a
+box. These alternatives are named {\vrnobox}\margenv{\vrnobox} and
+{\vbfnobox}\margenv{\vbfnobox}. Like their boxed counterparts, these
+alternatives make use of the convenient optional pre-commands that allow
+for custom stylization of the verbatim content.
+
+Because they are not placed into a box, but instead output directly,
+their content cannot be recalled at a later time in the document. While
+the boxed versions have a particular use in environments where verbatim is
+inaccessible, the no-boxed alternatives may be used when the content
+must span a page break.
\section{Quirks}\fboxsep=0pt
@@ -322,10 +400,10 @@
\begin{verbbox}[\LARGE]first line
second line
\end{verbbox}
-\addvbuffer[3pt 0pt]{\fbox{\theverbbox}}
+\rl\addvbuffer[3pt 0pt]{\fbox{\theverbbox}}
The solution, in the presence of an optional argument, is to begin the
-first line of the environment contents on the following line. Thus
+first line of the environment contents on the following line. Thus,
\begin{verbatim}
\begin{verbbox}[\LARGE]
@@ -340,7 +418,7 @@
first line
second line
\end{verbbox}
-\addvbuffer[3pt 0pt]{\fbox{\theverbbox}}
+\rl\addvbuffer[3pt 0pt]{\fbox{\theverbbox}}
No such requirement is necessary if there are no optional arguments.
So, for example,
@@ -373,7 +451,7 @@
first line
second line
\end{verbbox}
-\fbox{\theverbbox}
+\rl\fbox{\theverbbox}
Note how the box does not extend to the end of the text line. When
placing printing commands before non-printing commands that change the
@@ -390,7 +468,7 @@
first line
second line
\end{myverbbox}
-\fbox{\mybox}
+\rl\fbox{\mybox}
There are differences, however, in how {\vrbox} and {\myvrbox} process
the optional argument, which relate to overcoming the problems
@@ -412,7 +490,31 @@
second line
third line
\end{verbbox}
-\theverbbox
+\rl\theverbbox
+
+There is also a quirk with the macro \verb|\addvbuffer|.
+If the \verb|\addvbuffer| macro adds negative space below an argument,
+the argument is
+vertically shifted downward by the same amount. For example,
+compare the following constructions,
+\verb|\fbox{gb}| and \verb|\fbox{\addvbuffer[-3pt]{gb}}|:
+\fbox{gb}\fbox{\addvbuffer[-3pt]{gb}}.
+In the latter case, the box is bottom-trimmed, but the result is shifted downward.
+This adverse outcome can generally be overcome with a countering
+\verb|\raisebox|,
+\fbox{gb}\fbox{\raisebox{3pt}{\addvbuffer[-3pt]{gb}}}.
+However, if the \verb|\raisebox| would otherwise place
+the new box above the baseline, the effect of the
+\verb|\addvbuffer| on the bottom of the box is spoiled, as in the
+comparison given by the constructions
+\verb|\fbox{\addvbuffer[-3pt]{X}}| versus
+\verb|\fbox{\raisebox{3pt}{\addvbuffer[-3pt]{X}}}|
+which produces this result:
+\fbox{\addvbuffer[-3pt]{X}}\fbox{\raisebox{3pt}{\addvbuffer[-3pt]{X}}}.
+Note how 3pt are not trimmed from the bottom of the second box.
+For this reason, the \verb|\raisebox| remedy has not been incorporated into the definition
+of \verb|\addvbuffer|; instead, the quirk has been allowed to stand.
+
\section{Acknowledgements}
@@ -432,7 +534,6 @@
removing-a-backslash-from-a-character-sequence
}}
-\clearpage
\section{Code Listing}
\verbatiminput{verbatimbox.sty}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/verbatimbox.doc.tlpobj new/tlpkg/tlpobj/verbatimbox.doc.tlpobj
--- old/tlpkg/tlpobj/verbatimbox.doc.tlpobj 2013-04-26 03:56:44.000000000 +0200
+++ new/tlpkg/tlpobj/verbatimbox.doc.tlpobj 2014-03-17 03:24:14.000000000 +0100
@@ -1,9 +1,9 @@
name verbatimbox.doc
category Package
-revision 30104
+revision 33197
shortdesc doc files of verbatimbox
relocated 1
-docfiles size=60
+docfiles size=69
RELOC/doc/latex/verbatimbox/README
RELOC/doc/latex/verbatimbox/verbatimbox.pdf
RELOC/doc/latex/verbatimbox/verbatimbox.tex
++++++ verbatimbox.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/verbatimbox/verbatimbox.sty new/tex/latex/verbatimbox/verbatimbox.sty
--- old/tex/latex/verbatimbox/verbatimbox.sty 2013-04-26 00:32:41.000000000 +0200
+++ new/tex/latex/verbatimbox/verbatimbox.sty 2014-03-16 22:44:47.000000000 +0100
@@ -1,5 +1,6 @@
+\def\verbatimboxVersionNumber{v3.13 }
\ProvidesPackage{verbatimbox}
- [2013/04/24 v3.0
+ [2014/03/12 \verbatimboxVersionNumber
Routines for placing verbatim text into boxes, useful in places where
the verbatim environment is inaccessible. Secondarily, for adding
vertical buffer around an object.]
@@ -29,9 +30,24 @@
% -Added optional arguments to \addvbuffer
% -Fixed \verbfilebox so that it restored \verbatim@processline
% -Produced real documentation
+% 3.01 -renamed \macro@name so as not to conflict with (I think) ltxdoc
+% package
+% 3.1 -Corrected default argument to \addvbuffer so that it wouldn't
+% break. Also, gave better guidance in documentation to use
+% of optional argument to \addvbuffer
+% -Added verbnobox environment and \verbfilenobox macro
+% -Improved documentation showing line-specific optional arguments
+% 3.11 -Eliminated the use of the stringstrings package, which resets
+% the definition of \|
+% 3.12 -Corrected bug introduced in V3.11, which occured with [t]
+% option to \theverbbox
+% -When using two lengths in \addvbuffer optional argument,
+% they MUST be individually in {}, rather than "~" or "\ " between
+% 3.13 -Corrected residual bug from V3.11, when \addvbuffer called
+% without an optional argument,
\NeedsTeXFormat{LaTeX2e}
\@ifundefined{verbatim@processline}{\RequirePackage{verbatim}}{}
-\usepackage{stringstrings}
+\usepackage{readarray}
% Following 3 lines thanks to Prof. Enrico Gregorio, from:
% http://tex.stackexchange.com/questions/42318/
@@ -155,7 +171,7 @@
\if #1t%
% The t option is for outputting the savedverbbox inside a tabular
% environment (else insufficent vertical space above box)
- \addvbuffer[\the\boxtopsep~\the\boxbottomsep]{\usebox{\savedverbbox}}%
+ \addvbuffer[{\boxtopsep} {\boxbottomsep}]{\usebox{\savedverbbox}}%
\else%
\usebox{\savedverbbox}%
\fi%
@@ -177,13 +193,13 @@
\setlength\boxbottomsep{0pt}
\long\def\add@vbuffer#1{\leavevmode\setbox\ps@tempboxa\hbox{#1}\ps@tempdima
0pt \advance\ps@tempdima \dp\ps@tempboxa \hbox{\lower\ps@tempdima\hbox
- {\vbox{\hbox{\vbox{\vskip\boxtop@sep \box\ps@tempboxa \vskip
- \boxbottom@sep}}}}}}
+ {\vbox{\hbox{\vbox{\vskip\boxtop@sep \box\ps@tempboxa \vskip
+ \boxbottom@sep}}}}}}
\global\newlength\boxtop@sep
\global\newlength\boxbottom@sep
-\newcommand\addvbuffer[2][{\the\boxtopsep} \the\boxbottomsep]{%
- \getargs{#1}%
+\newcommand\addvbuffer[2][{\boxtopsep} {\boxbottomsep}]{%
+ \getargsC{#1}%
\setlength\boxtop@sep{\argi}%
\if1\narg\setlength\boxbottom@sep{\argi}\else%
\setlength\boxbottom@sep{\argii}\fi%
@@ -191,5 +207,41 @@
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% The following two "nobox" commands are basically versions of
+% \verbatiminput and \verbatim that have been adapted to take the
+% optional argument style of this package. No boxes are created,
+% but breaking across page boundaries is not a problem here, as
+% it would be with a box.
+
+\newcommand\verbfilenobox[2][]{%
+ \setcounter{VerbboxLineNo}{0}%
+ \def\verbatim@processline{%
+ {\addtocounter{VerbboxLineNo}{1}%
+ #1\setbox0=\hbox{#1\the\verbatim@line}%
+ \hsize=\wd0 \the\verbatim@line\par}}%
+ \verbatiminput{#2}
+ \let\verbatim@processline\sv@verbatim@processline
+}
+
+\newenvironment{verbnobox}{%
+ \setcounter{VerbboxLineNo}{-1}%
+% FOR SOME REASON, USING \my@par INSTEAD OF \par PREVENTS EXTRA SPACE
+% ABOVE verbbox WHEN USING OPTIONAL ARGUMENTS
+ \let\my@par\par%
+ \def\verbatim@processline{%
+% FIRST \@tmp APPLIES OPTIONAL ARGUMENT TO EACH VERBATIM LINE
+% SECOND \@tmp MAKES SURE ANY PRINTED MATTER OF OPTIONAL ARGUMENT
+% IS ACCOUNTED FOR IN VERBATIM BOX WIDTH
+ {\addtocounter{VerbboxLineNo}{1}%
+ \@tmp\setbox0=\hbox{\@tmp\the\verbatim@line}%
+ \hsize=\wd0 \the\verbatim@line\my@par}}%
+\verbatim\verbbox@inner%
+}
+{%
+ \endverbatim%
+ \global\def\@tmp{}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/verbatimbox.tlpobj new/tlpkg/tlpobj/verbatimbox.tlpobj
--- old/tlpkg/tlpobj/verbatimbox.tlpobj 2013-04-26 03:56:44.000000000 +0200
+++ new/tlpkg/tlpobj/verbatimbox.tlpobj 2014-03-17 03:24:14.000000000 +0100
@@ -1,6 +1,6 @@
name verbatimbox
category Package
-revision 30104
+revision 33197
shortdesc Deposit verbatim text in a box.
relocated 1
longdesc The package provides a verbbox environment (which uses
@@ -13,9 +13,9 @@
longdesc environment (which is based on a trivlist) may not appear. The
longdesc package makes use of the verbatim package (which is a required
longdesc part of any LaTeX distribution).
-runfiles size=2
+runfiles size=3
RELOC/tex/latex/verbatimbox/verbatimbox.sty
catalogue-ctan /macros/latex/contrib/verbatimbox
-catalogue-date 2013-04-25 17:40:06 +0200
+catalogue-date 2014-03-12 19:18:01 +0100
catalogue-license lppl
-catalogue-version 3.01
+catalogue-version 3.13
++++++ verse.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/verse/README new/doc/latex/verse/README
--- old/doc/latex/verse/README 2009-09-05 01:46:26.000000000 +0200
+++ new/doc/latex/verse/README 2014-05-14 00:12:56.000000000 +0200
@@ -3,6 +3,10 @@
verse provides some aids for typesetting simple verse (poems).
+Changes in version 2.4b (2014/05/10)
+- Documentation updates
+- Minor, largely cosmetic, code changes
+
Changes in version 2.4a (2009/09/04)
- New maintainer (Will Robertson)
@@ -12,7 +16,7 @@
Changes in version 2.3 (2006/01/14)
- Fixed small hiccup in \\>[...]
-- Added possibilty of putting line numbers at the left
+- Added possibility of putting line numbers at the left
- Improved method of changing the font used for line numbers
Changes in version 2.22 (2005/08/22)
Files old/doc/latex/verse/verse.pdf and new/doc/latex/verse/verse.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/verse.doc.tlpobj new/tlpkg/tlpobj/verse.doc.tlpobj
--- old/tlpkg/tlpobj/verse.doc.tlpobj 2010-06-10 18:50:39.000000000 +0200
+++ new/tlpkg/tlpobj/verse.doc.tlpobj 2014-05-14 03:24:51.000000000 +0200
@@ -1,8 +1,8 @@
name verse.doc
category Package
-revision 15878
+revision 34017
shortdesc doc files of verse
relocated 1
-docfiles size=68
+docfiles size=105
RELOC/doc/latex/verse/README
RELOC/doc/latex/verse/verse.pdf
++++++ verse.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/verse/verse.sty new/tex/latex/verse/verse.sty
--- old/tex/latex/verse/verse.sty 2009-09-05 01:46:26.000000000 +0200
+++ new/tex/latex/verse/verse.sty 2014-05-14 00:12:56.000000000 +0200
@@ -25,7 +25,6 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{verse}[2009/09/04 v2.4a verse typesetting]
-
\newcounter{vslineno}
\newcounter{poemline}
\newcounter{fvsline}
@@ -33,19 +32,16 @@
\newcounter{modulo@vs}
\newcounter{verse@envctr}\setcounter{verse@envctr}{0}
\newcommand*{\theHpoemline}{\arabic{verse@envctr}.\arabic{poemline}}
-
\newcommand{\poemlines}[1]{%
\ifnum#1>\z@
- \setcounter{modulo@vs}{#1}
+ \setcounter{modulo@vs}{#1}%
\else
- \setcounter{modulo@vs}{0}
+ \setcounter{modulo@vs}{0}%
\fi
}
\poemlines{0}
-
\newcommand*{\verselinenumfont}[1]{\def\vlnumfont{#1}}
\verselinenumfont{\rmfamily}
-
\newcommand*{\setverselinenums}[2]{%
\setcounter{poemline}{#1}\addtocounter{poemline}{\m@ne}%
\refstepcounter{poemline}%
@@ -55,12 +51,12 @@
\multiply\@tempcnta\c@modulo@vs
\c@fvsline #2\relax
\advance\c@fvsline-\@tempcnta
- \fi}
-
+ \fi
+}
\newcommand{\getmodulo@vs}{\bgroup
- \ifnum\c@modulo@vs<\@ne% no line numbers
+ \ifnum\c@modulo@vs<\@ne % no line numbers
\else
- \ifnum\c@modulo@vs<\tw@% every line numbered
+ \ifnum\c@modulo@vs<\tw@ % every line numbered
\vlnumfont\thepoemline
\else
\@tempcnta\c@poemline
@@ -72,61 +68,66 @@
\fi
\fi
\egroup}
-
\newif\ifaltindent
- \altindentfalse
\newif\ifpattern
- \patternfalse
\newif\ifstarpattern
- \starpatternfalse
-
\newlength{\versewidth}
-
-\newlength{\vgap} \setlength{\vgap}{1.5em}
+\newlength{\vgap}
+\setlength{\vgap}{1.5em}
\newcommand{\vin}{\hspace*{\vgap}}
-\newlength{\vindent} \setlength{\vindent}{2\vgap}
-\newlength{\stanzaskip} \setlength{\stanzaskip}{0.75\baselineskip}
-
+\newlength{\vindent}
+\setlength{\vindent}{2\vgap}
+\newlength{\stanzaskip}
+\setlength{\stanzaskip}{0.75\baselineskip}
\newlength{\vleftskip}
- \setlength{\vleftskip}{30pt}
+\setlength{\vleftskip}{30pt}
\newlength{\vrightskip}
- \setlength{\vrightskip}{10pt}
-
-\newcommand{\flagverse}[1]{\hskip-\vleftskip\llap{#1}\hskip\vleftskip\ignorespaces}
-
-\newcommand*{\verselinebreak}[1][\z@]{\newline\hspace*{#1}\ignorespaces}
+\setlength{\vrightskip}{10pt}
+\newcommand{\flagverse}[1]{%
+ \hskip-\vleftskip\llap{#1}\hskip\vleftskip
+ \ignorespaces
+}
+\newcommand*{\verselinebreak}[1][\z@]{%
+ \newline\hspace*{#1}%
+ \ignorespaces
+}
\newcommand{\incr@vsline}{%
\refstepcounter{poemline}%
- \stepcounter{vslineno}}
-
+ \stepcounter{vslineno}%
+}
\newcommand{\@vsifbang}[1]{\@ifnextchar !{\@firstoftwo{#1}}}
\newcommand{\@vsifgt}[1]{\@ifnextchar >{\@firstoftwo{#1}}}
-
\newcommand*{\@vstypelinenumright}{%
- \hfill\rlap{\kern\vrightskip\kern\rightmargin\getmodulo@vs}}
+ \hfill\rlap{\kern\vrightskip\kern\rightmargin\getmodulo@vs}%
+}
\newcommand*{\@vstypelinenumleft}{%
- \hfill\rlap{\kern-\textwidth\kern-\vrightskip\getmodulo@vs}}
+ \hfill\rlap{\kern-\textwidth\kern-\vrightskip\getmodulo@vs}%
+}
\newcommand*{\verselinenumbersright}{\def\@vstypelinenum{\@vstypelinenumright}}
-\newcommand*{\verselinenumbersleft}{\def\@vstypelinenum{\@vstypelinenumleft}}
+\newcommand*{\verselinenumbersleft} {\def\@vstypelinenum{\@vstypelinenumleft}}
\verselinenumbersright
-
\newcommand{\@vscentercr}{%
\ifhmode \unskip\else \@nolnerr\fi
- \@vstypelinenum%
+ \@vstypelinenum
%%%% \hfill\rlap{\kern\vrightskip\kern\rightmargin\getmodulo@vs}%
\@vsifgt{\verselinebreak}{%
- \incr@vsline
- \par\@ifstar{\nobreak\@vsxcentercr}{%
- \@vsifbang{\@ifnextchar[ {\@vsicentercr}{}}{\@vsxcentercr}}}}
-\newcommand{\@vsxcentercr}{\addvspace{-\parskip}%
- \@ifnextchar[ {\@vsicentercr}{\start@vsline}}
+ \incr@vsline
+ \par\@ifstar{\nobreak\@vsxcentercr}{%
+ \@vsifbang{\@ifnextchar[ {\@vsicentercr}{}}{\@vsxcentercr}%
+ }%
+ }%
+}
+\newcommand{\@vsxcentercr}{%
+ \addvspace{-\parskip}%
+ \@ifnextchar[ {\@vsicentercr}{\start@vsline}%
+}
\def\@vsicentercr[#1]{\vskip #1\ignorespaces \start@vsline}
\newcommand{\start@vsline}{%
\ifaltindent\ifodd\c@vslineno\else\vin\fi\fi%
\ifpattern\get@vsindent\fi%
- \ifstarpattern\getstar@vsindent\fi}
-
-\renewenvironment{verse}[1][\linewidth]{
+ \ifstarpattern\getstar@vsindent\fi
+}
+\renewenvironment{verse}[1][\linewidth]{%
\stepcounter{verse@envctr}%
\setcounter{poemline}{0}\refstepcounter{poemline}%
\setcounter{vslineno}{1}%
@@ -143,46 +144,41 @@
\else
\rightmargin \leftmargin
\fi
- \addtolength{\leftmargin}{\vindent}}
- \item[]}{\endlist}
-
+ \addtolength{\leftmargin}{\vindent}}%
+ \item[]%
+}
+{\endlist}
\newenvironment{altverse}%
{\starpatternfalse\patternfalse\altindenttrue\setcounter{vslineno}{1}}%
{\altindentfalse}
-
-\newcommand{\@nameedef}[1]{
- \expandafter\protected@edef\csname #1\endcsname}
-
+\newcommand{\vs@nameedef}[1]{%
+ \expandafter\protected@edef\csname #1\endcsname
+}
\newif\ifbounderror
- \bounderrorfalse
\newif\ifinteger
-
\newcounter{chrsinstr} % CHARactersINSTRing
-
\newcommand{\newarray}[3]{%
- \@nameedef{#1-low}{#2}%
- \@nameedef{#1-high}{#3}%
+ \vs@nameedef{#1-low}{#2}%
+ \vs@nameedef{#1-high}{#3}%
\ifnum #3<#2
\PackageError{verse}{Limits for array #1 are in reverse order}{\@ehc}%
\fi
}
-
\newcommand{\stringtoarray}[2]{%
\def\@vsarrayname{#1}%
\protected@edef\the@vsstring{#2}%
\newarray{\@vsarrayname}{1}{1}%
\@ifmtarg{#2}{%
\c@chrsinstr \z@
- \@namedef{\@vsarrayname-1}{}
+ \@namedef{\@vsarrayname-1}{}%
}{%
\c@chrsinstr \@ne
\expandafter\@vsstringtoarray \the@vsstring\@vsend
- }
+ }%
}
-
\def\@vsstringtoarray #1#2\@vsend{%
- \@namedef{\@vsarrayname-\the\c@chrsinstr}{#1}
- \@nameedef{\@vsarrayname-high}{\the\c@chrsinstr}
+ \@namedef{\@vsarrayname-\the\c@chrsinstr}{#1}%
+ \vs@nameedef{\@vsarrayname-high}{\the\c@chrsinstr}%
\@ifmtarg{#2}{%
\def\@vsinext{}%
}{%
@@ -190,55 +186,49 @@
\def\@vsinext{%
\@vsstringtoarray #2\@vsend%
}%
- }
+ }%
\@vsinext
}
-
\newcommand{\setarrayelement}[3]{%
\checkarrayindex{#1}{#2}%
- \@nameedef{#1-#2}{#3}%
+ \vs@nameedef{#1-#2}{#3}%
}
-
\newcommand{\getarrayelement}[3]{%
\checkarrayindex{#1}{#2}%
\protected@edef#3{\@nameuse{#1-#2}}%
}
-
\newcommand{\checkarrayindex}[2]{%
\bounderrorfalse
- \expandafter\ifx\csname #1-low\endcsname\relax%
+ \expandafter\ifx\csname #1-low\endcsname\relax
\ifpattern\else
\PackageError{verse}{No array called #1}{\@ehc}%
\fi
\bounderrortrue
\fi
- \ifnum #2<\@nameuse{#1-low}\relax%
+ \ifnum #2<\@nameuse{#1-low}\relax
\ifpattern\else
\PackageError{verse}{Index #2 outside limits for array #1}{\@ehc}%
\fi
\bounderrortrue
\fi
- \ifnum #2>\@nameuse{#1-high}\relax%
+ \ifnum #2>\@nameuse{#1-high}\relax
\ifpattern\else
\PackageError{verse}{Index #2 outside limits for array #1}{\@ehc}%
\fi
\bounderrortrue
\fi
}
-
\begingroup
\catcode`\Q=3
\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil}
\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4}
\long\gdef\@ifnotmtarg#1{\@xifmtarg#1QQ\@firstofone\@gobble\@nil}
\endgroup
-
\newcommand{\arraytostring}[2]{%
\def#2{}%
\c@chrsinstr = \@nameuse{#1-low}%
\@vsarraytostring{#1}{#2}%
}
-
\newcommand{\@vsarraytostring}[2]{%
\ifnum\c@chrsinstr>\@nameuse{#1-high}\else
\protected@edef#2{#2\@nameuse{#1-\thechrsinstr}}%
@@ -246,20 +236,18 @@
\@vsarraytostring{#1}{#2}%
\fi%
}
-
\newcommand{\checkifinteger}[1]{%
\protected@edef\@vsa{#1}%
\ifcat _\ifnum9<1\gobm{#1} _\else A\fi
- \integertrue%
+ \integertrue
\else
- \integerfalse%
- \fi%
+ \integerfalse
+ \fi
}
\newcommand{\gobm}[1]{#1}
-
\newcommand{\indentpattern}[1]{%
- \stringtoarray{Array@vs}{#1}}
-
+ \stringtoarray{Array@vs}{#1}%
+}
\newcommand{\get@vsindent}{%
\getarrayelement{Array@vs}{\number\value{vslineno}}{\@vspat}%
\ifbounderror
@@ -276,54 +264,51 @@
\def\@vspat{0}%
\fi
\fi
- \ifcase\@vspat\else\hspace*{\@vspat\vgap}\fi}
+ \ifcase\@vspat\else\hspace*{\@vspat\vgap}\fi
+}
\newcommand{\getstar@vsindent}{%
\expandafter\ifx\csname Array@vs-high\endcsname\relax
- \PackageError{verse}{A pattern has not been specified}{\@ehc}
+ \PackageError{verse}{A pattern has not been specified}{\@ehc}%
\else
\ifnum\c@vslineno>\@nameuse{Array@vs-high}%
\setcounter{vslineno}{1}%
\fi
\get@vsindent
- \fi}
-
-\newenvironment{patverse}%
- {\starpatternfalse\patterntrue\altindentfalse\setcounter{vslineno}{1}}%
+ \fi
+}
+\newenvironment{patverse}
+ {\starpatternfalse\patterntrue\altindentfalse\setcounter{vslineno}{1}}
{\patternfalse}
-
-\newenvironment{patverse*}%
- {\starpatterntrue\patternfalse\altindentfalse\setcounter{vslineno}{1}}%
+\newenvironment{patverse*}
+ {\starpatterntrue\patternfalse\altindentfalse\setcounter{vslineno}{1}}
{\starpatternfalse}
-
-\newcommand{\poemtitle}{\par%
- \secdef\@vsptitle\@vssptitle}
+\newcommand{\poemtitle}{%
+ \par
+ \secdef\@vsptitle\@vssptitle
+}
\newcommand{\poemtoc}{section}
-
\def\@vsptitle[#1]#2{%
\@nameuse{phantomsection}%
- \addcontentsline{toc}{\poemtoc}{#1}
+ \addcontentsline{toc}{\poemtoc}{#1}%
\poemtitlemark{#1}%
- \@vstypeptitle{#2}
- \@afterheading}
-
+ \@vstypeptitle{#2}%
+ \@afterheading
+}
\def\@vssptitle#1{%
\@vstypeptitle{#1}
- \@afterheading}
-
+ \@afterheading
+}
\newcommand{\@vstypeptitle}[1]{%
- \vspace{\beforepoemtitleskip}
- {\poemtitlefont #1\par}
- \vspace{\afterpoemtitleskip}
+ \vspace{\beforepoemtitleskip}%
+ {\poemtitlefont #1\par}%
+ \vspace{\afterpoemtitleskip}%
}
-
\newcommand{\poemtitlefont}{\normalfont\large\bfseries\centering}
\newcommand{\poemtitlemark}[1]{}
-
\newlength{\beforepoemtitleskip}
- \setlength{\beforepoemtitleskip}{3.5ex \@plus 1ex \@minus .2ex}
+\setlength{\beforepoemtitleskip}{3.5ex \@plus 1ex \@minus .2ex}
\newlength{\afterpoemtitleskip}
- \setlength{\afterpoemtitleskip}{2.3ex \@plus.2ex}
-
+\setlength{\afterpoemtitleskip}{2.3ex \@plus.2ex}
\endinput
%%
%% End of file `verse.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/verse.tlpobj new/tlpkg/tlpobj/verse.tlpobj
--- old/tlpkg/tlpobj/verse.tlpobj 2010-06-10 18:50:40.000000000 +0200
+++ new/tlpkg/tlpobj/verse.tlpobj 2014-05-14 03:24:51.000000000 +0200
@@ -1,6 +1,6 @@
name verse
category Package
-revision 15878
+revision 34017
shortdesc Aids for typesetting simple verse.
relocated 1
longdesc The package documentation discusses approaches to the problem;
@@ -9,6 +9,6 @@
runfiles size=3
RELOC/tex/latex/verse/verse.sty
catalogue-ctan /macros/latex/contrib/verse
-catalogue-date 2009-09-04 12:14:45 +0200
+catalogue-date 2014-05-10 11:58:31 +0200
catalogue-license lppl
-catalogue-version 2.4
+catalogue-version 2.4b
++++++ vlna.doc.tar.xz ++++++
Files old/texmf-dist/doc/man/man1/vlna.man1.pdf and new/texmf-dist/doc/man/man1/vlna.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/vlna.doc.tlpobj new/tlpkg/tlpobj/vlna.doc.tlpobj
--- old/tlpkg/tlpobj/vlna.doc.tlpobj 2013-04-09 03:40:58.000000000 +0200
+++ new/tlpkg/tlpobj/vlna.doc.tlpobj 2014-04-29 03:35:48.000000000 +0200
@@ -1,6 +1,6 @@
name vlna.doc
category TLCore
-revision 29764
+revision 33736
shortdesc doc files of vlna
docfiles size=38
texmf-dist/doc/man/man1/vlna.1
++++++ web.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/tangle.1 new/texmf-dist/doc/man/man1/tangle.1
--- old/texmf-dist/doc/man/man1/tangle.1 2013-04-08 23:16:34.000000000 +0200
+++ new/texmf-dist/doc/man/man1/tangle.1 2014-04-29 00:59:31.000000000 +0200
@@ -1,4 +1,4 @@
-.TH TANGLE 1 "1 March 2011" "Web2C 2013"
+.TH TANGLE 1 "1 March 2011" "Web2C 2014"
.\"=====================================================================
.if n .ds MF Metafont
.if t .ds MF M\s-2ETAFONT\s0
Files old/texmf-dist/doc/man/man1/tangle.man1.pdf and new/texmf-dist/doc/man/man1/tangle.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/weave.1 new/texmf-dist/doc/man/man1/weave.1
--- old/texmf-dist/doc/man/man1/weave.1 2013-04-08 23:16:34.000000000 +0200
+++ new/texmf-dist/doc/man/man1/weave.1 2014-04-29 00:59:31.000000000 +0200
@@ -1,4 +1,4 @@
-.TH WEAVE 1 "7 April 2010" "Web2C 2013"
+.TH WEAVE 1 "7 April 2010" "Web2C 2014"
.\"=====================================================================
.if n .ds MF Metafont
.if t .ds MF M\s-2ETAFONT\s0
Files old/texmf-dist/doc/man/man1/weave.man1.pdf and new/texmf-dist/doc/man/man1/weave.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/web.doc.tlpobj new/tlpkg/tlpobj/web.doc.tlpobj
--- old/tlpkg/tlpobj/web.doc.tlpobj 2013-04-09 03:40:58.000000000 +0200
+++ new/tlpkg/tlpobj/web.doc.tlpobj 2014-04-29 03:35:48.000000000 +0200
@@ -1,6 +1,6 @@
name web.doc
category TLCore
-revision 29764
+revision 33736
shortdesc doc files of web
docfiles size=7
texmf-dist/doc/man/man1/tangle.1
++++++ xdvi.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/xdvi.1 new/texmf-dist/doc/man/man1/xdvi.1
--- old/texmf-dist/doc/man/man1/xdvi.1 2013-04-08 23:16:34.000000000 +0200
+++ new/texmf-dist/doc/man/man1/xdvi.1 2014-04-29 00:59:31.000000000 +0200
@@ -52,7 +52,7 @@
.de SB
\&\fB\s-1\&\\$1 \\$2\s0\fR
..
-.TH XDVI 1 "2013-04-04" "Xdvik 22.86"
+.TH XDVI 1 "2014-04-12" "Xdvik 22.87"
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SH NAME
@@ -66,6 +66,7 @@
[\fB\--help\fP]
[\fB\-allowshell\fP]
[\fB\-altfont\fP \fIfont\fP]
+[\fB\-anchorposition\fP \fIanchor\fP]
[\fB\-bg\fP \fIcolor\fP]
[\fB\-browser\fP \fIWWWbrowser\fP]
[\fB\-copy\fP]
@@ -78,7 +79,6 @@
[\fB\-expertmode\fP \fIflag\fP]
[\fB\-fg\fP \fIcolor\fP]
[\fB\-findstring\fP \fIstring\fP]
-[\fB\-text-encoding\fP \fIencoding\fP]
[\fB\-font\fP \fIfont\fP]
[\fB\-fullscreen \fP]
[\fB\-gamma\fP \fIg\fP]
@@ -88,13 +88,11 @@
[\fB\-h\fP]
[\fB\-help\fP]
[\fB\-hl\fP \fIcolor\fP]
-[\fB\-anchorposition\fP \fIanchor\fP]
[\fB\-hush\fP]
+[\fB\-hushbell\fP]
[\fB\-hushchars\fP]
[\fB\-hushchecksums\fP]
-[\fB\-warnpecials\fP]
[\fB\-hushstdout\fP]
-[\fB\-hushbell\fP]
[\fB\-icongeometry\fP \fIgeometry\fP]
[\fB\-iconic\fP]
[\fB\-install\fP]
@@ -118,8 +116,8 @@
[\fB\-nomatchinverted\fP]
[\fB\-noomega\fP]
[\fB\-noscan\fP]
-[\fB\-notype1fonts\fP]
[\fB\-notempfile\fP]
+[\fB\-notype1fonts\fP]
[\fB\-offsets\fP \fIdimen\fP]
[\fB\-p\fP \fIpixels\fP]
[\fB\-paper\fP \fIpapertype\fP]
@@ -134,6 +132,7 @@
[\fB\-sidemargin\fP \fIdimen\fP]
[\fB\-sourceposition\fP \fIline\fP[\fB:\fP\fIcol\fP][\ ]\fIfilename\fP]
[\fB\-statusline\fP]
+[\fB\-text-encoding\fP \fIencoding\fP]
[\fB\-thorough\fP]
[\fB\-topmargin\fP \fIdimen\fP]
[\fB\-unique\fP]
@@ -279,6 +278,14 @@
file cannot be found. This is useful, for example, with PostScript <tm> fonts.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
+.BI \-anchorposition " anchor"
+Jump to
+.I anchor
+after opening the DVI file. This is only useful when invoking
+.B xdvi
+from other applications.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
.BI \-background " color"
.RB ( .background )
Determines the color of the background. Same as
@@ -551,14 +558,6 @@
Determines the color of the text (foreground).
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
-.BI \-text-encoding " encoding"
-.RB ( .textEncoding )
-Use
-.I encoding
-as text encoding of the string in the "Find" window. Usually,
-this shouldn't be needed since the encoding is determined from the locale settings.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.TP
.B \-findstring\fP \fIstring\fP
This option triggers a search for
.I string
@@ -682,14 +681,6 @@
The default is the foreground color.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
-.BI \-anchorposition " anchor"
-Jump to
-.I anchor
-after opening the DVI file. This is only useful when invoking
-.B xdvi
-from other applications.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.TP
.B \-hush
.RB ( .Hush )
Causes
@@ -697,6 +688,11 @@
to suppress all suppressible warnings.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
+.B \-hushbell
+.RB ( .hushBell )
+Don't sound the X bell when an error occurs.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
.B \-hushchars
.RB ( .hushLostChars )
Causes
@@ -723,11 +719,6 @@
even if this option is used.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
-.B \-hushbell
-.RB ( .hushBell )
-Don't sound the X bell when an error occurs.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.TP
.BI \-icongeometry " geometry"
.RB ( .iconGeometry )
Specifies the initial position for the icon.
@@ -1121,23 +1112,6 @@
.BR prescan:on .)
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
-.BI \-notype1fonts
-.RB ( .type1 )
-This will disable the use of the FreeType library to display PostScript<tm>
-Type 1 fonts.
-Use this option as a workaround when you encounter problems with the
-display of Type 1 fonts (but please don't forget to send a bug report in
-this case, to the URL mentioned in the section AUTHORS below).
-.br
-(Note:
-.B \-notype1fonts
-corresponds to
-.BR type1:off ;
-.B +notype1fonts
-to
-.BR type1:on .)
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.TP
.B \-notempfile
.RB ( .tempFile )
As mentioned in the section
@@ -1162,6 +1136,24 @@
.BR tempFile:on .)
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
+.BI \-notype1fonts
+.RB ( .type1 )
+This will disable the use of the FreeType library to display PostScript<tm>
+Type 1 fonts.
+Use this option as a workaround when you encounter problems with the
+display of Type 1 fonts (but please don't forget to send a bug report in
+this case, to the URL mentioned in the section AUTHORS below).
+.br
+(Note:
+.B \-notype1fonts
+corresponds to
+.BR type1:off ;
+.B +notype1fonts
+to
+.BR type1:on .)
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
.BI \-offsets " dimen"
.RB ( .Offset )
Specifies the size of both the horizontal and vertical offsets of the
@@ -1469,6 +1461,14 @@
instead (which see).
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
+.BI \-text-encoding " encoding"
+.RB ( .textEncoding )
+Use
+.I encoding
+as the text encoding of the string in the "Find" window. Usually, this
+should not be needed since the encoding is determined from the locale settings.
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.TP
.B \-thorough
.RB ( .thorough )
.B Xdvi
Files old/texmf-dist/doc/man/man1/xdvi.man1.pdf and new/texmf-dist/doc/man/man1/xdvi.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xdvi.doc.tlpobj new/tlpkg/tlpobj/xdvi.doc.tlpobj
--- old/tlpkg/tlpobj/xdvi.doc.tlpobj 2013-05-09 03:47:58.000000000 +0200
+++ new/tlpkg/tlpobj/xdvi.doc.tlpobj 2014-04-29 03:35:53.000000000 +0200
@@ -1,6 +1,6 @@
name xdvi.doc
category TLCore
-revision 30339
+revision 33736
shortdesc doc files of xdvi
docfiles size=65
texmf-dist/doc/man/man1/xdvi.1
++++++ xdvi.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xdvi.tlpobj new/tlpkg/tlpobj/xdvi.tlpobj
--- old/tlpkg/tlpobj/xdvi.tlpobj 2013-05-09 03:47:58.000000000 +0200
+++ new/tlpkg/tlpobj/xdvi.tlpobj 2014-04-29 03:35:53.000000000 +0200
@@ -1,6 +1,6 @@
name xdvi
category TLCore
-revision 30339
+revision 33736
shortdesc A DVI previewer for the X Window System.
longdesc The canonical previewer for use on Unix and other X-windows
longdesc based systems. The distribution has been integrated with that
@@ -14,6 +14,6 @@
texmf-dist/xdvi/pixmap/toolbar.xpm
texmf-dist/xdvi/pixmap/toolbar2.xpm
catalogue-ctan /dviware/xdvi
-catalogue-date 2013-05-08 11:16:41 +0200
+catalogue-date 2014-04-22 11:35:25 +0200
catalogue-license other-free
-catalogue-version 22.86
+catalogue-version 22.87
++++++ xecjk.doc.tar.xz ++++++
++++ 2915 lines of diff (skipped)
++++++ xecjk.tar.xz ++++++
++++ 12746 lines of diff (skipped)
++++++ xepersian.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/ChangeLog new/doc/xelatex/xepersian/ChangeLog
--- old/doc/xelatex/xepersian/ChangeLog 2013-04-30 01:30:39.000000000 +0200
+++ new/doc/xelatex/xepersian/ChangeLog 1970-01-01 01:00:00.000000000 +0100
@@ -1,48 +0,0 @@
-2013/05/01 version 12.8 Persian TeX Group
- * Version 12.8 released.
- * Removed `empheq-xepersian.def' and `bidicode-xepersian.def'.
-
-2013/04/27 version 12.7 Persian TeX Group
- * Version 12.7 released.
- * Synced `glossaries-xepersian.def' with version 3.05 of `glossaries' package.
-
-2013/04/26 version 12.6 Persian TeX Group
- * Version 12.6 released.
- * Synced with version 13.000 of `bidi' package.
-
-2013/04/24 version 12.5 Persian TeX Group
- * Version 12.5 released.
- * Fixed localizations of `verbatim' package.
- * Synced with version 12.8 of `bidi' package.
-
-2013/04/12 version 12.4 Persian TeX Group
- * Version 12.4 released.
- * Removed redefinition of `\text' from `empheq-xepersian.def'.
-
-2013/04/09 version 12.3 Persian TeX Group
- * Version 12.3 released.
- * Disabled `\XePersian' in pdfstring when `hyperref' package is used.
-
-2013/04/08 version 12.2 Persian TeX Group
- * Version 12.2 released.
- * Definitions of `\Umathcode' and `\Umathchardef' removed from
- `xepersian-mathsdigitspec.sty'.
- * `harfi', `adadi', and `tartibi' counters are now protected when `glossaries'
- package is used.
- * Disabled `\lr' and `\rl' in pdfstring when `hyperref' package is used.
-
-2013/04/01 version 12.1 Persian TeX Group
- * Version 12.1 released.
- * `\prg_stepwise_inline:nnnn' in `xepersian-mathsdigitspec.sty' is changed to
- `\int_step_inline:nnnn'
- * `\XeTeXmathcode' and `\XeTeXmathchardef' in `xepersian-mathsdigitspec.sty'
- are changed to `\Umathcode' and `\Umathchardef', respectively.
- * On page 44, line 5 of the documentation, the extra repetition of `syntax' is removed.
- * On the last line of page 39 of the documentation,`\Junicode' is changed to `\junicode'.
- * On page 39, section 2.7.2 of the documentation, `In this example, we define \Nastaliq
- to stand for Nastaliq font' is changed to `In this example, we define \Nastaliq to stand
- for IranNastaliq font'.
- * Fixed `\AutoMathsDigits' in `\lr'.
- * Lines 30-36 of `parsidigits.map' removed.
- * Fixed the issue of `latin' environment not changing the font of `\caption' to latin.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/README new/doc/xelatex/xepersian/README
--- old/doc/xelatex/xepersian/README 2013-04-30 01:30:39.000000000 +0200
+++ new/doc/xelatex/xepersian/README 2014-02-07 00:31:04.000000000 +0100
@@ -1,6 +1,6 @@
____________________
The XePersian package
-v12.8
+v13.7
XePersian is a package written for XeLaTeX that allows users to typeset
Persian easily.
@@ -9,28 +9,27 @@
will work on all operating systems.
This version fixes bugs and adds new features; for more details please see
-the ChangeLog.
+the Change History section at the end of the documentation.
If you want to report any bugs or typos and corrections in the documentation,
or ask for any new features, or suggest any improvements, or ask any questions
-about the package, then please do not send any direct emails to us; we will not
-answer any direct emails. Instead please use the issue tracker:
- https://github.com/persian-tex/xepersian/issues
+about the package, then please do not send any direct email to me; I will not
+answer any direct email. Instead please use the issue tracker:
+ https://github.com/vafa/xepersian/issues
In doing so, please always explain your issue well enough, always include
-a minimal working examples showing the issue, and always choose the appropriate
+a minimal working example showing the issue, and always choose the appropriate
label for your query (i.e. if you are reporting any bugs, choose `bug' label).
-Current version release date: 2013/05/01
+Current version release date: 2014/02/05
______________
-Persian TeX Group
+Vafa Khalighi
persian-tex@tug.org
-Copyright © 2008–2013
+Copyright © 2008–2014
Distributed under the LaTeX Project Public License
It may be distributed and/or modified under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
this license is at: http://www.latex-project.org/lppl.txt
-This work is “maintained” (as per LPPL maintenance status)
-by Persian TeX Group.
-
+This work is “author-maintained” (as per LPPL maintenance status)
+by Vafa Khalighi.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/magazine-sample.tex new/doc/xelatex/xepersian/magazine-sample.tex
--- old/doc/xelatex/xepersian/magazine-sample.tex 2013-04-05 01:14:41.000000000 +0200
+++ new/doc/xelatex/xepersian/magazine-sample.tex 2013-09-26 01:14:00.000000000 +0200
@@ -1,4 +1,3 @@
-
\documentclass[12pt,twoside]{xepersian-magazine}
\usepackage{graphicx}
\usepackage{xltxtra}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/test-correction.tex new/doc/xelatex/xepersian/test-correction.tex
--- old/doc/xelatex/xepersian/test-correction.tex 2013-04-04 00:40:26.000000000 +0200
+++ new/doc/xelatex/xepersian/test-correction.tex 2013-09-26 01:14:00.000000000 +0200
@@ -1,4 +1,3 @@
-
\documentclass{article}
\usepackage[correction]{xepersian-multiplechoice}
\usepackage{xepersian}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/test-empty-form.tex new/doc/xelatex/xepersian/test-empty-form.tex
--- old/doc/xelatex/xepersian/test-empty-form.tex 2013-04-04 00:40:26.000000000 +0200
+++ new/doc/xelatex/xepersian/test-empty-form.tex 2013-09-26 01:14:00.000000000 +0200
@@ -1,4 +1,3 @@
-
\documentclass{article}
\usepackage{xepersian-multiplechoice}
\usepackage{xepersian}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/test-question-only.tex new/doc/xelatex/xepersian/test-question-only.tex
--- old/doc/xelatex/xepersian/test-question-only.tex 2013-04-04 00:40:26.000000000 +0200
+++ new/doc/xelatex/xepersian/test-question-only.tex 2013-09-26 01:14:00.000000000 +0200
@@ -1,4 +1,3 @@
-
\documentclass{article}
\usepackage{xepersian-multiplechoice}
\usepackage{xepersian}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/test-solution-form.tex new/doc/xelatex/xepersian/test-solution-form.tex
--- old/doc/xelatex/xepersian/test-solution-form.tex 2013-04-04 00:40:26.000000000 +0200
+++ new/doc/xelatex/xepersian/test-solution-form.tex 2013-09-26 01:14:00.000000000 +0200
@@ -1,4 +1,3 @@
-
\documentclass{article}
\usepackage{xepersian-multiplechoice}
\usepackage{xepersian}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xepersian/xepersian-logo.tex new/doc/xelatex/xepersian/xepersian-logo.tex
--- old/doc/xelatex/xepersian/xepersian-logo.tex 2013-04-04 00:40:26.000000000 +0200
+++ new/doc/xelatex/xepersian/xepersian-logo.tex 2013-09-26 01:14:00.000000000 +0200
@@ -1,4 +1,3 @@
-
\documentclass{article}
\usepackage{pstricks}
\pagestyle{empty}
Files old/doc/xelatex/xepersian/xepersian.pdf and new/doc/xelatex/xepersian/xepersian.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xepersian.doc.tlpobj new/tlpkg/tlpobj/xepersian.doc.tlpobj
--- old/tlpkg/tlpobj/xepersian.doc.tlpobj 2013-04-30 03:50:02.000000000 +0200
+++ new/tlpkg/tlpobj/xepersian.doc.tlpobj 2014-02-07 03:23:04.000000000 +0100
@@ -1,10 +1,9 @@
name xepersian.doc
category Package
-revision 30172
+revision 32897
shortdesc doc files of xepersian
relocated 1
-docfiles size=123
- RELOC/doc/xelatex/xepersian/ChangeLog
+docfiles size=278
RELOC/doc/xelatex/xepersian/README
RELOC/doc/xelatex/xepersian/ftxe-0.12.py
RELOC/doc/xelatex/xepersian/img/ireland.jpg
++++++ xepersian.tar.xz ++++++
++++ 7216 lines of diff (skipped)
++++++ xetex-def.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/xelatex/xetex-def/xetex.def new/tex/xelatex/xetex-def/xetex.def
--- old/tex/xelatex/xetex-def/xetex.def 2013-05-27 23:37:46.000000000 +0200
+++ new/tex/xelatex/xetex-def/xetex.def 2014-05-02 23:13:24.000000000 +0200
@@ -1,18 +1,37 @@
-%%
-%% This is file `xetex.def',
+%% This is file `xetex.def' for XeTeX,
%% based upon other drivers for LaTeX color and graphics support.
%%
-%% Copyright 2004-2007, 2009, 2013 Ross Moore
-%% modified by Jonathan Kew et al.
+%% Copyright 2004-2007, 2009, 2013-2014
+%% Ross Moore
+%% modified by Jonathan Kew et al.
%%
-%% This file is *not yet* part of the Standard LaTeX `Graphics Bundle'.
+%% This file is not part of the Standard LaTeX `Graphics Bundle'.
%% It 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.
%%
+%% This driver is developed at:
+%% http://puszcza.gnu.org.ua/projects/latexfmxdef
+%% Please report bugs and patches through the tracker there.
+%% Official releases, though, are made through CTAN:
+%% http://www.ctan.org/pkg/xetex-def
+%% http://www.ctan.org/pkg/xetex-def
+%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Version History
%%
+%% 2014/04/28 [HO] [v4.01] .CAPS extensions.
+%% [KB] ordering: find .jpeg just after .jpg,
+%% more like dvipdfmx.def. Also remove .sga/.sgi,
+%% which were mismatched and never noticed.
+%% Change version number to match dvipdfmx.def.
+%%
+%% 2014/04/07 [AK] [v0.99] remove spurious spaces.
+%%
+%% 2014/03/24 [AK] [v0.98] non-origin viewport, avoid double bp conversion.
+%%
+%% 2014/03/21 [KB] doc tweaks for project home at puszcza.gnu.org.ua.
+%%
%% 2013/05/27 [KB] Version v0.97 non-commutative operations.
%% (code provided by Bruno Voisin)
%%
@@ -70,10 +89,11 @@
%%
%% 2004/04/22 Version v0.4 designed to work with XeTeX v0.4
%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% emacs-page
\ProvidesFile{xetex.def}
- [2013/04/29 v0.96 LaTeX color/graphics driver for XeTeX (RRM/JK)]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ [2014/04/28 v4.01 LaTeX color/graphics driver for XeTeX (RRM/JK)]
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% make sure we can use " with correct catcode
{\catcode`\"=12
@@ -279,7 +299,11 @@
%
\def\XeTeX@include@QTm#1{%
\def\picpage{}%
- \lowercase{\edef\type@ext{\Gin@ext}}%
+ \edef\type@ext{%
+ \noexpand\lowercase{%
+ \noexpand\def\noexpand\type@ext{\Gin@ext}%
+ }%
+ }\type@ext
\ifx\type@ext\G@pdf@ext
\ifx\Gin@XeTeX@page\@empty\else
\edef\picpage{ page\Gin@XeTeX@page}\fi
@@ -400,7 +424,11 @@
\def\G@measure@QTm#1#2{%
% \@warning{measuring size of QuickTime graphic #1#2}%
\bgroup
- \lowercase{\edef\type@ext{#2}}%
+ \edef\type@ext{%
+ \noexpand\lowercase{%
+ \noexpand\def\noexpand\type@ext{#2}%
+ }%
+ }\type@ext
\ifx\type@ext\G@pdf@ext
\ifx\Gin@XeTeX@page\@empty \def\picpage{}%
\else \edef\picpage{ page\Gin@XeTeX@page}\fi
@@ -439,16 +467,43 @@
% For a new graphics type, you can include a line here ...
\@namedef{Gin@rule@.pdf}#1{{QTm}{QTm}{#1}}
-\@namedef{Gin@rule@.gif}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.PDF}#1{{QTm}{QTm}{#1}}
+%
+\@namedef{Gin@rule@.eps}#1{{eps}{.eps}{#1}}
+\@namedef{Gin@rule@.EPS}#1{{eps}{.EPS}{#1}}
+%
+\@namedef{Gin@rule@.ps}#1{{eps}{.ps}{#1}}
+\@namedef{Gin@rule@.PS}#1{{eps}{.PS}{#1}}
+%
+\@namedef{Gin@rule@.png}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.PNG}#1{{QTm}{QTm}{#1}}
+%
\@namedef{Gin@rule@.jpg}#1{{QTm}{QTm}{#1}}
-\@namedef{Gin@rule@.mac}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.JPG}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.jpeg}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.JPEG}#1{{QTm}{QTm}{#1}}
+%
+\@namedef{Gin@rule@.bmp}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.BMP}#1{{QTm}{QTm}{#1}}
+%
\@namedef{Gin@rule@.pict}#1{{QTm}{QTm}{#1}}
-\@namedef{Gin@rule@.png}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.PICT}#1{{QTm}{QTm}{#1}}
+%
\@namedef{Gin@rule@.psd}#1{{QTm}{QTm}{#1}}
-\@namedef{Gin@rule@.sgi}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.PSD}#1{{QTm}{QTm}{#1}}
+%
+\@namedef{Gin@rule@.mac}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.MAC}#1{{QTm}{QTm}{#1}}
\@namedef{Gin@rule@.tga}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.TGA}#1{{QTm}{QTm}{#1}}
+%
+\@namedef{Gin@rule@.gif}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.GIF}#1{{QTm}{QTm}{#1}}
+%
\@namedef{Gin@rule@.tif}#1{{QTm}{QTm}{#1}}
-\@namedef{Gin@rule@.bmp}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.TIF}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.tiff}#1{{QTm}{QTm}{#1}}
+\@namedef{Gin@rule@.TIFF}#1{{QTm}{QTm}{#1}}
% movies not supported yet:
%\@namedef{Gin@rule@.qt}#1{{QTm}{QTm}{#1}}
@@ -461,35 +516,49 @@
\@namedef{Gin@rule@*}#1{{QTm}{QTm}{#1}}
% ... and add its extension here
-\def\Gin@extensions{.pdf,.eps,.ps,%
- .png,.jpg,.bmp,.pict,.tif,.psd,.mac,.sga,.tga,.gif}
+\def\Gin@extensions{% order here is like dvipdfmx.def, except for PS
+ .pdf,.PDF,.eps,.EPS,.ps,.PS,%
+ .png,.PNG,.jpg,.JPG,.jpeg,.JPEG,.bmp,.BMP,%
+ .pict,.PICT,.psd,.PSD,.mac,.MAC,.TGA,.tga,%
+ .gif,.GIF,.tif,.TIF,.tiff,.TIFF,%
+}
% xdvipdfmx is now the default driver, and can support EPS images,
% so we borrow code for this from dvipdfmx.def (and add the extensions above)
\def\Ginclude@eps#1{%
\message{<#1>}%
\bgroup
+ \newif\if@trim@vport
+ \ifx\Undefined\Gin@vllx\else\@trim@vporttrue\fi
\def\@tempa{!}%
\dimen@\Gin@urx\p@
\advance\dimen@ -\Gin@llx\p@
- \Gin@defaultbp\Gin@urx\dimen@
+ \if@trim@vport
+ \advance\dimen@ \Gin@vllx\p@
+ \fi
+ \edef\Gin@urx{\strip@pt\dimen@}%
\dimen@\Gin@ury\p@
\advance\dimen@ -\Gin@lly\p@
- \Gin@defaultbp\Gin@ury\dimen@
+ \if@trim@vport
+ \advance\dimen@ \Gin@vlly\p@
+ \fi
+ \edef\Gin@ury{\strip@pt\dimen@}%
\dimen@\Gin@req@width
\dimen@ii.1bp%
\divide\dimen@\dimen@ii
\@tempdima\Gin@req@height
\divide\@tempdima\dimen@ii
\special{PSfile="#1"\space
+ \if@trim@vport
+ llx=\Gin@vllx\space
+ lly=\Gin@vlly\space
+ \fi
urx=\Gin@urx\space
ury=\Gin@ury\space
\ifx\Gin@scalex\@tempa\else rwi=\number\dimen@\space\fi
\ifx\Gin@scaley\@tempa\else rhi=\number\@tempdima\space\fi
\ifGin@clip clip\fi}%
\egroup}
-\@namedef{Gin@rule@.ps}#1{{eps}{.ps}{#1}}
-\@namedef{Gin@rule@.eps}#1{{eps}{.eps}{#1}}
%
% Rotation & Scaling
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xetex-def.tlpobj new/tlpkg/tlpobj/xetex-def.tlpobj
--- old/tlpkg/tlpobj/xetex-def.tlpobj 2013-05-28 17:08:22.000000000 +0200
+++ new/tlpkg/tlpobj/xetex-def.tlpobj 2014-05-03 03:27:13.000000000 +0200
@@ -1,13 +1,13 @@
name xetex-def
category Package
-revision 30729
+revision 33799
shortdesc Colour and graphics support for XeTeX.
relocated 1
longdesc The file xetex.def provides device-specific definitions for
longdesc colour and graphics support when running Xe(La)TeX
-runfiles size=4
+runfiles size=5
RELOC/tex/xelatex/xetex-def/xetex.def
catalogue-ctan /graphics/xetex/latex/xetex.def
-catalogue-date 2013-02-20 11:06:23 +0100
+catalogue-date 2014-05-02 18:56:42 +0200
catalogue-license lppl
-catalogue-version 0.95
+catalogue-version 4.01
++++++ xetex-itrans.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xetex-itrans/README new/doc/xelatex/xetex-itrans/README
--- old/doc/xelatex/xetex-itrans/README 2011-09-27 02:24:52.000000000 +0200
+++ new/doc/xelatex/xetex-itrans/README 2014-01-28 23:46:02.000000000 +0100
@@ -1,7 +1,7 @@
% README for ITRANS and Baraha mapping files to be used with XeLaTeX.
-% Copyright (C) 2010-2011, Abhinandan S. Prasad and Shrisha Rao.
+% Copyright (C) 2010-2014, Abhinandan S. Prasad and Shrisha Rao.
%
-% Version 4.0, Time-stamp: <2011-09-25 18:30:00 shrao>
+% Version 4.1, Time-stamp: <2014-01-28 15:30:40 shrao>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -13,7 +13,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-%∞ The Current Maintainer of this work is Shrisha Rao.
+% The Current Maintainer of this work is Shrisha Rao.
%
% This work consists of the files brh-kan.map, brh-kan.tec,
% itrans-dvn.map, itrans-dvn.tec, itrans-sdvn.map, itrans-sdvn.tec,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xetex-itrans.doc.tlpobj new/tlpkg/tlpobj/xetex-itrans.doc.tlpobj
--- old/tlpkg/tlpobj/xetex-itrans.doc.tlpobj 2011-09-27 04:31:19.000000000 +0200
+++ new/tlpkg/tlpobj/xetex-itrans.doc.tlpobj 2014-01-29 03:25:23.000000000 +0100
@@ -1,6 +1,6 @@
name xetex-itrans.doc
category Package
-revision 24105
+revision 32810
shortdesc doc files of xetex-itrans
relocated 1
docfiles size=8
++++++ xetex-itrans.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-sankan.map new/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-sankan.map
--- old/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-sankan.map 2011-09-27 02:24:52.000000000 +0200
+++ new/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-sankan.map 2014-01-28 23:46:02.000000000 +0100
@@ -2,12 +2,12 @@
; by Abhinandan S.P. and Shrisha Rao ,
; based on harvardkyoto.map written by Daniel Stender.
;
-; Updated 2010-12-03
+; Updated 2014-01-25
LHSName "itrans-sankan"
RHSName "Unicode"
LHSDescription "Devanagari-ITRANS input method for Unicode Kannada"
-Version "2.00"
+Version "3.00"
Define dot U+002E
@@ -400,18 +400,21 @@
UniClass [vyanjana] = (ka .. ha)
[vyanjana]=v1 [vyanjana]=v2 > @v1 virama @v2
+;; In this mapping, target language is kannada and generally Kannada words does not
+;; end with virama. Also, this causes buggy output in Kannada. Hence, commenting fourth pass
;; Fourth pass: making remaining conjuncts (for groups of two or more consonants)
;; and adding viramas to the end of the words in Sanskrit
-pass (Unicode)
-;; Classes
-UniClass [vyanjana] = (ka .. ha rla)
-UniClass [spacepunct] = (U+0009 .. U+0040 U+005B .. U+0060 U+007B .. U+007D danda ddanda \
- U+2013 U+2014 U+2018 U+2019 U+201C U+201D)
+;;pass (Unicode)
-[vyanjana]=v1 [vyanjana]=v2 <> @v1 virama @v2
-[vyanjana] / _ [spacepunct] <> [vyanjana] virama / _ [spacepunct]
-[vyanjana] / _ # <> [vyanjana] virama / _ #
+;; Classes
+;;UniClass [vyanjana] = (ka .. ha rla)
+;;UniClass [spacepunct] = (U+0009 .. U+0040 U+005B .. U+0060 U+007B .. U+007D danda ddanda \
+;; U+2013 U+2014 U+2018 U+2019 U+201C U+201D)
+
+;;[vyanjana]=v1 [vyanjana]=v2 <> @v1 virama @v2
+;;[vyanjana] / _ [spacepunct] <> [vyanjana] virama / _ [spacepunct]
+;;[vyanjana] / _ # <> [vyanjana] virama / _ #
pass(Unicode)
Files old/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-sankan.tec and new/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-sankan.tec differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xetex-itrans.tlpobj new/tlpkg/tlpobj/xetex-itrans.tlpobj
--- old/tlpkg/tlpobj/xetex-itrans.tlpobj 2011-09-27 04:31:19.000000000 +0200
+++ new/tlpkg/tlpobj/xetex-itrans.tlpobj 2014-01-29 03:25:23.000000000 +0100
@@ -1,6 +1,6 @@
name xetex-itrans
category Package
-revision 24105
+revision 32810
shortdesc Itrans input maps for use with XeLaTeX.
relocated 1
longdesc The package provides maps for use with XeLaTeX with coding done
@@ -26,6 +26,6 @@
RELOC/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-tel.map
RELOC/fonts/misc/xetex/fontmapping/xetex-itrans/itrans-tel.tec
catalogue-ctan /macros/xetex/generic/itrans
-catalogue-date 2011-09-26 15:47:09 +0200
+catalogue-date 2014-01-28 13:57:50 +0100
catalogue-license lppl1.3
-catalogue-version 4.0
+catalogue-version 4.1
++++++ xetexko.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xetex/xetexko/ChangeLog new/doc/xetex/xetexko/ChangeLog
--- old/doc/xetex/xetexko/ChangeLog 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/xetex/xetexko/ChangeLog 2014-05-14 00:10:13.000000000 +0200
@@ -0,0 +1,70 @@
+2014-05-11 Dohyun Kim <nomos at ktug org>
+
+ Version 2.6
+
+ * xetexko-space.sty: assign U+FE00 block to IVS char as per
+ unicode 6.3
+ * xetexko-font.sty: font option YetHangul is still there, but
+ YetHangul=Off has been removed
+ * xetexko-font.sty: use latex3 syntax for defining font commands;
+ remove dependency on xkeyval package
+
+2014-03-28 Dohyun Kim <nomos at ktug org>
+
+ Version 2.5
+
+ * xetexko-font.sty: fixed a bug wrt hangul in preamble
+ * xetexko-vertical.sty: fixed a bug wrt 'charraise' of CJK symbols
+
+2014-02-02 Dohyun Kim <nomos at ktug org>
+
+ Version 2.4
+
+ * xetexko-space.sty: support Ideographic Variation Selector.
+ * xetexko-font.sty: fix a conflict with everysel.sty, reported by
+ Hoze Yi & Juho Lee
+ * xetexko-font.sty, xetexko-space.sty: fix conflicts with realscripts
+ and xypic packages, reported at
+ http://www.ktug.org/xe/index.php?document_srl=180038 and
+ http://www.ktug.org/xe/index.php?document_srl=180107 respectively.
+
+2013-12-14 Dohyun Kim <nomos at ktug org>
+
+ Version 2.3
+
+ * xetexko-space.sty xetexko.sty: previous release introduced a bug
+ related to ulem package, reported by Insung Cho.
+ * xetexko-space.sty: font-switching had sometimes been confused by
+ everyhangul/everyhanja.
+
+2013-12-06 Dohyun Kim <nomos at ktug org>
+
+ Version 2.2
+
+ * xetexko-space.sty: \latinhyphens is now the default
+ * xetexko-hanging.sty: \hangingpunctuations is not needed any more
+ * xetexko-space.sty: assign missing kana chars including U+30FC to
+ smallkana class
+ * xetexko-space.sty: assign compatibility jamo chars to hangulsyllable
+ class
+ * xetexko-space.sty: new macros \everyhangul and \everyhanja
+ * xetexko-space.sty: same stretch/shrink value for inter-hangul and
+ inter-hanja skip
+ * xetexko-font.sty xetexko-space.sty: new font option `charraise'
+ * xetexko-space.sty: \fallbackhanjafont as a final fallback font
+ * xetexko-josa.sty: fix a bug regarding non-BMP chars
+
+2013-07-03 Dohyun Kim <nomos at ktug org>
+
+ Version 2.1
+
+ * xetexko.sty: move Hangul caption setting to AtBeginDocument
+ * xetexko-space.sty: new macro \disablejamoautojosa, needed for teckit
+ mapping of Jamos.
+ * xetexko-vertical.sty: \verticaltypesetting for plain tex was
+ missing.
+
+2013-03-27 Dohyun Kim <nomos at ktug org>
+
+ Initial release to CTAN. Version 2.0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xetex/xetexko/README new/doc/xetex/xetexko/README
--- old/doc/xetex/xetexko/README 2013-04-26 00:40:35.000000000 +0200
+++ new/doc/xetex/xetexko/README 2014-05-14 00:10:13.000000000 +0200
@@ -1,5 +1,5 @@
-=========================================
-XeTeX-ko Package version 2.0 (2013/03/27)
+
+XeTeX-ko Package version 2.6 (2014/05/11)
=========================================
XeTeX-ko is a macro package for Xe(La)TeX which supports typesetting
@@ -15,126 +15,141 @@
License
-=======
+-------
This package is licensed under LPPL (LaTeX Project Public License).
See each file for details.
Author
-======
-Please report any errors or suggestions to Dohyun Kim <nomos at ktug org>.
+------
+Please report any errors or suggestions to
+ Dohyun Kim <nomos at ktug org>
+or leave messages in the issue tracker at:
+ http://github.com/dohyunkim/xetexko
Files
-=====
+-----
+
+### TeXinputs
-TeXinputs
----------
- xetexko.sty -> tex/xelatex/xetexko/
- xetexko-font.sty -> tex/xelatex/xetexko/
- xetexko-hanging.sty -> tex/xelatex/xetexko/
- xetexko-josa.sty -> tex/xelatex/xetexko/
- xetexko-space.sty -> tex/xelatex/xetexko/
- xetexko-vertical.sty -> tex/xelatex/xetexko/
- hanja_hangul.tab -> tex/xelatex/xetexko/
- hanjacom_hangul.tab -> tex/xelatex/xetexko/
- hanjaexa_hangul.tab -> tex/xelatex/xetexko/
-
-Documents
----------
- xetexko-doc.pdf -> doc/xelatex/xetexko/
- xetexko-doc.tex -> doc/xelatex/xetexko/
- README (this file) -> doc/xelatex/xetexko/
+ xetexko.sty -> tex/xetex/xetexko/
+ xetexko-font.sty -> tex/xetex/xetexko/
+ xetexko-hanging.sty -> tex/xetex/xetexko/
+ xetexko-josa.sty -> tex/xetex/xetexko/
+ xetexko-space.sty -> tex/xetex/xetexko/
+ xetexko-vertical.sty -> tex/xetex/xetexko/
+ hanja_hangul.tab -> tex/xetex/xetexko/
+ hanjacom_hangul.tab -> tex/xetex/xetexko/
+ hanjaexa_hangul.tab -> tex/xetex/xetexko/
+
+### Documents
+
+ xetexko-doc.pdf -> doc/xetex/xetexko/
+ xetexko-doc.tex -> doc/xetex/xetexko/
+ README (this file) -> doc/xetex/xetexko/
+ ChangeLog -> doc/xetex/xetexko/
Loading
-=======
+-------
If you are a LaTeX user, declaring
- \usepackage{xetexko}
+
+ \usepackage{xetexko}
or
- \usepackage{kotex}
+
+ \usepackage{kotex}
is sufficient to load the package, which will load fontspec package
as well. Notice that kotex.sty is a file provided by cjk-ko package.
-Under plain TeX: \input xetexko.sty
+Under plain TeX:
+
+ \input xetexko.sty
Package Options
-===============
- [hangul]
-Load Hangul captions. Besides, this option also adjusts interword
-and interline spacing.
+---------------
- [hanja]
+ [hangul]
+Load Hangul captions. Besides, this option also adjusts interline
+spacing.
+
+ [hanja]
Load Hanja captions. Also adjusts spacing as [hangul] option does.
- [unfonts]
+ [unfonts]
Load font setting predefined for Un TrueType fonts available at
http://kldp.net/projects/unfonts/.
Hangul Font Commands
-====================
- \setmainhangulfont
- \setsanshangulfont
- \setmonohangulfont
+--------------------
+
+ \setmainhangulfont
+ \setsanshangulfont
+ \setmonohangulfont
Same as \setmainfont et. al. provided by fontspec package, except that
these affect only Hangul characters and related symbols.
- \setmainhanjafont
- \setsanshanjafont
- \setmonohanjafont
+ \setmainhanjafont
+ \setsanshanjafont
+ \setmonohanjafont
Same as \setmainfont et. al., except that these affect only Hanja
characters.
In like manner, these commands are available as well:
- \hangulfontspec
- \hanjafontspec
- \newhangulfontfamily
- \newhanjafontfamily
- \addhangulfontfeature
- \addhanjafontfeature
+
+ \hangulfontspec
+ \hanjafontspec
+ \newhangulfontfamily
+ \newhanjafontfamily
+ \addhangulfontfeature
+ \addhanjafontfeature
+
+If \fallbackhanjafont is defined, it is used as a final fallback font.
Hangul Font Options
-===================
- [hu=<dimen>]
+-------------------
+
+ [hu=<dimen>]
Set spacing between Hangul and Latin characters.
- [interhchar=<dimen>]
+ [interhchar=<dimen>]
Set spacing between Hangul characters.
- [lowerperiod=<dimen>]
+ [lowerperiod=<dimen>]
Lower latin fullstop after Hangul character.
- [quoteraise=<dimen>]
+ [quoteraise=<dimen>]
Raise latin quotation marks.
- [postmathskip=<dimen>]
+ [postmathskip=<dimen>]
Set spacing after inline math and before Hangul.
-See xetexko-doc.pdf for other options.
+See xetexko-doc.pdf for more options.
Other User Commands
-===================
- \dotemph{...}
+-------------------
+
+ \dotemph{...}
Emphasise Hangul or Hanja by putting dot above.
- \begin{vertical}{<dimen>}
- \end{vertical}
+ \begin{vertical}{<dimen>}
+ \end{vertical}
This environment makes a vbox vertically typeset. <dimen> is an
argument required to indicate the box height. For vertical typesetting
of entire document, use the command \verticaltypesetting instead.
- \은 \는 \이 \가 \을 \를 \와 \과 \로 \으로 \라 \이라
-Commands for automatic Josa selection. Unlinke those of cjk-ko
-package, these commands works correctly even after Hangul or Hanja.
+ \은 \는 \이 \가 \을 \를 \와 \과 \로 \으로 \라 \이라
+Commands for automatic Josa selection. Unlike those of cjk-ko
+package, these commands work correctly even after Hangul or Hanja.
- \jaso \gana \ojaso \ogana \pjaso \pgana \onum \pnum \oeng
- \peng \hnum \Hnum \hroman \hRoman \hNum \hanjanum
+ \jaso \gana \ojaso \ogana \pjaso \pgana \onum \pnum \oeng
+ \peng \hnum \Hnum \hroman \hRoman \hNum \hanjanum
Hangul counters provided by cjk-ko package.
---END of README--
+*END of README*
Files old/doc/xetex/xetexko/xetexko-doc.pdf and new/doc/xetex/xetexko/xetexko-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xetex/xetexko/xetexko-doc.tex new/doc/xetex/xetexko/xetexko-doc.tex
--- old/doc/xetex/xetexko/xetexko-doc.tex 2013-04-26 00:40:35.000000000 +0200
+++ new/doc/xetex/xetexko/xetexko-doc.tex 2014-05-14 00:10:13.000000000 +0200
@@ -1,64 +1,80 @@
%% !tex program = xelatex
-%% written by Dohyun Kim <nomos at ktug org>
-%% public domain
%%
-%% $Id: xetexko-doc.tex,v 1.53 2012/11/12 14:56:11 nomos Exp $
+%% xetexko-doc.tex
+%%
+%% This file is in the public domain
\documentclass[a4paper]{article}
-\usepackage{typearea}
+\usepackage[hmargin=3.8cm]{geometry}
\usepackage[hangul]{xetexko}
-%\usepackage{xetexko-hanging}
-\setmainhangulfont[Ligatures=TeX,quoteraise=.1em]{NanumMyeongjo}
-\setmainhanjafont[Path,BoldFont=*Bold]{UnBatang}
-\setsanshangulfont[Ligatures=TeX]{NanumGothic}
-\usepackage{metalogo}
-\usepackage{xcolor}
-\usepackage{ulem}
+\setmainhangulfont[BoldFont=KoPubBatang_Pro Bold.otf,
+ Ligatures=TeX]{KoPubBatang_Pro Light.otf}
+\setsanshangulfont[BoldFont=KoPubDotum_Pro Bold.otf,
+ Ligatures=TeX]{KoPubDotum_Pro Medium.otf}
+\usepackage{xetexko-hanging}
+\usepackage{hologo,xcolor,ulem}
\usepackage[bookmarksnumbered]{hyperref}
-\def\dotemphraise{0.2em}
\edef\verbatim{\unexpanded\expandafter{\verbatim
- \linespread{1.1}\selectfont\color{blue!50!black}}}
-\def\logoko{\textsf{k}\kern-.1em\textit{o}}
+ \linespread{1.1}\selectfont }}
+\def\logoko{\textsf{k}\kern-.2ex\textit{o}}
+\def\XeTeX{\hologo{XeTeX}}
\def\xetexko{\XeTeX\kern-.1ex -\logoko}
-\def\kotex{\logoko\kern-.1ex .\kern-.1667em \TeX}
-\pdfstringdefDisableCommands{\def\XeTeX{XeTeX}\def\xetexko{XeTeX-ko}}
+\def\kotex{\logoko\kern-.1ex .\kern-.1667em \hologo{TeX}}
+\pdfstringdefDisableCommands{\def\xetexko{XeTeX-ko}}
\renewcommand*\descriptionlabel[1]{\hspace\labelsep\ttfamily\bfseries
- \color{red!70!black}#1}
+ \color{blue!50!black}#1}
+\def\grayhrule{{\color{white!80!black}\hrule height2pt}}
+\def\grayvrule{{\color{white!80!black}\vrule width 2pt}}
\newenvironment{plaintex}
- {\par\medskip\leavevmode\hbox\bgroup
- \color{white!80!black}\vrule width2pt\color{black}\kern1em
- \vbox\bgroup\hsize=\dimexpr\textwidth-12pt\relax
- \small
- }{\egroup\egroup\par\medskip}
+ {\setbox0=\vbox\bgroup\hsize=\dimexpr\textwidth-12pt\relax\kern10pt\par\small}
+ {\par\vskip-\lastskip\kern10pt\egroup \par\medskip\par
+ \dimen0=\dimexpr\pagegoal-\pagetotal\relax
+ \ifdim\ht0<\dimen0
+ \hbox{\grayvrule\kern10pt\box0}%
+ \else
+ \lineskip=0pt \splittopskip=10pt
+ \setbox2=\vsplit0 to\dimen0
+ \ifvoid2 \else\hbox{\grayvrule\kern10pt\box2}\fi
+ \ifvoid0 \else\hbox{\grayvrule\kern10pt\box0}\fi
+ \fi \par\medskip\par }
\newenvironment{example}
- {\leavevmode\hbox\bgroup
- \color{white!80!black}\vrule width2pt\color{black}\kern1em
- \vbox\bgroup\hsize=\dimexpr\textwidth-24pt\relax
- }{\egroup\kern1em\color{white!80!black}\vrule width2pt\color{black}\egroup}
-\def\cs#1{\texttt{\color{red!70!black}\textbackslash #1}}
+ {\hbox\bgroup\grayvrule
+ \vbox\bgroup\hsize\dimexpr\textwidth-4pt\relax
+ \grayhrule\kern1em\leftskip1em\rightskip1em
+ }{\par\kern1em\grayhrule\egroup\grayvrule\egroup}
+\def\cs#1{\texttt{\textbackslash #1}}
\def\hemph#1{\textsf{\bfseries #1}}
+\def\hparen#1{{\small\hangulparens(#1)}}
+\def\hparens#1{\leavevmode\unskip---{\small #1}---\ignorespaces}
\parindent0pt
-
\begin{document}
\title{\xetexko\ 간단 매뉴얼}
-\author{김 도 현 <\url{nomos at ktug org}>}
-\date{Version 2.0\quad\today}
+\author{Dohyun Kim \normalsize <\texttt{nomos at ktug org}> \and
+ \normalsize <\url{http://github.com/dohyunkim/xetexko}>}
+\date{Version 2.6\quad 2014/05/11}
\maketitle
\begin{quote}\small
- For summary introduction in English,
+ For a summary introduction in English,
please see \verb+README+ file in this package.
- 주요 변경 사항
\begin{itemize}\itemsep=0pt
- \item 플레인텍에서 xetexko.tex이 아니라 xetexko.sty를 불러야 한다.
- \item 은글꼴을 자동으로 부르지 않는다. \verb+[unfonts]+ 옵션이 없으면
- 사용자가 한글 글꼴을 지시해야 할 수 있다.
- \item CJK 기호문자를 한글글꼴에서 찾아 식자하는 것이 기본값이 되었다.
- 과거에는 한자글꼴에서 찾았다.
- \item \verb|interpunctskern| 글꼴 옵션을 없애고
- \verb|quoteraise|를 추가했다.
+ \item[v2.0]---
+ \item 플레인텍에서 xetexko.tex이 아니라 xetexko.sty를 불러야 한다.
+ \item \verb+[unfonts]+ 옵션이 없으면 은글꼴을 자동으로 부르지 않는다.
+ \item CJK 기호문자를 \hparen{한자가 아니라} 한글 글꼴에서 찾는 것이
+ 기본값이 되었다.
+ \item \verb|interpunctskern| 글꼴 옵션을 없애고 \verb|quoteraise|를
+ 추가했다.
+ \item[v2.2]---
+ \item 글꼴 옵션 \verb|charraise|를 추가했다.
+ \item \verb|\fallbackhanjafont| 명령을 인식한다.
+ \item \verb|\everyhangul|, \verb|\everyhanja| 명령이 추가되었다.
+ \item 하이픈 문자를 \hparen{직전 글꼴이 아니라} 라틴 글꼴에서 찾는
+ 것이 기본값이 되었다.
+ \item[v2.4]---
+ \item Variation Selector를 이용한 한자 변형 글리프 접근을 허용한다.
\end{itemize}
\end{quote}
@@ -91,7 +107,7 @@
\xetexko\ 로드하기: \cs{usepackage\{xetexko\}}.
이 명령은 fontspec 및 xunicode 패키지도 불러온다.
-종전과 달리 \hemph{xltxtra 패키지를 함께 부르지 않음}을 주의할 것.
+종전과 달리 xltxtra 패키지를 함께 부르지 않음을 주의할 것.
\begin{plaintex}
플레인텍이라면 \verb|\input xetexko.sty| 명령으로 로드한다.
@@ -106,22 +122,20 @@
절 제목 이하에는 한자 표제가 붙지 않고 숫자로만 표현된다.
한글이 주된 언어라고 인식하여 줄간격 조정도 수행한다.
\item[ unfonts ] 은글꼴을 불러온다. \hemph{이 옵션이 없으면
- 사용자가 한글 글꼴을 지정해야} 할 수 있다.\footnote{\texttt{[unfonts]}
- 옵션이 없더라도 \texttt{\string\setmainfont}로 지시한 글꼴에
- 한글 글리프가 들어있으면 따로 한글 글꼴을 지정한 필요가 없다.}
+ 사용자가 한글 글꼴을 지정해야} 할 수 있다.
\end{description}
\section{글꼴 명령}
\begin{verbatim}
\setmainfont [Ligatures=TeX]{Linux Libertine}
- \setmainhangulfont[Ligatures=TeX]{나눔명조}
- \setmainhanjafont [Ligatures=TeX]{은 바탕}
+ \setmainhangulfont[Ligatures=TeX]{NanumMyeongjo}
+ \setmainhanjafont [Ligatures=TeX]{UnBatang}
\end{verbatim}
각 명령의 의미는 이름이 뜻하는 그대로이며, fontspec 매뉴얼에 따라
-설정한다. 한글폰트를 지정하지 않더라도 경고만 내보낼 뿐
-에러를 발생시키지 않는다.
-한자폰트를 따로 지정하지 않으면 한글폰트가 적용된다.
+설정한다. 한글폰트를 따로 지정하지 않으면 영문폰트가 한글에도 사용된다.
+한자폰트를 따로 지정하지 않으면 한글폰트가 한자에도 적용된다.
+
마찬가지로 다음 명령들도 제공한다.
\begin{verbatim}
\setsansfont \setsanshangulfont \setsanshanjafont
@@ -137,18 +151,23 @@
\end{verbatim}
\end{plaintex}
+한편 버전 2.2부터는 \cs{fallbackhanjafont}를 정의해두면
+\hemph{한자 글꼴에도 없는 한자}를
+이 글꼴에서 찾아 식자한다. \verb|\newfontfamily| 명령으로 정의한다.
+
+\section{글꼴 명령 (계속)}
\begin{verbatim}
- \hangulfontspec[Ligatures=TeX]{나눔고딕}
+ \hangulfontspec[Ligatures=TeX]{NanumGothic}
\hanjafontspec [Ligatures=TeX]{UnGungseo}
\end{verbatim}
임시로 사용할 한글·한자 글꼴을 지시한다.
\cs{adhochangulfont}와 \cs{adhochanjafont}는 이들 명령의 다른 이름이다.
\begin{verbatim}
- \newhangulfontfamily\secthangul[Ligatures=TeX]{나눔고딕}
- \newhanjafontfamily \secthanja [Ligatures=TeX]{UnGungseo}
- \newhangulfontface \secthangul[Ligatures=TeX]{나눔고딕Bold}
- \newhanjafontface \secthanja [Ligatures=TeX]{UnDotumBold}
+ \newhangulfontfamily\myhangul[Ligatures=TeX]{NanumGothic}
+ \newhanjafontfamily \myhanja [Ligatures=TeX]{UnGungseo}
+ \newhangulfontface \myhangul[Ligatures=TeX]{NanumGothic Bold}
+ \newhanjafontface \myhanja [Ligatures=TeX]{UnDotumBold}
\end{verbatim}
fontspec 패키지의 \verb+\newfontfamily+ \verb+\newfontface+ 명령을
수정한 것이다.
@@ -158,32 +177,32 @@
\addhanjafontfeature {Color=00FF00}
\end{verbatim}
fontspec의 \verb+\addfontfeature+ 명령을 구현한 것이다.
-\cs{addhangulfontfeatures}와\\ \cs{addhanjafontfeatures}는
-이들 명령의 다른 이름이다.
+fontspec과 마찬가지로 각 명령의 끝에 `s'를 붙여도 된다.
-\smallskip
참고로, 한자와 한글을 같은 글꼴로 식자하고 싶을 때 글꼴 설정을
번거롭게 두 번 할 필요 없이 한글 글꼴만 설정한 뒤 간단히
\cs{hanjabyhangulfont}를 선언하면 된다.
+
\section{기호 글꼴 명령}
라틴 문자나 CJK 기호를 어떤 폰트로 식자할 것인가를 사용자가 지정할 수 있다.
\begin{verbatim}
\xetexkofontregime[quotes=latin, puncts=prevfont]{hangul}
\end{verbatim}
모든 라틴 문자와 CJK 기호들을 원칙적으로 한글 폰트로 식자하되,
-따옴표는 라틴 폰트로 찍고 마침표 따위는 직전 문자의 폰트를 따라간다는 의미이다.
+따옴표는 라틴 폰트로 찍고 마침표 따위는 현재 폰트를 따라간다는 의미이다.
옵션은 생략할 수 있다.
명령의 인자에는 latin, hangul, hanja, prevfont 중 하나가 올 수 있어서
각각 라틴 폰트, 한글 폰트, 한자 폰트로 식자하라는 뜻이며
-마지막의 prevfont는 직전 문자의 폰트를 그대로 이어받도록 지시한다.
+마지막의 prevfont는 \hemph{현재 활성화된 폰트를 그대로 받도록} 지시한다.
+현재 폰트가 직전 문자의 폰트가 아닐 수 있음에 주의할 것.
옵션 키의 종류와 의미는 다음과 같으며 각 키 값은 인자와 마찬가지로
latin, hangul, hanja, prevfont 가운데 하나를 허용한다.
-\begin{description}\itemsep0pt
+\begin{description}\itemsep0pt\hangulparens
\item[alphs] 라틴 알파벳 및 아래에 해당하지 않는 모든 라틴 문자
-\item[nums] 라틴 숫자(수식 제외)
+\item[nums] 라틴 숫자 \hparen{수식 제외}
\item[parens] 라틴 괄호, 중괄호, 대괄호, 꺽쇠
\item[quotes] accent grave, apostrophy 및 이들의 리거쳐
\item[colons] 라틴 콜론, 세미콜론, endash, emdash
@@ -192,12 +211,13 @@
\item[cjksymbols] CJK 구두점, 괄호 및 상징기호
\end{description}
-기본값은 다음 명령을 준 것과 동일하다. \hemph{CJK 기호가 한글폰트로 식자되게
-기본값이 변경되었음}에 유의할 것.
-\begin{verbatim}
- \xetexkofontregime [
- puncts=prevfont, hyphens=prevfont, colons=prevfont, cjksymbols=hangul
- ]{latin}
+기본값은 다음 명령을 준 것과 동일하다. \hemph{CJK 기호가 한글폰트}로,
+\hemph{하이픈은 라틴폰트}로
+식자되게 기본값이 변경되었음에 유의할 것.
+\begin{verbatim}
+ \xetexkofontregime
+ [ puncts=prevfont, colons=prevfont, cjksymbols=hangul ]
+ {latin}
\end{verbatim}
\begin{plaintex}
@@ -221,53 +241,61 @@
\section{간격 조정}
한글 관련 미세 간격 조정은 다음과 같이 폰트 옵션으로 지시한다.
\begin{verbatim}
- \setsanshangulfont[interhchar=-.04em]{나눔고딕}
+ \setsanshangulfont[interhchar=-.04em]{NanumGothic}
\end{verbatim}
이 때 나눔고딕 글꼴에만 한글 마이너스 자간이 작동한다.
\dotemph{고정폭 글꼴을 제외한} 한글·한자 글꼴
명령에 이런 옵션을 쓸 수 있다.
-허용되는 옵션은 다음과 같다. 각 항목의 길이값은 기본값을 뜻한다.
+허용되는 옵션은 다음과 같다. 각 항목의 길이값은 디폴트값을 뜻한다.
\begin{description}\itemsep0pt
-\item[hu]
-영문자와 한글 사이 간격. 영문 괄호와 한글 사이 간격은 그 두 배이다. 0.06em.
-\item[interhchar]
-한글 자간.\footnote{한자 자간 옵션은 제공하지 않는다.
- 혹시 한자 자간을 조절하고 싶다면
- \texttt{\string\XKinterhanjabreak}을 재정의하라.
- 참고로 한글 자간을 조절하는 저수준 명령은
- \texttt{\string\XKinterhangulbreak} 이다.}
-0pt.
-\item[lowerperiod]
-CJK 문자 직후의 마침표를 아래로 끌어내리는 정도. 0pt.
+\item[hu, InterLatinCJK]
+ 영문자와 한글 사이 간격을 지시한다.
+ 영문 괄호와 한글 사이 간격은 그 두 배이다. 0.06em.
+\item[interhchar, InterHangul]
+ {\addhangulfontfeature{interhchar=0.3em} 한글 자간을} 지시한다.%
+ \footnote{한자 자간 옵션은 제공하지 않는다.
+ 혹시 한자 자간을 조절하고 싶다면 \cs{XKinterhanjabreak}을 재정의하라.
+ 참고로 한글 자간을 조절하는 저수준 명령은 \cs{XKinterhangulbreak} 이다.}
+ 0pt.
+\item[charraise, CharRaise]
+ 버전 2.2의 새로운 옵션으로
+ 글자의 \hemph{\addhangulfontfeature{charraise=.5ex}수직 위치}를 조절한다.
+ 다른 글꼴 관련 효과와 충돌할 수 있어 주의를 요한다. 0pt.
+\item[lowerperiod, PunctRaise]
+ \verb+lowerperiod+는 CJK 문자 직후의 마침표를 아래로 끌어내리는
+ {\addhangulfontfeature{lowerperiod=.5ex}정도를 지시한다.
+ 반대로 \verb+PunctRaise+ 옵션은 끌어올리는 정도를 지시한다. 0pt.}
\item[lowerquestion]
-CJK 문자 직후의 물음표를 아래로 끌어내리는 정도. 0pt.
+ CJK 문자 직후의 물음표를 아래로 끌어내리는 정도. 0pt.
\item[lowerexclamation]
-CJK 문자 직후의 느낌표를 아래로 끌어내리는 정도. 0pt.
+ CJK 문자 직후의 느낌표를 아래로 끌어내리는 정도. 0pt.
\item[lowercomma]
-CJK 문자 직후의 쉼표를 아래로 끌어내리는 정도. 0pt.
+ CJK 문자 직후의 쉼표를 아래로 끌어내리는 정도. 0pt.
\item[preperiodkern]
-CJK 문자 직후의 마침표 앞에 들어가는 간격. 0pt.
+ {\addhangulfontfeature{preperiodkern=1ex}CJK 문자 직후의 마침표 앞에
+ 들어가는 간격. 0pt.}
\item[postperiodkern]
-CJK 문자 직후의 마침표 뒤에 들어가는 간격. 0pt.
+ {\addhangulfontfeature{postperiodkern=1ex}CJK 문자 직후의 마침표 뒤에
+ 들어가는 간격. 0pt.}
\item[prequestionkern]
-CJK 문자 직후의 물음표 앞에 들어가는 간격. 0pt.
+ CJK 문자 직후의 물음표 앞에 들어가는 간격. 0pt.
\item[postquestionkern]
-CJK 문자 직후의 물음표 뒤에 들어가는 간격. 0pt.
+ CJK 문자 직후의 물음표 뒤에 들어가는 간격. 0pt.
\item[preexclamationkern]
-CJK 문자 직후의 느낌표 앞에 들어가는 간격. 0pt.
+ CJK 문자 직후의 느낌표 앞에 들어가는 간격. 0pt.
\item[postexclamationkern]
-CJK 문자 직후의 느낌표 뒤에 들어가는 간격. 0pt.
+ CJK 문자 직후의 느낌표 뒤에 들어가는 간격. 0pt.
\item[precommakern]
-CJK 문자 직후의 쉼표 앞에 들어가는 간격. 0pt.
+ CJK 문자 직후의 쉼표 앞에 들어가는 간격. 0pt.
\item[postcommakern]
-CJK 문자 직후의 쉼표 뒤에 들어가는 간격. 0pt.
+ CJK 문자 직후의 쉼표 뒤에 들어가는 간격. 0pt.
\item[quoteraise]
-영문 인용부호{\small(grave accent나 apostrophe로 입력하는 것을 말함)}를
-위로 끌어올리는 정도. 0pt.
+ 영문 인용부호\hparens{아스키문자로 입력하는 것을 말함}를
+ 위로 끌어올리는 정도. 0pt.
\item[quotewidth]
-영문 인용부호의 폭. 기본값은 natural width.
+ 영문 인용부호의 폭. 기본값은 natural width.
\item[postmathskip]
-수식과 CJK 문자 사이의 간격. 기본값은 위 hu 값의 두 배.
+ 수식과 CJK 문자 사이의 간격. 기본값은 위 hu 값의 두 배.
\end{description}
\begin{plaintex}
@@ -275,6 +303,7 @@
\begin{verbatim}
\def\xetexkohu{0.06em }
\def\xetexkointerhchar{-0.04em }
+ \def\xetexkocharraise{-0.1ex }
\def\xetexkolowerperiod{0.15ex }
\def\xetexkolowerquestion{0.15ex }
\def\xetexkolowerexclamation{0.15ex }
@@ -295,24 +324,36 @@
\section{그밖의 명령들}
\begin{description}
+ \item[\cs{everyhangul}, \cs{everyhanja}]
+ 한글 또는 한자에 대해 글자마다 지시한 명령을 수행한다. 예컨대
+ \verb|\everyhangul{\fbox{#1}}| 명령은 모든
+ {\everyhangul{\fbox{#1}}\fboxsep=1pt 한글 주위에 박스}를
+ 두른다. 2.2 버전의 새로운 명령. 다른 글꼴 옵션과 충돌할 수 있으므로
+ 주의를 요한다.
+
\item[\cs{disablekoreanfonts}]
한글폰트를 따로 설정하지 않고 영문 폰트를 따라간다.
이 때 \verb|\setmainfont| 따위가 한글과 한자에도 적용된다.
\item[\cs{disableautojosa}]
혹시 있을지 모를 예기치 못한 기능간 충돌에 대비하여 자동조사 기능을
-끄는 명령을 제공하고 있다.
+끄는 명령을 제공한다.
+
+ \item[\cs{disablejamoautojosa}]
+옛한글 자모에 한해서 자동조사 기능을 끈다.
+옛한글 자모에 영향을 주는 \verb+Mapping+ 글꼴 옵션을 사용해야 한다면
+이 명령을 선언해두어야 정상 작동한다.
+버전 2.1에서 새롭게 추가된 명령이다.
\item[\cs{disablecjksymbolspacing}]
-CJK 구두점이나 괄호의 폭을 0.5em으로 강제설정하는 것을 방지한다.
+CJK 구두점의 폭을 0.5em으로 강제설정하는 것을 방지한다.
\xetexko는 낡은 고정폭 한글 폰트들을 고려하여 이 기능을 구현하였으나
현대적인 한글 폰트는 이러한 과잉친절이 오히려 성가실 경우가 있다.
\item[\cs{disablehangulspacing}]
한글조판에 관련된 모든 미세간격을 영(zero)으로 돌린다. 한글 자간도,
영문자와 한글 사이 간격도, 구두점 위치 조정도, 구두점 사이의 간격도
-모두 작동하지 않게 된다. 그러나 CJK 글자 사이의 줄바꿈 허용만은 여전히
-동작한다.
+모두 작동하지 않는다. 그러나 CJK 글자 사이의 줄바꿈 허용만은 유지된다.
\item[\cs{disablehangulspacingandlinebreak}]
위 명령과 마찬가지로 모든 미세간격을 금지할 뿐만 아니라 CJK 글자 사이의
@@ -327,77 +368,48 @@
\end{description}
\section{옛한글}
-옛한글을 사용하기 위해선 \verb|Script=Hangul| 옵션을 주는 것으로 족하다.
-호환성을 위해서 \verb|YetHangul| 옵션도 제공한다.
-옛한글 식자는 고급 오픈타입 기능을 이용하므로
-폰트가 이런 기능을 제공해야만 가능한 일이다.\footnote{%
-\today\ 현재, 이런 기능을 제공하는 폰트로는 마이크로소프트 오피스 플러스팩이
-제공하는 옛한글 글꼴과 윈도즈~8에 번들된 맑은고딕이 있으며
-공개폰트로는 은바탕과 KTUG판 함초롬 글꼴이 있다.}
-\begin{verbatim}
- \setmainhangulfont[ Script=Hangul ]{Malgun Gothic}
-\end{verbatim}
-\begin{plaintex}
-플레인텍이라면,
-\begin{verbatim}
- \hangulfont="Malgun Gothic:script=hang" at 10pt
-\end{verbatim}
-\end{plaintex}
\begin{figure}
\begin{example}
- \hangulfontspec[YetHangul]{HCR Dotum LVT}
- \hanjabyhangulfont\parindent1em
+ \hangulfontspec[Script=Hangul]{HCR Dotum LVT}
+ \hanjabyhangulfont%\parindent1em
+ \obeylines\leftskip10em
뎨 가ᄂᆞᆫ 뎌 각시 본 듯도 ᄒᆞᆫ뎌이고.
天텬上상白ᄇᆡᆨ玉옥京경을 엇디ᄒᆞ야 離니別별ᄒᆞ고
ᄒᆡ 다 져믄 날의 눌을 보라 가시ᄂᆞᆫ고
-
+\medbreak
어와 네여이고 내 ᄉᆞ셜 드러보오.
내 얼굴 이 거동이 님 괴얌즉 ᄒᆞᆫ가마ᄂᆞᆫ
엇딘디 날 보시고 네로다 녀기실ᄉᆡ
나도 님을 미더 군 ᄠᅥ디 전혀 업서
이ᄅᆡ야 교ᄐᆡ야 어ᄌᆞ러이 구돗ᄯᅥᆫ디
반기시ᄂᆞᆫ ᄂᆞᆺ비치 녜와 엇디 다ᄅᆞ신고.
-누어 ᄉᆡᆼ각ᄒᆞ고 니러 안자 혜여ᄒᆞ니
-내 몸의 지은 죄 뫼ᄀᆞ티 ᄡᅡ혀시니
-하ᄂᆞᆯ히라 원망ᄒᆞ고 사ᄅᆞᆷ이라 허믈ᄒᆞ랴
-셜워 플텨 혜니 造조物믈의 타시로다.
\end{example}
\caption{옛한글 조판 보기}\label{fig:yethangul}
\end{figure}
-\section{세로쓰기}
-세로쓰기를 위한 글꼴 지정은 다음과 같다.
-역시 고급 오픈타입 기능을 이용하는 것이므로
-폰트가 이를 지원해야 한다.
+옛한글을 사용하기 위해선 \verb|Script=Hangul| 옵션을 주는 것으로 족하다.
+옛한글 식자는 고급 오픈타입 기능을 이용하므로
+폰트가 이런 기능을 제공해야만 가능한 일이다.\footnote{%
+\today\ 현재, 이런 기능을 제공하는 폰트로는 마이크로소프트 오피스 플러스팩이
+제공하는 옛한글 글꼴과 윈도즈~8에 번들된 맑은고딕이 있으며
+공개폰트로는 은바탕과 KTUG판 함초롬 글꼴이 있다.}
\begin{verbatim}
- \setmainhangulfont[ Vertical=RotatedGlyphs ]{Adobe 명조 Std}
+ \setmainhangulfont[ Script=Hangul ]{Malgun Gothic}
\end{verbatim}
-문서 전체를 세로쓰기할 때 \cs{verticaltypesetting}을 선언하면
-면주는 그대로 두고 본문만 세로쓰기한다.\footnote{당연히 면주의 글꼴은
-\texttt{Vertical} 옵션이 없는 것이라야 할 것이다.
-면주 글꼴을 따로 지정하는 것은 사용자의 몫이다. }
-문서의 일부를 세로쓰기 하려면 vertical 환경을 이용한다.
-vertical 환경의 인자는 세로쓰기 박스의 세로 길이이다.
-보통 그 뒤에 세로쓰기에 사용할 글꼴 명령이 온다.
+\begin{plaintex}
+플레인텍이라면,
\begin{verbatim}
- \begin{vertical}{12em}
- \hangulfontspec[ Vertical=RotatedGlyphs ]{Adobe 명조 Std}
- 세로쓰기로 식자할 부분
- \end{vertical}
+ \hangulfont="Malgun Gothic:script=hang" at 10pt
\end{verbatim}
-만일 세로쓰기의 EM 박스 크기가 가로쓰기와 다르다면
-\cs{verticalem=1.05em}과 같은 선언을 미리 해두는 것이 좋다.
+\end{plaintex}
-혹시 세로로 식자되지 않는 라틴문자 부분이 있다면
-\cs{vertlatin} 명령으로 감싸야 세로쓰기에 어울리는
-결과를 얻을 수 있다. 다만 이때 인자는 박스로 처리되므로
-그 안에서 줄바꿈이 일어나지 않는다.
+\section{세로쓰기}
\begin{figure}
\begin{example}
\hfil\begin{vertical}{16em}
- \hangulfontspec[Vertical=RotatedGlyphs]{Adobe Myungjo Std}
+ \hangulfontspec[Vertical=RotatedGlyphs]{AdobeMyungjoStd-Medium.otf}
\hangulmarks \hanjabyhangulfont \parindent-1em\leftskip1em
\noindent 님의 침묵 {\small(The Silent Beloved)}
\smallbreak
@@ -415,29 +427,48 @@
\caption{세로쓰기 보기}\label{fig:vertical}
\end{figure}
-\medskip
+세로쓰기를 위한 글꼴 지정은 다음과 같다.
+역시 고급 오픈타입 기능을 이용하는 것이므로
+폰트가 이를 지원해야 한다.\footnote{%
+만일 폰트의 세로쓰기 em 박스 크기가 가로쓰기와 다르다면
+\cs{verticalem=1.05em}과 같은 선언을 미리 해두는 것이 좋다.}
+\begin{verbatim}
+ \setmainhangulfont[ Vertical=RotatedGlyphs ]{Adobe Myungjo Std}
+\end{verbatim}
+문서 전체를 세로쓰기할 때 \cs{verticaltypesetting}을 선언하면
+면주는 그대로 두고 본문만 세로쓰기한다.\footnote{당연히 면주의 글꼴은
+\texttt{Vertical} 옵션이 없는 것이라야 할 것이다.
+면주 글꼴을 따로 지정하는 것은 사용자의 몫이다. }
+문서의 일부를 세로쓰기 하려면 vertical 환경을 이용한다.
+vertical 환경의 인자는 세로쓰기 박스의 세로 길이이다.
+보통 그 뒤에 세로쓰기에 사용할 글꼴 명령이 온다.
+\begin{verbatim}
+ \begin{vertical}{12em}
+ \hangulfontspec[ Vertical=RotatedGlyphs ]{Adobe Myungjo Std}
+ 세로쓰기로 식자할 부분
+ \end{vertical}
+\end{verbatim}
+
+혹시 세로로 식자되지 않는 라틴문자 부분이 있다면
+베이스라인이 한글과 어울리지 않을 수 있다. 이를 교정하려면
+\verb|charraise| 옵션을 한글 폰트에 준다.
+이 방법이 여의치 않으면 라틴문자 부분을 \cs{vertlatin} 명령으로 감쌀 수도
+있는데, 이때 인자가 박스로 처리되어 그 안에서 줄바꿈이 일어나지 않는다.
+\medbreak
\begin{plaintex}
플레인텍이라면,
\begin{verbatim}
- \vertical{16em}\hangulfont="Adobe 명조 Std:vertical"
- 세로쓰기로 식자할 부분
- \endvertical
+ \vertical{16em}\hangulfont="Adobe Myungjo Std:vertical"
+ 세로쓰기로 식자할 부분
+ \endvertical
\end{verbatim}
\end{plaintex}
-
\section{일본어·중국어·고문헌}
-띄어쓰기가 없는 옛문헌이나 일본어 단락 따위를 삽입할 때
-japanese 혹은 chinese 환경을 선언하는 것이 좋다.
-들여쓰기\footnote {들여쓰기 기본값은 japanese는 1em 이고 chinese는 2em 이다.}
-및 자간 조절이 자동으로 이루어지며
-사용자가 입력한 불필요한 공백도 없애준다.
-Schinese 환경은 chinese의 다른 이름이다.
-Tchinese도 제공하는데 중국어 번체 글꼴을 사용한다면 이 환경을 이용하라.
\begin{figure}
\begin{example}
- \setmainhanjafont{STFangsong}\chinese
+ \hanjafontspec{STFangsong}\chinese
子曰:「學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?人不知而不慍,不亦君子乎?」
有子曰:「其為人也孝弟,而好犯上者,鮮矣!不好犯上,而好作亂者,未之有也!君子務本,本立而道生;孝弟也者,其為仁之本歟?」
@@ -449,6 +480,14 @@
\caption{고문헌 조판 보기}\label{fig:ancientdoc}
\end{figure}
+띄어쓰기가 없는 옛문헌이나 일본어 단락 따위를 삽입할 때
+japanese 혹은 chinese 환경을 선언하는 것이 좋다.
+들여쓰기\footnote {들여쓰기 기본값은 japanese는 1em 이고 chinese는 2em 이다.}
+및 자간 조절이 자동으로 이루어지며
+사용자가 입력한 불필요한 공백도 없애준다.
+Schinese 환경은 chinese의 다른 이름이다.
+Tchinese도 제공하는데 중국어 번체 글꼴을 사용한다면 이 환경을 이용하라.
+
\cs{inhibitglue} 명령은 일본어 등 환경에서 가끔 유용한데,
해당 지점에 자동 삽입되는 공백을 영(zero)으로
만들어준다.
@@ -457,10 +496,10 @@
마침표, 쉼표, 인용부호를 판면 바깥에 식자하여 행 끝에 매달리게 만든다.
\begin{verbatim}
\usepackage{xetexko-hanging}
- \hangingpunctuation
\end{verbatim}
-\cs{hangingpunctuation} 명령은 글꼴 설정이 완료된 이후에 내려야
-원하는 결과를 얻을 수 있다.
+\cs{hangingpunctuation} 명령은 버전 2.2 이후 불필요해졌다.
+글자 내밀기 기본값에 차이가 좀 있긴 하지만,
+microtype 패키지를 로드하는 것으로도 유사한 결과를 얻을 수 있다.
%\begin{figure}
%\Large
@@ -481,14 +520,14 @@
%\end{figure}
\section{수식 한글}
-수식 모드에서도 한글을 {\small(hbox로 감싸지 않고)} 직접 입력할 수 있다.
+수식 모드에서도 한글을 \hparens{hbox로 감싸지 않고} 직접 입력할 수 있다.
\begin{quote}
\verb|$가^{나^다}$|\quad$\Rightarrow\quad가^{나^다}$
\end{quote}
수식 한글은 따로 설정하지 않으면 문서의 기본 글꼴을 따라가지만
굳이 설정하려면 다음과 같이 한다. 이 명령은 플레인텍에서도 쓸 수 있다.
\begin{verbatim}
- \setmathhangulfont[ExternalLocation]{UnBatang}
+ \setmathhangulfont{NanumGothic}
\end{verbatim}
현재 한글만 쓸 수 있게 설정되어 있다.
한자도 수식에 직접 입력하려면 사용자는
@@ -540,12 +579,10 @@
\section{밑줄긋기}
\LaTeX에서는 \uline{ulem 패키지}를 로드하는 것만으로 자동 지원된다.
\begin{plaintex}
-플레인텍에서는 패키지 로드 후 사용자가 \verb|\xetexkoulemsupport|
+플레인텍에서는 패키지 로드 후 사용자가 \cs{xetexkoulemsupport}
명령을 내려주어야 한다.
\end{plaintex}
+\hfill \fboxsep=-\fboxrule \fbox{\vbox to1em{\hbox to1em{\hss}\vss}}
-\section{hyperref}
-hyperref 패키지는 \verb+[unicode]+ 옵션 없이 쓴다.
-\hfill □
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xetexko.doc.tlpobj new/tlpkg/tlpobj/xetexko.doc.tlpobj
--- old/tlpkg/tlpobj/xetexko.doc.tlpobj 2013-04-26 03:59:26.000000000 +0200
+++ new/tlpkg/tlpobj/xetexko.doc.tlpobj 2014-05-14 03:25:48.000000000 +0200
@@ -1,9 +1,10 @@
name xetexko.doc
category Package
-revision 30110
+revision 34013
shortdesc doc files of xetexko
relocated 1
-docfiles size=78
+docfiles size=64
+ RELOC/doc/xetex/xetexko/ChangeLog
RELOC/doc/xetex/xetexko/README
RELOC/doc/xetex/xetexko/xetexko-doc.pdf
RELOC/doc/xetex/xetexko/xetexko-doc.tex
++++++ xetexko.tar.xz ++++++
++++ 3034 lines of diff (skipped)
++++++ xgreek.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/xelatex/xgreek/README new/doc/xelatex/xgreek/README
--- old/doc/xelatex/xgreek/README 2012-04-09 01:57:05.000000000 +0200
+++ new/doc/xelatex/xgreek/README 2013-07-12 01:27:07.000000000 +0200
@@ -1,3 +1,14 @@
+Version 2.5 of package xgreek
+
+By default the package enables the indentation even for first paragraph
+after any header. This is the default in Greek typography. However, some
+users wanted to be able to disable this "feature". Now, users can
+specify the noindentfirst option to achieve this. Also, some users wanted
+to be able to have the Greek numerals that appear in enumerations and
+chapter headers to get printed without the NUMERAL SIGN. This feature
+can be turned on with the new option nonumeralsign. Fianlly, command
+\anoteleia can be used to get an ANO TELEIA character.
+
Version 2.4 of package xgreek
Two erroneous entries in \@ncientn@mes have been deleted.
@@ -8,21 +19,17 @@
If one wants this command to expand to the stigma symbol, she has to
use the stigma package option.
-Apostolos Syropoulos
-Xanthi, Greece
-2011/09/27
Version 2.2 of package xgreek
-In version 2.2 it was removed the first entry of \refname in \@ncientn@mes.
+Removed the first entry of \refname in \@ncientn@mes.
-In version 2.1 I have introduced some new \lccode-\uccode pairs that
+Version 2.1 of package xgreek
+
+I have introduced some new \lccode-\uccode pairs that
reflect current changes in Unicode 5.2 while I have corrected the
values for an existing pair.
-Apostolos Syropoulos
-Xanthi, Greece
-2009/11/23
Version 2.0 of package xgreek
@@ -48,4 +55,4 @@
Apostolos Syropoulos
Xanthi, Greece
-2008/06/24
+2013/07/09
Files old/doc/xelatex/xgreek/xgreek.pdf and new/doc/xelatex/xgreek/xgreek.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xgreek.doc.tlpobj new/tlpkg/tlpobj/xgreek.doc.tlpobj
--- old/tlpkg/tlpobj/xgreek.doc.tlpobj 2012-04-09 04:36:46.000000000 +0200
+++ new/tlpkg/tlpobj/xgreek.doc.tlpobj 2013-07-12 03:22:23.000000000 +0200
@@ -1,8 +1,8 @@
name xgreek.doc
category Package
-revision 25876
+revision 31170
shortdesc doc files of xgreek
relocated 1
-docfiles size=16
+docfiles size=17
RELOC/doc/xelatex/xgreek/README
RELOC/doc/xelatex/xgreek/xgreek.pdf
++++++ xgreek.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/xelatex/xgreek/xgreek.sty new/tex/xelatex/xgreek/xgreek.sty
--- old/tex/xelatex/xgreek/xgreek.sty 2012-04-09 01:57:05.000000000 +0200
+++ new/tex/xelatex/xgreek/xgreek.sty 2013-07-12 01:27:07.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% xgreek.dtx (with options: `xgreek')
%%
-%% (c) Copyright 2007—2011 Apostolos Syropoulos
+%% (c) Copyright 2007—2013 Apostolos Syropoulos
%% This program can be redistributed and/or modified under the
%% terms of the LaTeX Project Public License Distributed from
%% http://www.latex-project.org/lppl.txt; either
@@ -35,8 +35,8 @@
%% Right brace \} Tilde \~}
%%
\ProvidesFile{xgreek.sty}
- [2012/04/08 v2.4 Package `xgreek.sty']
-\message{Package `xgreek' version 2.4 by Apostolos Syropoulos}
+ [2013/07/05 v2.5 Package `xgreek.sty']
+\message{Package `xgreek' version 2.5 by Apostolos Syropoulos}
\global\lccode"0370="0371 \global\uccode"0370="0370
\global\lccode"0371="0371 \global\uccode"0371="0370
\global\lccode"0372="0373 \global\uccode"0372="0372
@@ -418,14 +418,20 @@
Μαΐου\or Ἰουνίου\or Ἰουλίου\or Αὐγούστου\or Σεπτεμβρίου\or
Ὀκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi}
\def\anwtonos{\char"0374\relax}
+\let\numer@lsign\anwtonos
\def\katwtonos{\char"0375\relax}
\def\koppa{\char"03DF\relax}
\def\sampi{\char"03E1\relax}
\def\Digamma{\char"03DC\relax}
\def\ddigamma{\char"03DD\relax}
+\def\anoteleia{\char"0387\relax}
\def\euro{\char"20AC\relax}
\def\permill{\char"2030\relax}
\def\stigma{στ\relax}
+\frenchspacing
+\let\@saveafterindentfalse\@afterindentfalse
+\let\@afterindentfalse\@afterindenttrue
+\@afterindenttrue
\DeclareOption{monogreek}{%
\language\l@monogreek%
}
@@ -442,19 +448,22 @@
\DeclareOption{stigma}{%
\def\stigma{\char"03DA\relax}
}
+\DeclareOption{noindentfirst}{%
+ \let\@afterindentfalse\@saveafterindentfalse
+}
+\DeclareOption{nonumeralsign}{%
+ \let\numer@lsign\relax
+}
\ExecuteOptions{monogreek}
\ProcessOptions
-\frenchspacing
-\let\@afterindentfalse\@afterindenttrue
-\@afterindenttrue
\def\gr@ill@value#1{%
\PackageWarning{xgreek}{Illegal value (#1) for greeknumeral}}
\DeclareRobustCommand\anw@false{%
\DeclareRobustCommand\anw@print{}}
\DeclareRobustCommand\anw@true{%
- \DeclareRobustCommand\anw@print{\anwtonos}}
+ \DeclareRobustCommand\anw@print{\numer@lsign}}
\anw@true
-\def\greeknumeral#1{%
+\def\@greeknumeral#1{%
\ifnum#1<\@ne\space\gr@ill@value{#1}%
\else
\ifnum#1<10\expandafter\gr@num@i\number#1%
@@ -478,8 +487,39 @@
\fi
\fi
}
+\def\gr@num@i#1{%
+ \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
+ \ifnum#1=\z@\else\anw@true\fi\anw@print}
+\def\gr@num@ii#1{%
+ \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
+ \ifnum#1=\z@\else\anw@true\fi\gr@num@i}
+\def\gr@num@iii#1{%
+ \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
+ \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii}
+\def\gr@num@iv#1{%
+ \ifnum#1=\z@\else\katwtonos\fi
+ \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
+ \gr@num@iii}
+\def\gr@num@v#1{%
+ \ifnum#1=\z@\else\katwtonos\fi
+ \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
+ \gr@num@iv}
+\def\gr@num@vi#1{%
+ \katwtonos
+ \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
+ \gr@num@v}
+\def\@Greeknumeral#1{%
+ \expandafter\MakeUppercase\expandafter{\@greeknumeral{#1}}}
+\def\greeknumeral#1{%
+ \let\@numer@lsign\numer@lsign%
+ \let\numer@lsign\anwtonos%
+ \@greeknumeral{#1}
+ \let\numer@lsign\@numer@lsign}
\def\Greeknumeral#1{%
- \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}}
+ \let\@numer@lsign\numer@lsign%
+ \let\numer@lsign\anwtonos%
+ \@Greeknumeral{#1}
+ \let\numer@lsign\@numer@lsign}
\newcount\@attic@num
\DeclareRobustCommand*{\@@atticnum}[1]{%
\@attic@num#1\relax
@@ -522,8 +562,8 @@
\@atticnum{\@attic@num}}
\let\latin@alph\@alph
\let\latin@Alph\@Alph
-\def\greek@alph#1{\expandafter\greeknumeral\expandafter{\the#1}}
-\def\greek@Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}}
+\def\greek@alph#1{\expandafter\@greeknumeral\expandafter{\the#1}}
+\def\greek@Alph#1{\expandafter\@Greeknumeral\expandafter{\the#1}}
\let\@alph\greek@alph
\let\@Alph\greek@Alph
\def\nogreekalph{%
@@ -532,27 +572,6 @@
\def\greekalph{%
\let\@alph\greek@alph
\let\@Alph\greek@Alph}
-\def\gr@num@i#1{%
- \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
- \ifnum#1=\z@\else\anw@true\fi\anw@print}
-\def\gr@num@ii#1{%
- \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
- \ifnum#1=\z@\else\anw@true\fi\gr@num@i}
-\def\gr@num@iii#1{%
- \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
- \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii}
-\def\gr@num@iv#1{%
- \ifnum#1=\z@\else\katwtonos\fi
- \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
- \gr@num@iii}
-\def\gr@num@v#1{%
- \ifnum#1=\z@\else\katwtonos\fi
- \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
- \gr@num@iv}
-\def\gr@num@vi#1{%
- \katwtonos
- \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
- \gr@num@v}
\def\setlanguage#1{%
\expandafter\ifx\csname l@#1\endcsname\relax%
\typeout{^^J Error: No hyphenation pattern for language #1 loaded,}%
@@ -561,11 +580,11 @@
\else\language=\csname l@#1\endcsname\fi}
\def\grtoday{%
\expandafter\greeknumeral\expandafter{\the\day}\space
- \gr@c@month \space
+ \gr@c@month\space
\expandafter\greeknumeral\expandafter{\the\year}}
\def\Grtoday{%
\expandafter\Greeknumeral\expandafter{\the\day}\space
- \gr@c@month \space
+ \gr@c@month\space
\expandafter\Greeknumeral\expandafter{\the\year}}
\endinput
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xgreek.tlpobj new/tlpkg/tlpobj/xgreek.tlpobj
--- old/tlpkg/tlpobj/xgreek.tlpobj 2012-04-09 04:36:47.000000000 +0200
+++ new/tlpkg/tlpobj/xgreek.tlpobj 2013-07-12 03:22:23.000000000 +0200
@@ -1,6 +1,6 @@
name xgreek
category Package
-revision 25876
+revision 31170
shortdesc XeLaTeX package for typesetting Greek language documents (beta release).
relocated 1
longdesc This package has been designed so to allow people to typeset
@@ -18,6 +18,6 @@
runfiles size=7
RELOC/tex/xelatex/xgreek/xgreek.sty
catalogue-ctan /macros/xetex/latex/xgreek
-catalogue-date 2012-04-08 19:39:35 +0200
+catalogue-date 2012-07-21 23:51:26 +0200
catalogue-license lppl
catalogue-version 2.4
++++++ xint.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xint/README new/doc/generic/xint/README
--- old/doc/generic/xint/README 2013-05-27 07:00:41.000000000 +0200
+++ new/doc/generic/xint/README 2014-04-02 00:25:22.000000000 +0200
@@ -1,80 +1,158 @@
The xint bundle
-Release 1.07a (2013/05/26)
-author: Jean-Francois Burnol
+Release 1.09n (2014/04/01). Documentation date: 2014/04/01
-Style files which will self-extract from xint.dtx:
-(base) xint.sty Expandable operations on long numbers
- xintfrac.sty Expandable operations on fractions
- xintexpr.sty Expandable expression parser
- xintgcd.sty Euclidean algorithm with xint package
- xintseries.sty Expandable partial sums with xint package
- xintcfrac.sty Expandable continued fractions with xint package
+Copyright (C) 2013-2014 by Jean-Francois Burnol
+License: LaTeX Project Public License 1.3c or later.
-May be used with Plain TeX (\input) or as LaTeX packages (\usepackage)
+Contents: Abstract, Installation, License.
-License
-=======
+Abstract
+========
-This work consists of the source file xint.dtx and of its derived files:
-xint.sty, xintgcd.sty, xintexpr.sty,
-xintfrac.sty, xintseries.sty, xintcfrac.sty,
-as well as xint.ins and the documentation xint.pdf (or xint.dvi).
+xinttools is loaded by xint (hence by all other packages of the
+bundle, too): it provides utilities of independent interest such as
+expandable and non-expandable loops.
- 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. This version of this license is in
- http://www.latex-project.org/lppl/lppl-1-3c.txt
- and 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.
+xint implements with expandable TEX macros additions, subtractions,
+multiplications, divisions and powers with arbitrarily long numbers.
-The author of this work is Jean-Francois Burnol <jfbu at free dot fr>.
-This work has the LPPL maintenance status `author-maintained'.
+xintfrac extends the scope of xint to decimal numbers, to numbers in
+scientific notation and also to fractions with arbitrarily long such
+numerators and denominators separated by a forward slash.
+
+xintexpr extends xintfrac with an expandable parser
+ \xintexpr . . . \relax
+of expressions involving arithmetic operations in infix notation on
+decimal numbers, fractions, numbers in scientific notation, with
+parentheses, factorial symbol, function names, comparison operators,
+logic operators, twofold and threefold way conditionals,
+sub-expressions, macros expanding to the previous items.
+
+Further modules:
+
+xintbinhex is for conversions to and from binary and hexadecimal
+bases.
+
+xintseries provides some basic functionality for computing in an
+expandable manner partial sums of series and power series with
+fractional coefficients.
+
+xintgcd implements the Euclidean algorithm and its typesetting.
+
+xintcfrac deals with the computation of continued fractions.
+
+Most macros, and all of those doing computations, work purely by
+expansion without assignments, and may thus be used almost everywhere
+in TeX. The packages may be used with any flavor of TeX supporting the
+e-TeX extensions. LaTeX users will use \usepackage and others \input
+to load the package components.
+
+Installation
+============
+
+A. Installation using xint.tds.zip:
+-----------------------------------
-Installation and Usage:
-=======================
+obtain xint.tds.zip from CTAN:
+ http://mirror.ctan.org/install/macros/generic/xint.tds.zip
-Run tex or latex on xint.dtx.
+cd to the download repertory and issue
+ unzip xint.tds.zip -d <TEXMF>
+for example: (assuming standard access rights, so sudo needed)
+ sudo unzip xint.tds.zip -d /usr/local/texlive/texmf-local
+ sudo mktexlsr
+
+On Mac OS X, installation into user home folder:
+ unzip xint.tds.zip -d ~/Library/texmf
+
+B. Installation after file extractions:
+---------------------------------------
-This will extract the style files xint.sty, xintfrac.sty, xintexpr.sty,
-xintgcd.sty, xintseries.sty, xintcfrac.sty (and xint.ins).
+obtain xint.dtx, xint.ins and the README from CTAN:
+ http://www.ctan.org/pkg/xint
-Files with the same names and in the same repertory will be overwritten.
-The tex (not latex) run will stop with the complaint that it does not
-understand \NeedsTeXFormat, but the style files will already have been
-extracted by that time.
+- "tex xint.ins" generates the style files
+(pre-existing files in the same repertory will be overwritten).
-Alternatively, run tex or latex on xint.ins if available.
+- without xint.ins: "tex or latex or pdflatex or xelatex xint.dtx"
+will also generate the style files (and xint.ins).
-To get xint.pdf run pdflatex thrice on xint.dtx
+xint.tex is also extracted, use it for the documentation:
+- with latex+dvipdfmx: latex xint.tex thrice then dvipdfmx xint.dvi
+Ignore dvipdfmx warnings, but if the pdf file has problems with fonts
+(possibly from an old dvipdfmx), use then rather pdflatex or xelatex.
+
+- with pdflatex or xelatex: run it directly thrice on xint.dtx, or run
+it on xint.tex after having edited the suitable toggle therein.
+
+Whether compiling xint.tex or xint.dtx, the documentation is by default
+produced without inclusion of the source code. See instructions in the
+file xint.tex for changing this default.
+
+Finishing the installation: (on first installation the destination
+repertories may need to be created)
+
+ xinttools.sty |
xint.sty |
xintfrac.sty |
- xintexpr.sty | --> TDS:tex/generic/xint/
+ xintexpr.sty | --> TDS:tex/generic/xint/
+ xintbinhex.sty |
xintgcd.sty |
xintseries.sty |
xintcfrac.sty |
+
xint.dtx --> TDS:source/generic/xint/
+ xint.ins --> TDS:source/generic/xint/
+ xint.tex --> TDS:source/generic/xint/
+
xint.pdf --> TDS:doc/generic/xint/
+ README --> TDS:doc/generic/xint/
+
+Depending on the TDS destination and the TeX installation, it may be
+necessary to refresh the TeX installation filename database (mktexlsr)
-It may be necessary to then refresh the TeX installation filename
-database.
+C. Usage:
+---------
-Usage with LaTeX: \usepackage{xint}
- \usepackage{xintfrac} (loads xint)
- \usepackage{xintexpr} (loads xintfrac)
-
- \usepackage{xintgcd} (loads xint)
- \usepackage{xintseries} (loads xintfrac)
- \usepackage{xintcfrac} (loads xintfrac)
-
-Usage with TeX: \input xint.sty\relax
- \input xintfrac.sty\relax (loads xint)
- \input xintexpr.sty\relax (loads xintfrac)
-
- \input xintgcd.sty\relax (loads xint)
- \input xintseries.sty\relax (loads xintfrac)
- \input xintcfrac.sty\relax (loads xintfrac)
+Usage with LaTeX: \usepackage{xinttools}
+ \usepackage{xint} % (loads xinttools)
+ \usepackage{xintfrac} % (loads xint)
+ \usepackage{xintexpr} % (loads xintfrac)
+
+ \usepackage{xintbinhex} % (loads xint)
+ \usepackage{xintgcd} % (loads xint)
+ \usepackage{xintseries} % (loads xintfrac)
+ \usepackage{xintcfrac} % (loads xintfrac)
+
+Usage with TeX: \input xinttools.sty\relax
+ \input xint.sty\relax % (loads xinttools)
+ \input xintfrac.sty\relax % (loads xint)
+ \input xintexpr.sty\relax % (loads xintfrac)
+
+ \input xintbinhex.sty\relax % (loads xint)
+ \input xintgcd.sty\relax % (loads xint)
+ \input xintseries.sty\relax % (loads xintfrac)
+ \input xintcfrac.sty\relax % (loads xintfrac)
+
+License
+=======
+
+ 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. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+This work consists of the source file xint.dtx and of its derived files:
+xinttools.sty, xint.sty, xintfrac.sty, xintexpr.sty, xintbinhex.sty,
+xintgcd.sty, xintseries.sty, xintcfrac.sty, as well as xint.ins, xint.tex
+and the documentation xint.pdf (or xint.dvi).
+The author of this work is Jean-Francois Burnol <jfbu at free dot fr>.
+This work has the LPPL maintenance status `author-maintained'.
+
Files old/doc/generic/xint/xint.pdf and new/doc/generic/xint/xint.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xint.doc.tlpobj new/tlpkg/tlpobj/xint.doc.tlpobj
--- old/tlpkg/tlpobj/xint.doc.tlpobj 2013-05-28 17:08:53.000000000 +0200
+++ new/tlpkg/tlpobj/xint.doc.tlpobj 2014-04-02 03:22:50.000000000 +0200
@@ -1,8 +1,8 @@
name xint.doc
category Package
-revision 30723
+revision 33347
shortdesc doc files of xint
relocated 1
-docfiles size=155
+docfiles size=149
RELOC/doc/generic/xint/README
RELOC/doc/generic/xint/xint.pdf
++++++ xint.tar.xz ++++++
++++ 12767 lines of diff (skipped)
++++++ xits.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/xits/FONTLOG.txt new/doc/fonts/xits/FONTLOG.txt
--- old/doc/fonts/xits/FONTLOG.txt 2013-05-29 00:09:52.000000000 +0200
+++ new/doc/fonts/xits/FONTLOG.txt 2014-01-23 00:32:55.000000000 +0100
@@ -31,27 +31,27 @@
Combining Diacritical Marks (U+0300-036F): 73/112 (65.18%)
Greek and Coptic (U+0370-03FF): 93/134 (69.40%)
Cyrillic (U+0400-04FF): 102/256 (39.84%)
- Arabic (U+0600-06FF): 67/250 (26.80%)
+ Arabic (U+0600-06FF): 30/253 (11.86%)
Phonetic Extensions (U+1D00-1D7F): 3/128 (2.34%)
Phonetic Extensions Supplement (U+1D80-1DBF): 8/64 (12.50%)
Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%)
General Punctuation (U+2000-206F): 70/107 (65.42%)
- Superscripts and Subscripts (U+2070-209F): 1/34 (2.94%)
- Currency Symbols (U+20A0-20CF): 4/25 (16.00%)
+ Superscripts and Subscripts (U+2070-209F): 1/42 (2.38%)
+ Currency Symbols (U+20A0-20CF): 4/26 (15.38%)
Combining Diacritical Marks for Symbols (U+20D0-20FF): 24/33 (72.73%)
Letterlike Symbols (U+2100-214F): 60/80 (75.00%)
Number Forms (U+2150-218F): 12/58 (20.69%)
Arrows (U+2190-21FF): 103/112 (91.96%)
Mathematical Operators (U+2200-22FF): 256/256 (100.00%)
- Miscellaneous Technical (U+2300-23FF): 90/233 (38.63%)
+ Miscellaneous Technical (U+2300-23FF): 90/244 (36.89%)
Control Pictures (U+2400-243F): 1/39 (2.56%)
Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%)
Box Drawing (U+2500-257F): 45/128 (35.16%)
Block Elements (U+2580-259F): 8/32 (25.00%)
Geometric Shapes (U+25A0-25FF): 96/96 (100.00%)
- Miscellaneous Symbols (U+2600-26FF): 54/250 (21.60%)
- Dingbats (U+2700-27BF): 30/175 (17.14%)
- Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 43/44 (97.73%)
+ Miscellaneous Symbols (U+2600-26FF): 55/256 (21.48%)
+ Dingbats (U+2700-27BF): 30/191 (15.71%)
+ Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 45/48 (93.75%)
Supplemental Arrows-A (U+27F0-27FF): 16/16 (100.00%)
Supplemental Arrows-B (U+2900-297F): 128/128 (100.00%)
Miscellaneous Mathematical Symbols-B (U+2980-29FF): 128/128 (100.00%)
@@ -59,10 +59,11 @@
Miscellaneous Symbols and Arrows (U+2B00-2BFF): 64/87 (73.56%)
CJK Symbols and Punctuation (U+3000-303F): 2/64 (3.12%)
Hiragana (U+3040-309F): 1/93 (1.08%)
- Latin Extended-D (U+A720-A7FF): 1/114 (0.88%)
+ Latin Extended-D (U+A720-A7FF): 2/134 (1.49%)
Variation Selectors (U+FE00-FE0F): 1/16 (6.25%)
Specials (U+FFF0-FFFF): 1/5 (20.00%)
Mathematical Alphanumeric Symbols (U+1D400-1D7FF): 996/996 (100.00%)
+ Arabic Mathematical Alphabetic Symbols (U+1EE00-1EEFF): 141/143 (98.60%)
* XITS:
Basic Latin (U+0000-007F): 95/95 (100.00%)
@@ -78,22 +79,22 @@
Phonetic Extensions Supplement (U+1D80-1DBF): 8/64 (12.50%)
Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%)
General Punctuation (U+2000-206F): 46/107 (42.99%)
- Superscripts and Subscripts (U+2070-209F): 1/34 (2.94%)
- Currency Symbols (U+20A0-20CF): 4/25 (16.00%)
+ Superscripts and Subscripts (U+2070-209F): 1/42 (2.38%)
+ Currency Symbols (U+20A0-20CF): 4/26 (15.38%)
Combining Diacritical Marks for Symbols (U+20D0-20FF): 24/33 (72.73%)
Letterlike Symbols (U+2100-214F): 60/80 (75.00%)
Number Forms (U+2150-218F): 12/58 (20.69%)
Arrows (U+2190-21FF): 103/112 (91.96%)
Mathematical Operators (U+2200-22FF): 256/256 (100.00%)
- Miscellaneous Technical (U+2300-23FF): 61/233 (26.18%)
+ Miscellaneous Technical (U+2300-23FF): 61/244 (25.00%)
Control Pictures (U+2400-243F): 1/39 (2.56%)
Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%)
Box Drawing (U+2500-257F): 45/128 (35.16%)
Block Elements (U+2580-259F): 8/32 (25.00%)
Geometric Shapes (U+25A0-25FF): 96/96 (100.00%)
- Miscellaneous Symbols (U+2600-26FF): 54/250 (21.60%)
- Dingbats (U+2700-27BF): 30/175 (17.14%)
- Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 43/44 (97.73%)
+ Miscellaneous Symbols (U+2600-26FF): 55/256 (21.48%)
+ Dingbats (U+2700-27BF): 30/191 (15.71%)
+ Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 45/48 (93.75%)
Supplemental Arrows-A (U+27F0-27FF): 16/16 (100.00%)
Supplemental Arrows-B (U+2900-297F): 128/128 (100.00%)
Miscellaneous Mathematical Symbols-B (U+2980-29FF): 128/128 (100.00%)
@@ -101,7 +102,7 @@
Miscellaneous Symbols and Arrows (U+2B00-2BFF): 64/87 (73.56%)
CJK Symbols and Punctuation (U+3000-303F): 2/64 (3.12%)
Hiragana (U+3040-309F): 1/93 (1.08%)
- Latin Extended-D (U+A720-A7FF): 1/114 (0.88%)
+ Latin Extended-D (U+A720-A7FF): 2/134 (1.49%)
Alphabetic Presentation Forms (U+FB00-FB4F): 5/58 (8.62%)
Specials (U+FFF0-FFFF): 1/5 (20.00%)
@@ -118,22 +119,23 @@
Phonetic Extensions (U+1D00-1D7F): 3/128 (2.34%)
Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%)
General Punctuation (U+2000-206F): 40/107 (37.38%)
- Superscripts and Subscripts (U+2070-209F): 1/34 (2.94%)
- Currency Symbols (U+20A0-20CF): 4/25 (16.00%)
+ Superscripts and Subscripts (U+2070-209F): 1/42 (2.38%)
+ Currency Symbols (U+20A0-20CF): 4/26 (15.38%)
Combining Diacritical Marks for Symbols (U+20D0-20FF): 22/33 (66.67%)
Letterlike Symbols (U+2100-214F): 38/80 (47.50%)
Number Forms (U+2150-218F): 12/58 (20.69%)
Arrows (U+2190-21FF): 82/112 (73.21%)
Mathematical Operators (U+2200-22FF): 237/256 (92.58%)
- Miscellaneous Technical (U+2300-23FF): 15/233 (6.44%)
+ Miscellaneous Technical (U+2300-23FF): 15/244 (6.15%)
Control Pictures (U+2400-243F): 1/39 (2.56%)
Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%)
Box Drawing (U+2500-257F): 40/128 (31.25%)
Geometric Shapes (U+25A0-25FF): 6/96 (6.25%)
- Miscellaneous Symbols (U+2600-26FF): 3/250 (1.20%)
- Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 4/44 (9.09%)
+ Miscellaneous Symbols (U+2600-26FF): 3/256 (1.17%)
+ Miscellaneous Mathematical Symbols-A (U+27C0-27EF): 4/48 (8.33%)
Miscellaneous Mathematical Symbols-B (U+2980-29FF): 10/128 (7.81%)
Supplemental Mathematical Operators (U+2A00-2AFF): 58/256 (22.66%)
+ Latin Extended-D (U+A720-A7FF): 1/134 (0.75%)
Alphabetic Presentation Forms (U+FB00-FB4F): 5/58 (8.62%)
* XITS Italic:
@@ -147,9 +149,10 @@
Cyrillic (U+0400-04FF): 102/256 (39.84%)
Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%)
General Punctuation (U+2000-206F): 23/107 (21.50%)
- Currency Symbols (U+20A0-20CF): 4/25 (16.00%)
+ Currency Symbols (U+20A0-20CF): 4/26 (15.38%)
Combining Diacritical Marks for Symbols (U+20D0-20FF): 20/33 (60.61%)
Letterlike Symbols (U+2100-214F): 30/80 (37.50%)
+ Number Forms (U+2150-218F): 12/58 (20.69%)
Mathematical Operators (U+2200-22FF): 2/256 (0.78%)
Control Pictures (U+2400-243F): 1/39 (2.56%)
Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%)
@@ -167,9 +170,10 @@
Cyrillic (U+0400-04FF): 102/256 (39.84%)
Latin Extended Additional (U+1E00-1EFF): 8/256 (3.12%)
General Punctuation (U+2000-206F): 23/107 (21.50%)
- Currency Symbols (U+20A0-20CF): 4/25 (16.00%)
+ Currency Symbols (U+20A0-20CF): 4/26 (15.38%)
Combining Diacritical Marks for Symbols (U+20D0-20FF): 1/33 (3.03%)
Letterlike Symbols (U+2100-214F): 29/80 (36.25%)
+ Number Forms (U+2150-218F): 12/58 (20.69%)
Mathematical Operators (U+2200-22FF): 2/256 (0.78%)
Control Pictures (U+2400-243F): 1/39 (2.56%)
Enclosed Alphanumerics (U+2460-24FF): 62/160 (38.75%)
@@ -191,6 +195,15 @@
ChangeLog
----------
+20 Jan 2014 (Khaled Hosny) <XITS> Version 1.108
+- Add ‘latn’ and ‘dflt’ languages to math stylistic sets
+- Add missing substitutions from ‘ss05’, ‘ss06’ and ‘ss07’ features
+- Drop regular Arabic letters
+- Drop the Arabic digits ‘locl’ feature
+- Import Arabic alphanumeric math symbols and Arabic ray sign from Amiri font
+- Add ‘ss10’ for \hbar variant of \hslash
+- Fix ‘rtlm’ feature to follow the spec
+
28 May 2013 (Khaled Hosny) <XITS> Version 1.107
- Make ‘rtlm’ feature work with Firefox
- Disable fi ligatures with Turkish
@@ -345,4 +358,3 @@
W: http://www.stixfonts.org
D: Original authors
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/xits/Makefile new/doc/fonts/xits/Makefile
--- old/doc/fonts/xits/Makefile 2013-05-29 00:09:52.000000000 +0200
+++ new/doc/fonts/xits/Makefile 2014-01-23 00:32:55.000000000 +0100
@@ -1,24 +1,17 @@
NAME=xits
-VERSION=1.107
+VERSION=1.108
SRC=sources
DOC=documentation
+TOOLS=tools
DOCSRC=$(DOC)/$(DOC)-$(SRC)
DIST=$(NAME)-$(VERSION)
PY=python
-POSTPROCESS=./postprocess.py
-
-define $(NAME)SCRIPT
-import fontforge, sys
-f = fontforge.open(sys.argv[1])
-if len(sys.argv) > 3:
- f.mergeFeature(sys.argv[3])
-f.version = "$(VERSION)"
-f.generate(sys.argv[2], flags=("round", "opentype"))
-endef
-
-export $(NAME)SCRIPT
+PY3=python3
+BUILD=$(TOOLS)/build.py
+POSTPROCESS=$(TOOLS)/postprocess.py
+COVERAGE=$(TOOLS)/fontcoverage.py
FONTS=math mathbold regular bold italic bolditalic
DOCS=user-guide xits-specimen
@@ -33,22 +26,22 @@
otf: $(OTF)
-xits-math.otf: $(SRC)/xits-math.sfd Makefile $(POSTPROCESS)
+xits-math.otf: $(SRC)/xits-math.sfd Makefile $(BUILD) $(POSTPROCESS)
@echo "Building $@"
- @$(PY) -c "$$$(NAME)SCRIPT" $< $@
- @$(POSTPROCESS) $@
+ @$(PY) $(BUILD) $< $@ $(VERSION)
+ @$(PY) $(POSTPROCESS) $@
@mv $@.post $@
-xits-mathbold.otf: $(SRC)/xits-mathbold.sfd Makefile $(POSTPROCESS)
+xits-mathbold.otf: $(SRC)/xits-mathbold.sfd Makefile $(BUILD) $(POSTPROCESS)
@echo "Building $@"
- @$(PY) -c "$$$(NAME)SCRIPT" $< $@
- @$(POSTPROCESS) $@
+ @$(PY) $(BUILD) $< $@ $(VERSION)
+ @$(PY) $(POSTPROCESS) $@
@mv $@.post $@
-%.otf: $(SRC)/%.sfd Makefile $(SRC)/$(FEA) $(POSTPROCESS)
+%.otf: $(SRC)/%.sfd Makefile $(SRC)/$(FEA) $(BUILD) $(POSTPROCESS)
@echo "Building $@"
- @$(PY) -c "$$$(NAME)SCRIPT" $< $@ $(SRC)/$(FEA)
- @$(POSTPROCESS) $@
+ @$(PY) $(BUILD) $< $@ $(VERSION) $(SRC)/$(FEA)
+ @$(PY) $(POSTPROCESS) $@
@mv $@.post $@
doc: $(PDF)
@@ -57,21 +50,23 @@
@echo "Building $@"
@context --nonstopmode --result=$@ $< 1>/dev/null
-FONTLOG.txt: FONTLOG.txt.in
+FONTLOG.txt: FONTLOG.txt.in $(COVERAGE) $(OTF)
@echo "Generating $@"
- @./tools/fontcoverage.py tools/Blocks.txt $< $(SFD) > $@
+ @$(PY3) $(COVERAGE) tools/Blocks.txt $< $(OTF) $@
dist: $(OTF) $(PDF) FONTLOG.txt
@echo "Making dist tarball"
@mkdir -p $(DIST)/$(SRC)
@mkdir -p $(DIST)/$(DOC)
@mkdir -p $(DIST)/$(DOCSRC)
+ @mkdir -p $(DIST)/$(TOOLS)
@cp $(SFD) $(DIST)/$(SRC)
@cp $(SRC)/$(FEA) $(DIST)/$(SRC)
@cp $(OTF) $(DIST)
+ @cp $(POSTPROCESS) $(BUILD) $(COVERAGE) $(DIST)/$(TOOLS)
@cp -r $(PDF) $(DIST)/$(DOC)
@cp -r $(TEX) $(DIST)/$(DOCSRC)
- @cp -r $(POSTPROCESS) Makefile OFL-FAQ.txt OFL.txt FONTLOG.txt tex $(DIST)
+ @cp -r Makefile OFL-FAQ.txt OFL.txt FONTLOG.txt tex $(DIST)
@cp README.md $(DIST)/README.txt
@zip -r $(DIST).zip $(DIST)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/xits/README new/doc/fonts/xits/README
--- old/doc/fonts/xits/README 2011-11-08 23:40:31.000000000 +0100
+++ new/doc/fonts/xits/README 2014-01-23 00:32:55.000000000 +0100
@@ -1,4 +1,3 @@
-
The XITS font project
======================
@@ -17,12 +16,22 @@
This is work in progress, feedback, bug reports and even patches are
welcomed.
-[1]: http://www.stixfonts.org
-[2]: http://scripts.sil.org/OFL
+Developers
+----------
-Khaled Hosny
+The preferred way for modifying the fonts is by editing the SFD files under
+`sources`, using [Sorts Mill Tools][3] or [FontForge][4]. When submitting
+patches, please make sure they are as clean as possible, avoiding any unrelated
+or unnecessary changes.
+
+To build the fonts from source you need a make program (only GNU Make is
+tested), either [Sorts Mill Tools][3] (preferred) or [FontForge][4] with Python
+support, and [FontTools][5].
-khaledhosny@eglug.org
-08 Oct 2011
+[1]: http://www.stixfonts.org
+[2]: http://scripts.sil.org/OFL
+[3]: http://sortsmill.bitbucket.org/
+[4]: http://fontforge.org/
+[5]: http://github.com/behdad/fonttools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/xits/build.py new/doc/fonts/xits/build.py
--- old/doc/fonts/xits/build.py 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/xits/build.py 2014-01-23 00:32:55.000000000 +0100
@@ -0,0 +1,13 @@
+import sys
+try:
+ from sortsmill import ffcompat as fontforge
+except ImportError:
+ import fontforge
+
+font = fontforge.open(sys.argv[1])
+
+if len(sys.argv) > 4:
+ font.mergeFeature(sys.argv[4])
+
+font.version = sys.argv[3]
+font.generate(sys.argv[2], flags=("round", "opentype"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/xits/fontcoverage.py new/doc/fonts/xits/fontcoverage.py
--- old/doc/fonts/xits/fontcoverage.py 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/xits/fontcoverage.py 2014-01-23 00:32:55.000000000 +0100
@@ -0,0 +1,58 @@
+import sys
+import unicodedata
+from fontTools.ttLib import TTFont
+
+# Unicode blocks file from: http://www.unicode.org/Public/UNIDATA/Blocks.txt
+
+blocksfile = open(sys.argv[1], "r")
+blocks = [ ]
+for line in blocksfile.readlines():
+ if not (line.startswith("#") or line == "\n"):
+ start, end = line.split("; ")[0].split("..")
+ name = line.split("; ")[1].strip()
+ blocks.append((name, (start, end)))
+blocksfile.close()
+
+logfile = open(sys.argv[2], "r")
+log = logfile.read()
+logfile.close()
+
+for fontfile in sys.argv[3:-1]:
+ font = TTFont(fontfile)
+ cmap = font['cmap'].getcmap(3, 10)
+ if cmap is None:
+ cmap = font['cmap'].getcmap(3, 1)
+ found = [ ]
+
+ for block in blocks:
+ t = f = 0
+ name = block[0]
+ start, end = int(block[1][0], 16), int(block[1][1], 16)
+ i = start
+ while (i <= end):
+ category = unicodedata.category(chr(i))
+ if category != "Cc" and category!= "Cn":
+ if i in cmap.cmap:
+ f += 1
+ t += 1
+ i += 1
+ if f:
+ found.append((name, (t,f)))
+
+ fullname = str(font['name'].getName(4, 1, 0).string, encoding='ascii')
+ coverage = ""
+ coverage += "* %s:\n" %fullname
+ for f in found:
+ for b in blocks:
+ if b[0] == f[0]:
+ name = f[0]
+ start, end = b[1]
+ total, present = f[1]
+ percent = present/total*100
+ coverage += " %s (U+%s-%s): %s/%s (%.2f%%)\n" %(name, start, end, present, total, percent)
+
+ log = log.replace("%%{%s}" %fullname, coverage)
+
+outfile = open(sys.argv[-1], "w")
+outfile.write(log)
+outfile.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xits.doc.tlpobj new/tlpkg/tlpobj/xits.doc.tlpobj
--- old/tlpkg/tlpobj/xits.doc.tlpobj 2013-05-29 03:57:25.000000000 +0200
+++ new/tlpkg/tlpobj/xits.doc.tlpobj 2014-01-23 03:23:54.000000000 +0100
@@ -1,14 +1,16 @@
name xits.doc
category Package
-revision 30782
+revision 32763
shortdesc doc files of xits
relocated 1
-docfiles size=41
+docfiles size=43
RELOC/doc/fonts/xits/FONTLOG.txt
RELOC/doc/fonts/xits/Makefile
RELOC/doc/fonts/xits/OFL-FAQ.txt
RELOC/doc/fonts/xits/OFL.txt
RELOC/doc/fonts/xits/README
+ RELOC/doc/fonts/xits/build.py
+ RELOC/doc/fonts/xits/fontcoverage.py
RELOC/doc/fonts/xits/postprocess.py
RELOC/doc/fonts/xits/user-guide.pdf
RELOC/doc/fonts/xits/user-guide.tex
++++++ xits.tar.xz ++++++
Files old/fonts/opentype/public/xits/xits-math.otf and new/fonts/opentype/public/xits/xits-math.otf differ
Files old/fonts/opentype/public/xits/xits-mathbold.otf and new/fonts/opentype/public/xits/xits-mathbold.otf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xits.tlpobj new/tlpkg/tlpobj/xits.tlpobj
--- old/tlpkg/tlpobj/xits.tlpobj 2013-05-29 03:57:25.000000000 +0200
+++ new/tlpkg/tlpobj/xits.tlpobj 2014-01-23 03:23:55.000000000 +0100
@@ -1,6 +1,6 @@
name xits
category Package
-revision 30782
+revision 32763
shortdesc A Scientific Times-like font with support for mathematical typesetting.
relocated 1
longdesc XITS is a Times-like font for scientific typesetting with
@@ -8,7 +8,7 @@
longdesc capable TeX engines, namely LuaTeX and XeTeX. For use with
longdesc LuaLaTeX or XeLaTeX, support is available from the fontspec and
longdesc unicode-math packages.
-runfiles size=341
+runfiles size=347
RELOC/fonts/opentype/public/xits/xits-bold.otf
RELOC/fonts/opentype/public/xits/xits-bolditalic.otf
RELOC/fonts/opentype/public/xits/xits-italic.otf
@@ -16,6 +16,6 @@
RELOC/fonts/opentype/public/xits/xits-mathbold.otf
RELOC/fonts/opentype/public/xits/xits-regular.otf
catalogue-ctan /fonts/xits
-catalogue-date 2013-05-28 19:52:13 +0200
+catalogue-date 2014-01-21 01:01:43 +0100
catalogue-license ofl
-catalogue-version 1.107
+catalogue-version 1.108
++++++ xkeyval.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/xkeyval/README new/doc/latex/xkeyval/README
--- old/doc/latex/xkeyval/README 2012-10-17 13:31:02.000000000 +0200
+++ new/doc/latex/xkeyval/README 2014-05-14 00:14:28.000000000 +0200
@@ -1,4 +1,4 @@
-xkeyval v2.6b
+xkeyval v2.6d
-------------
This package is an extension of the keyval package by David Carlisle
@@ -60,7 +60,7 @@
License
-------
-Copyright (C) 2004-2012 Hendri Adriaens
+Copyright (C) 2004-2014 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/xkeyval/xkeyval.bib new/doc/latex/xkeyval/xkeyval.bib
--- old/doc/latex/xkeyval/xkeyval.bib 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/xkeyval/xkeyval.bib 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,84 @@
+%%
+%% This is file `xkeyval.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `bib')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+@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
+}
+
+@book{companion,
+ author = {Frank Mittelbach and Michel Goossens},
+ title = {The {\LaTeX} Companion},
+ edition = 2,
+ note = {With Johannes Braams, David Carlisle, and Chris Rowley},
+ series = {Tools and Techniques for Computer Typesetting},
+ publisher = {Addison-Wesley},
+ address = {Boston, Massachusetts},
+ year = 2004,
+ pagenums = {1120},
+ bibliography = {yes},
+ index = {yes},
+ isbn = {0-201-36299-6}
+}
+
+@MISC{keyval,
+ author = {David Carlisle},
+ title = {\pf{keyval} package, v1.13, 1999/03/16},
+ howpublished = {\url{CTAN:/macros/latex/required/graphics}}
+}
+
+@MISC{extract,
+ author = {Hendri Adriaens},
+ title = {\pf{extract} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/extract}}
+}
+
+@MISC{PSTricks,
+ author = {{Timothy Van} {Zandt et al.}},
+ title = {\pf{PSTricks} package, v1.04, 2004/06/22},
+ howpublished = {\url{CTAN:/graphics/pstricks}}
+}
+
+@MISC{PSTricksWeb,
+ author = {Herbert Vo\ss},
+ title = {\pf{PSTricks} website},
+ howpublished = {\url{http://www.pstricks.de}}
+}
+\endinput
+%%
+%% End of file `xkeyval.bib'.
Files old/doc/latex/xkeyval/xkeyval.pdf and new/doc/latex/xkeyval/xkeyval.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/xkeyval/xkvpream.ble new/doc/latex/xkeyval/xkvpream.ble
--- old/doc/latex/xkeyval/xkvpream.ble 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/latex/xkeyval/xkvpream.ble 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,137 @@
+%%
+%% This is file `xkvpream.ble',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `preamble')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\usepackage{url}
+\usepackage{xkeyval}
+\usepackage{fourier}
+\usepackage{xcolor}
+\usepackage[multiple]{footmisc}
+\usepackage{pst-text}
+\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,-23.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 xkeyval}%
+ }%
+ \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)%
+ }%
+}
+\makeatletter
+\def\tableofcontents{\@starttoc{toc}}
+\def\changes@#1#2#3{\ch@nges #1\@nil{#2}{#3}}
+\def\ch@nges v#1.#2#3\@nil#4#5{%
+ \ifnum#1#2<20\else % Controls displaying changes; 0 displays all.
+ \protected@edef\@tempa{%
+ \noexpand\glossary{\textbf{v#1.#2#3}\hfill\emph{(#4)}%
+ \levelchar
+ \ifx\saved@macroname\@empty
+ \space\actualchar\generalname
+ \else
+ \expandafter\@gobble\saved@macroname
+ \actualchar\string\verb\quotechar*%
+ \verbatimchar\saved@macroname\verbatimchar
+ \fi
+ :\levelchar #5}}%
+ \@tempa
+ \fi\endgroup\@esphack
+}
+\renewenvironment{theglossary}{%
+ \section*{Version history}%
+ This version history displays recent changes only.\par\bigskip
+ \GlossaryParms \let\item\@idxitem \ignorespaces
+}{}%
+\def\eTeX{$\m@th\varepsilon$-\TeX}
+\def\DescribeMacros{\leavevmode\@bsphack
+ \begingroup\MakePrivateLetters\Describe@Macros}
+\def\Describe@Macros#1{\endgroup\strut
+ \marginpar{\raggedleft
+ \def\@tempa{#1}\count@\z@
+ \XKV@for@o\@tempa\@tempa{%
+ \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}
+\makeatother
+\def\PrintChangesX{%
+ \begingroup
+ \let\efill\relax
+ \PrintChanges
+ \endgroup
+}
+\def\PrintIndexX{%
+ \begingroup
+ \setcounter{IndexColumns}{2}
+ \setlength{\columnsep}{18pt}%
+ \setlength{\columnseprule}{.4pt}%
+ \PrintIndex
+ \endgroup
+}
+\def\larg#1{{\ttfamily\char`\<}\meta{#1}{\ttfamily\char`\>}}
+\def\pf#1{\textsf{#1}}
+\EnableCrossrefs
+\RecordChanges
+\CodelineIndex
+\endinput
+%%
+%% End of file `xkvpream.ble'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xkeyval.doc.tlpobj new/tlpkg/tlpobj/xkeyval.doc.tlpobj
--- old/tlpkg/tlpobj/xkeyval.doc.tlpobj 2012-10-18 04:27:09.000000000 +0200
+++ new/tlpkg/tlpobj/xkeyval.doc.tlpobj 2014-05-14 03:25:50.000000000 +0200
@@ -1,8 +1,10 @@
name xkeyval.doc
category Package
-revision 27995
+revision 34020
shortdesc doc files of xkeyval
relocated 1
-docfiles size=120
+docfiles size=124
RELOC/doc/latex/xkeyval/README
+ RELOC/doc/latex/xkeyval/xkeyval.bib
RELOC/doc/latex/xkeyval/xkeyval.pdf
+ RELOC/doc/latex/xkeyval/xkvpream.ble
++++++ xkeyval.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/keyval.tex new/tex/generic/xkeyval/keyval.tex
--- old/tex/generic/xkeyval/keyval.tex 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/generic/xkeyval/keyval.tex 2014-05-14 00:14:28.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `xkvkeyval')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -37,23 +37,23 @@
%% Based on keyval.sty.
%%
\def\XKV@tempa#1{%
-\def\KV@@sp@def##1##2{%
+\long\def\KV@@sp@def##1##2{%
\futurelet\XKV@resa\KV@@sp@d##2\@nil\@nil#1\@nil\relax##1}%
-\def\KV@@sp@d{%
+\long\def\KV@@sp@d{%
\ifx\XKV@resa\@sptoken
\expandafter\KV@@sp@b
\else
\expandafter\KV@@sp@b\expandafter#1%
\fi}%
-\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}%
+\long\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}%
}
\XKV@tempa{ }
-\def\KV@@sp@c#1\@nil#2\relax#3{\XKV@toks{#1}\edef#3{\the\XKV@toks}}
-\def\KV@do#1,{%
+\long\def\KV@@sp@c#1\@nil#2\relax#3{\XKV@toks{#1}\edef#3{\the\XKV@toks}}
+\long\def\KV@do#1,{%
\ifx\relax#1\@empty\else
\KV@split#1==\relax
\expandafter\KV@do\fi}
-\def\KV@split#1=#2=#3\relax{%
+\long\def\KV@split#1=#2=#3\relax{%
\KV@@sp@def\XKV@tempa{#1}%
\ifx\XKV@tempa\@empty\else
\expandafter\let\expandafter\XKV@tempc
@@ -78,9 +78,9 @@
\XKV@tempb\relax
\fi}
\def\KV@def#1#2[#3]{%
- \@namedef{KV@#1@#2@default\expandafter}\expandafter
+ \long\@namedef{KV@#1@#2@default\expandafter}\expandafter
{\csname KV@#1@#2\endcsname{#3}}%
- \@namedef{KV@#1@#2}##1}
+ \long\@namedef{KV@#1@#2}##1}
\endinput
%%
%% End of file `keyval.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/pst-xkey.tex new/tex/generic/xkeyval/pst-xkey.tex
--- old/tex/generic/xkeyval/pst-xkey.tex 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/generic/xkeyval/pst-xkey.tex 2014-05-02 00:42:47.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `pxktex')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/xkeyval.tex new/tex/generic/xkeyval/xkeyval.tex
--- old/tex/generic/xkeyval/xkeyval.tex 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/generic/xkeyval/xkeyval.tex 2014-05-14 00:14:28.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `xkvtex')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -58,10 +58,10 @@
\newif\ifXKV@preset
\let\XKV@rm\@empty
\ifx\ProvidesFile\@undefined
- \message{2012/10/14 v2.6b key=value parser (HA)}
+ \message{2014/05/09 v2.6d key=value parser (HA)}
\input xkvtxhdr
\else
- \ProvidesFile{xkeyval.tex}[2012/10/14 v2.6b key=value parser (HA)]
+ \ProvidesFile{xkeyval.tex}[2014/05/09 v2.6d key=value parser (HA)]
\@addtofilelist{xkeyval.tex}
\fi
\long\def\@firstoftwo#1#2{#1}
@@ -144,7 +144,7 @@
#2\@@#3#4\fi{#5}{#1}%
}
\long\def\XKV@wh@l@st#1\@@#2#3\fi#4#5{}
-\def\XKV@addtomacro@n#1#2{%
+\long\def\XKV@addtomacro@n#1#2{%
\XKV@tempa@toks\expandafter{#1#2}%
\edef#1{\the\XKV@tempa@toks}%
}
@@ -223,7 +223,7 @@
}%
\let#1\@empty\@i#3\@s@l@ctive@sanitize
}
-\def\XKV@checksanitizea#1#2{%
+\long\def\XKV@checksanitizea#1#2{%
\XKV@ch@cksanitize{#1}#2=%
\ifin@\else\XKV@ch@cksanitize{#1}#2,\fi
\ifin@\@selective@sanitize[0]{,=}#2\fi
@@ -232,12 +232,12 @@
\XKV@ch@cksanitize{#1}#2,%
\ifin@\@selective@sanitize[0],#2\fi
}
-\def\XKV@ch@cksanitize#1#2#3{%
+\long\def\XKV@ch@cksanitize#1#2#3{%
\XKV@tempa@toks{#1}\edef#2{\the\XKV@tempa@toks}%
\@onelevel@sanitize#2%
\@expandtwoargs\in@#3{#2}%
\ifin@
- \def#2##1#3##2\@nil{%
+ \long\def#2##1#3##2\@nil{%
\XKV@tempa@toks{##2}\edef#2{\the\XKV@tempa@toks}%
\ifx#2\@empty\else\in@false\fi
}%
@@ -359,7 +359,7 @@
\XKV@@ifcmd#1#2{\@nil}\@nil#3%
}
\def\XKV@getkeyname#1#2{\expandafter\XKV@g@tkeyname#1=\@nil#2}
-\def\XKV@g@tkeyname#1=#2\@nil#3{%
+\long\def\XKV@g@tkeyname#1=#2\@nil#3{%
\XKV@ifcmd{#1}\savevalue#3{\XKV@rkvtrue\XKV@sgfalse}{%
\XKV@ifcmd{#1}\gsavevalue#3%
{\XKV@rkvtrue\XKV@sgtrue}{\XKV@rkvfalse\XKV@sgfalse}%
@@ -375,7 +375,7 @@
\def\define@key{\XKV@testoptb\XKV@define@key}
\def\XKV@define@key#1{%
\@ifnextchar[{\XKV@d@fine@k@y{#1}}{%
- \expandafter\def\csname\XKV@header#1\endcsname####1%
+ \long\expandafter\def\csname\XKV@header#1\endcsname####1%
}%
}
\def\XKV@d@fine@k@y#1[#2]{%
@@ -658,7 +658,7 @@
}%
}
\def\setkeys{\XKV@testopta{\XKV@testoptc\XKV@setkeys}}
-\def\XKV@setkeys[#1]#2{%
+\long\def\XKV@setkeys[#1]#2{%
\XKV@checksanitizea{#2}\XKV@resb
\let\XKV@naa\@empty
\XKV@for@o\XKV@resb\XKV@tempa{%
@@ -684,13 +684,13 @@
}%
\XKV@presetfalse
}
-\def\XKV@s@tkeys#1#2{%
+\long\def\XKV@s@tkeys#1#2{%
\XKV@sp@deflist\XKV@na{#2}%
\XKV@for@n{#1}\CurrentOption{%
\expandafter\XKV@s@tk@ys\CurrentOption==\@nil
}%
}
-\def\XKV@s@tk@ys#1=#2=#3\@nil{%
+\long\def\XKV@s@tk@ys#1=#2=#3\@nil{%
\XKV@g@tkeyname#1=\@nil\XKV@tkey
\expandafter\KV@@sp@def\expandafter\XKV@tkey\expandafter{\XKV@tkey}%
\ifx\XKV@tkey\@empty
@@ -780,18 +780,18 @@
}%
\fi
}
-\def\XKV@replacepointers#1{%
+\long\def\XKV@replacepointers#1{%
\let\XKV@tempa\@empty
\let\XKV@resa\@empty
\XKV@r@placepointers#1\usevalue\@nil
}
-\def\XKV@r@placepointers#1\usevalue#2{%
+\long\def\XKV@r@placepointers#1\usevalue#2{%
\XKV@addtomacro@n\XKV@tempa{#1}%
\def\XKV@tempb{#2}%
\ifx\XKV@tempb\@nnil\else\XKV@afterfi
\XKV@ifundefined{XKV@\XKV@header#2@value}{%
\XKV@err{no value recorded for key `#2'; ignored}%
- \XKV@r@placepointers
+ \XKV@r@placepointers\@empty
}{%
\@expandtwoargs\in@{,#2,}{,\XKV@resa,}%
\ifin@\XKV@afterelsefi
@@ -799,6 +799,7 @@
\else\XKV@afterfi
\XKV@addtolist@x\XKV@resa{#2}%
\expandafter\expandafter\expandafter\XKV@r@placepointers
+ \expandafter\expandafter\expandafter\@empty
\csname XKV@\XKV@header#2@value\endcsname
\fi
}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/xkvex1.tex new/tex/generic/xkeyval/xkvex1.tex
--- old/tex/generic/xkeyval/xkvex1.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/generic/xkeyval/xkvex1.tex 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,153 @@
+%%
+%% This is file `xkvex1.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvex1')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\input xkeyval
+
+\catcode`\@=11
+
+%% xkeyval package: TeX example
+%% Hendri Adriaens
+
+\noindent Example 1. This example demonstrates the use of the new
+macros for setting keys of the `xkeyval' package. Have a look at the
+source for information about this example and to understand the output.
+
+%% Define keys.
+\define@key{fami}{keyi}{key 1: #1 }
+\define@key{famii}{keyii}{key 2: #1 }
+\define@key{famiii}{keyiii}[test 2]{key 3: #1 }
+\define@key{famiv}{keyi}{key 4: #1 }
+
+%% Set keys from multiple families.
+\setkeys{fami,famii,famiii}{keyi=test 1,keyiii}
+
+%% Multiplely defined keys will be taken from the first family on the
+%% list that defines the key. When + is used, all families
+%% defining the key will set it.
+\setkeys{fami,famiv}{keyi=test 3}\par
+\setkeys{famiv,fami}{keyi=test 4}\par
+\setkeys+{fami,famiv}{keyi=test 5}\par
+
+%% Starred form sets keys that it can find in the families specified.
+%% Keys that cannot be located will be put onto a list for later use
+%% by \setrmkeys.
+\setkeys*{famiv}{keyi=test 9,keyii=http://www.test10.com,
+ keyiii=test 11}\par
+
+%% Try to set the remaining keys from the previous step. The starred
+%% version defines a new list in case there are still keys that cannot
+%% be located in the given families. The command below does not do
+%% anything since the `keyi' key has already been taken from family
+%% `famiv' above.
+\setrmkeys*{fami}\par
+
+%% The normal version will complain (as \setkeys) when it cannot locate
+%% a key which was previously submitted to \xsetkeys and hasn't been
+%% set yet by previous commands. `xkeyval' commands can also be used to
+%% set `keyval' options.
+\setrmkeys{famii,famiii}\par
+
+%% Set keys, excluding some keys.
+\setkeys{fami,famii,famiii}[keyi,keyiii]{keyi=test 6,keyii=test
+7,keyiii=test 8}\par
+
+%% Test whether a key is defined in a family from the list.
+\key@ifundefined{fami,famii}{keyiii}
+{keyiii is not defined in family `fami' or `famii'}
+{keyiii is defined in family `fami' or `famii'}
+
+%% Define some keys and macros.
+\define@cmdkey[my]{fama}[my@]{keya}[none]{}
+\define@choicekey[my]{fama}{keyb}{a,b,c}[b]{correct input: #1}
+\define@boolkey[my]{famb}{keyc}[true]{}
+\def\testa{\setkeys[my]{fama}}
+\def\testb{\setkeys[my]{famb}}
+\def\testset{\setkeys[my]{fama,famb}}
+
+%% Now \testa can only set keya, \testb can only
+%% set keyb and \testset can set both.
+\testa{keya}
+ \my@keya\
+\testa{keyb}
+\testb{keyc}
+ \ifmy@famb@keyc true \else false \fi
+\testset{keya=test 11,keyb=c,keyc=false}
+ \my@keya\space
+ \ifmy@famb@keyc true \else false \fi
+
+%% Pointer system
+
+%% First we (re)define some keys.
+\define@key{fam}{keyi}{key 1: #1 }
+\define@key{fam}{keyii}{key 2: #1 }
+\define@key{fam}{keyiii}[test 2]{key 3: #1 }
+
+%% Pointers can be used to copy the value of other keys in the same
+%% family. This can be done in two ways. The first example shows `on
+%% the spot' value saving.
+\setkeys{fam}{\savevalue{keyi}=test 12,\savevalue{keyii}=\usevalue{keyi}}
+\setkeys{fam}{keyiii=\usevalue{keyii}}
+
+%% However, you can also predefine the keys to be saved for the entire
+%% document with a single command.
+\savekeys{fam}{keyi,keyii}
+\setkeys{fam}{keyi=test 13,keyii=\usevalue{keyi}}
+\setkeys{fam}{keyiii=\usevalue{keyii}}
+
+%% Pointers can be used in default values as well. Remember that the
+%% previous example used \savekeys for keyi and keyii.
+\define@key{fam}{keyi}{keyi: #1 }
+\define@key{fam}{keyii}[\usevalue{keyi}]{keyii: #1 }
+\define@key{fam}{keyiii}[\usevalue{keyii}]{keyiii: #1 }
+\setkeys{fam}{keyi=test 14}
+\setkeys{fam}{keyii}
+\setkeys{fam}{keyiii}
+
+%% Presetting keys
+
+%% Simple example of the preset system.
+\define@key{fam}{keyi}{keyi: #1 }
+\define@key{fam}{keyii}{keyii: #1 }
+\presetkeys{fam}{keyi=blue}{keyii=\usevalue{keyi}}
+\setkeys{fam}{}\par
+\setkeys{fam}{keyi=red}\par
+\setkeys{fam}{keyii=red}
+\presetkeys{fam}{keyi=red}{}\par
+\setkeys{fam}{keyii=\usevalue{keyi}}
+
+\bye
+\endinput
+%%
+%% End of file `xkvex1.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/xkvex2.tex new/tex/generic/xkeyval/xkvex2.tex
--- old/tex/generic/xkeyval/xkvex2.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/generic/xkeyval/xkvex2.tex 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,356 @@
+%%
+%% This is file `xkvex2.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvex2')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\documentclass{article}
+\usepackage{xkeyval}
+\usepackage{xcolor,calc}
+
+%% Example of setting keyval options using xkeyval
+\usepackage{hyperref}
+\usepackage{helvet}
+\setkeys{Hyp,Hel}{colorlinks,urlcolor=green,scaled=.85}
+
+\title{\textsf{xkeyval} package\\\normalsize\emph{Example 2}}
+\author{Hendri Adriaens}
+\setlength{\parindent}{0cm}
+
+\makeatletter
+
+\begin{document}
+\maketitle
+
+This example demonstrates the use of the new macros for setting
+keys of the \textsf{xkeyval} package. Below each piece of verbatim
+code, you can find its output.
+
+\section{Simple operations}
+
+Define keys.
+\begin{verbatim}
+\define@key{fami}{keyi}{key 1: #1\space}
+\define@key{famii}{keyii}{key 2: #1\space}
+\define@key{famiii}{keyiii}[test 2]{key 3: #1\space}
+\define@key{famiv}{keyi}{key 4: #1\space}
+\end{verbatim}
+\define@key{fami}{keyi}{key 1: #1\space}
+\define@key{famii}{keyii}{key 2: #1\space}
+\define@key{famiii}{keyiii}[test 2]{key 3: #1\space}
+\define@key{famiv}{keyi}{key 4: #1\space}
+
+Set keys from multiple families.
+\begin{verbatim}
+\setkeys{fami,famii,famiii}{keyi=test 1,keyiii}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\setkeys{fami,famii,famiii}{keyi=test 1,keyiii}
+\end{itemize}
+
+Multiplely defined keys will be taken from the first family on the
+list that defines the key. When \verb|+| is used, all families
+defining the key will set it.
+\begin{verbatim}
+\setkeys{fami,famiv}{keyi=test 3}
+\setkeys{famiv,fami}{keyi=test 4}
+\setkeys+{fami,famiv}{keyi=test 5}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\setkeys{fami,famiv}{keyi=test 3}\par
+\setkeys{famiv,fami}{keyi=test 4}\par
+\setkeys+{fami,famiv}{keyi=test 5}
+\end{itemize}
+
+Starred form sets keys that it can find in the families specified.
+Keys that cannot be located will be put onto a list for later use
+by \verb+\setrmkeys+.
+\begin{verbatim}
+\setkeys*{famiv}{keyi=test 9,keyii=\url{http://www.test10.com},
+ keyiii=this key has been set on page \thepage}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\setkeys*{famiv}{keyi=test 9,keyii=\url{http://www.test10.com},
+ keyiii=this key has been set on page \thepage}
+\end{itemize}
+
+Try to set the remaining keys from the previous step. The starred
+version defines a new list in case there are still keys that
+cannot be located in the given families. The command below does
+not do anything since the \verb+keyi+ key has already been taken
+from family \verb+famiv+ above.
+\begin{verbatim}
+\setrmkeys*{fami}
+\end{verbatim}
+\setrmkeys*{fami}\par
+
+The normal version will complain (as \verb+\setkeys+) when it
+cannot locate a key which was previously submitted to
+\verb+\setkeys+ and hasn't been set yet by previous commands.
+\textsf{xkeyval} commands can also be used to set \textsf{keyval}
+options as is done to the color of the url created with the
+\textsf{hyperref} package and the scaling of the font used for
+`\textsf{xkeyval}' with the \textsf{helvet} package. (See the
+preamble of the example for the code).
+\begin{verbatim}
+\setrmkeys{famii,famiii}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\setrmkeys{famii,famiii}
+\end{itemize}
+
+Set keys, excluding some keys.
+\begin{verbatim}
+\setkeys{fami,famii,famiii}[keyi,keyiii]{keyi=test 6,keyii=test 7,keyiii=test 8}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\setkeys{fami,famii,famiii}[keyi,keyiii]{keyi=test 6,keyii=test 7,keyiii=test 8}
+\end{itemize}
+
+Test whether a key is defined in a family from the list.
+\begin{verbatim}
+\key@ifundefined{fami,famii}{keyiii}
+{keyiii is not defined in family `fami' or `famii'}
+{keyiii is defined in family `fami' or `famii'}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\key@ifundefined{fami,famii}{keyiii}
+{keyiii is not defined in family `fami' or `famii'}
+{keyiii is defined in family `fami' or `famii'}
+\end{itemize}
+
+Define some keys and macros.
+\begin{verbatim}
+\define@cmdkey[my]{fama}[my@]{keya}[none]{}
+\define@choicekey[my]{fama}{keyb}{a,b,c}[b]{correct input: #1}
+\define@boolkey[my]{famb}{keyc}[true]{}
+\def\testa{\setkeys[my]{fama}}
+\def\testb{\setkeys[my]{famb}}
+\def\testset{\setkeys[my]{fama,famb}}
+\end{verbatim}
+\define@cmdkey[my]{fama}[my@]{keya}[none]{}
+\define@choicekey[my]{fama}{keyb}{a,b,c}[b]{correct input: #1}
+\define@boolkey[my]{famb}{keyc}[true]{}
+\def\testa{\setkeys[my]{fama}}
+\def\testb{\setkeys[my]{famb}}
+\def\testset{\setkeys[my]{fama,famb}}
+Now \verb+\testa+ can only set \verb+keya+, \verb+\testb+ can only
+set \verb+keyb+ and \verb+\testset+ can set both.
+\begin{verbatim}
+\testa{keya}
+ \my@keya\
+\testa{keyb}
+\testb{keyc}
+ \ifmy@famb@keyc true \else false \fi
+\testset{keya=test 11,keyb=c,keyc=false}
+ \my@keya\space
+ \ifmy@famb@keyc true \else false \fi
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\testa{keya}
+ \my@keya\
+\testa{keyb}
+\testb{keyc}
+ \ifmy@famb@keyc true \else false \fi
+\testset{keya=test 11,keyb=c,keyc=false}
+ \my@keya\space
+ \ifmy@famb@keyc true \else false \fi
+\end{itemize}
+
+\section{Pointers and values}
+
+First we (re)define some keys.
+\begin{verbatim}
+\define@key{fam}{keyi}{key 1: #1 }
+\define@key{fam}{keyii}{key 2: #1 }
+\define@key{fam}{keyiii}[test 2]{key 3: #1 }
+\end{verbatim}
+\define@key{fam}{keyi}{key 1: #1 }
+\define@key{fam}{keyii}{key 2: #1 }
+\define@key{fam}{keyiii}[test 2]{key 3: #1 }
+
+Pointers can be used to copy the value of other keys in the same
+family. This can be done in two ways. The first example shows `on
+the spot' value saving.
+\begin{verbatim}
+\setkeys{fam}{\savevalue{keyi}=test 12,\savevalue{keyii}=\usevalue{keyi}}
+\setkeys{fam}{keyiii=\usevalue{keyii}}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\setkeys{fam}{\savevalue{keyi}=test 12,\savevalue{keyii}=\usevalue{keyi}}
+\setkeys{fam}{keyiii=\usevalue{keyii}}
+\end{itemize}
+
+However, you can also predefine the keys to be saved for the entire
+document with a single command. Note that we force keys to be saved
+globally. This is necessary here since the commands in the source of
+this document appear in an environment.
+\begin{verbatim}
+\savekeys{fam}{\global{keyi},\global{keyii}}
+\setkeys{fam}{keyi=test 13,keyii=\usevalue{keyi}}
+\setkeys{fam}{keyiii=\usevalue{keyii}}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\savekeys{fam}{\global{keyi},\global{keyii}}
+\setkeys{fam}{keyi=test 13,keyii=\usevalue{keyi}}
+\setkeys{fam}{keyiii=\usevalue{keyii}}
+\end{itemize}
+
+Pointers can be used in default values as well. Remember that the
+previous example used \verb+\savekeys+ for \verb+keyi+ and \verb+keyii+.
+\begin{verbatim}
+\define@key{fam}{keyi}{keyi: #1 }
+\define@key{fam}{keyii}[\usevalue{keyi}]{keyii: #1 }
+\define@key{fam}{keyiii}[\usevalue{keyii}]{keyiii: #1 }
+\setkeys{fam}{keyi=test 14}
+\setkeys{fam}{keyii}
+\setkeys{fam}{keyiii}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\define@key{fam}{keyi}{keyi: #1 }
+\define@key{fam}{keyii}[\usevalue{keyi}]{keyii: #1 }
+\define@key{fam}{keyiii}[\usevalue{keyii}]{keyiii: #1 }
+\setkeys{fam}{keyi=test 14}
+\setkeys{fam}{keyii}
+\setkeys{fam}{keyiii}
+\end{itemize}
+
+\section{Presetting keys}
+
+Simple example of the preset system.
+\begin{verbatim}
+\define@key{fam}{keyi}{keyi: #1 }
+\define@key{fam}{keyii}{keyii: #1 }
+\presetkeys{fam}{keyi=blue}{keyii=\usevalue{keyi}}
+\setkeys{fam}{}\par
+\setkeys{fam}{keyi=red}\par
+\setkeys{fam}{keyii=red}
+\presetkeys{fam}{keyi=red}{}
+\setkeys{fam}{keyii=\usevalue{keyi}}
+\end{verbatim}
+\begin{itemize}
+\item[$\Rightarrow$]
+\define@key{fam}{keyi}{keyi: #1 }
+\define@key{fam}{keyii}{keyii: #1 }
+\presetkeys{fam}{keyi=blue}{keyii=\usevalue{keyi}}
+\setkeys{fam}{}\par
+\setkeys{fam}{keyi=red}\par
+\setkeys{fam}{keyii=red}
+\presetkeys{fam}{keyi=red}{}\par
+\setkeys{fam}{keyii=\usevalue{keyi}}
+\end{itemize}
+
+\section{Application of pointers, values and presets}
+
+\setkeys{Hyp}{urlcolor=black}
+More complicated example of the preset
+system and pointer system. See for more information about this
+example the
+\textsf{xkeyval} article on\par
+\url{http://www.tug.org/TUGboat/tb25-2/tb81adriaens.pdf}.
+\begin{verbatim}
+\newdimen\shadowsize
+\define@boolkey{Fbox}{frame}[true]{}
+\define@boolkey{Fbox}{shadow}[true]{}
+\define@key{Fbox}{framecolor}{\def\Fboxframecolor{#1}}
+\define@key{Fbox}{shadowcolor}{\def\Fboxshadowcolor{#1}}
+\define@key{Fbox}{framesize}{\setlength\fboxrule{#1}}
+\define@key{Fbox}{shadowsize}{\setlength\shadowsize{#1}}
+\presetkeys{Fbox}{frame,framecolor=red,framesize=0.5pt}%
+ {shadow=\usevalue{frame},shadowcolor=\usevalue{framecolor}!40,%
+ shadowsize=\usevalue{framesize}*4}
+\savekeys{Fbox}{frame,framecolor,framesize}
+\newcommand*\Fbox[2][]{%
+ \setkeys{Fbox}{#1}%
+ {\ifKV@Fbox@frame\else\fboxrule0pt\fi
+ \ifKV@Fbox@shadow\else\shadowsize0pt\fi
+ \sbox0{\fcolorbox{\Fboxframecolor}{white}{#2}}%
+ \hskip\shadowsize
+ \color{\Fboxshadowcolor}%
+ \rule[-\dp0]{\wd0}{\ht0+\dp0}%
+ \llap{\raisebox{\shadowsize}%
+ {\box0\hskip\shadowsize}}}%
+}
+\Fbox{demo1}
+\Fbox[framecolor=blue]{demo2}
+\Fbox[shadow=false]{demo3}
+\Fbox[framesize=1pt]{demo4}
+\Fbox[frame=false,shadow]{demo5}
+\end{verbatim}
+\newdimen\shadowsize
+\define@boolkey{Fbox}{frame}[true]{}
+\define@boolkey{Fbox}{shadow}[true]{}
+\define@key{Fbox}{framecolor}%
+ {\def\Fboxframecolor{#1}}
+\define@key{Fbox}{shadowcolor}%
+ {\def\Fboxshadowcolor{#1}}
+\define@key{Fbox}{framesize}%
+ {\setlength\fboxrule{#1}}
+\define@key{Fbox}{shadowsize}%
+ {\setlength\shadowsize{#1}}
+\presetkeys{Fbox}%
+ {frame,framecolor=red,framesize=0.5pt}%
+ {shadow=\usevalue{frame},
+ shadowcolor=\usevalue{framecolor}!40,
+ shadowsize=\usevalue{framesize}*4}
+\savekeys{Fbox}{frame,framecolor,framesize}
+\newcommand*\Fbox[2][]{%
+ \setkeys{Fbox}{#1}%
+ {\ifKV@Fbox@frame\else\fboxrule0pt\fi
+ \ifKV@Fbox@shadow\else\shadowsize0pt\fi
+ \sbox0{\fcolorbox{\Fboxframecolor}{white}{#2}}%
+ \hskip\shadowsize
+ \color{\Fboxshadowcolor}%
+ \rule[-\dp0]{\wd0}{\ht0+\dp0}%
+ \llap{\raisebox{\shadowsize}%
+ {\box0\hskip\shadowsize}}}%
+}
+\Fbox{demo1}
+\Fbox[framecolor=blue]{demo2}
+\Fbox[shadow=false]{demo3}
+\Fbox[framesize=1pt]{demo4}
+\Fbox[frame=false,shadow]{demo5}
+
+\end{document}
+\endinput
+%%
+%% End of file `xkvex2.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/xkvex3.tex new/tex/generic/xkeyval/xkvex3.tex
--- old/tex/generic/xkeyval/xkvex3.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/generic/xkeyval/xkvex3.tex 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,93 @@
+%%
+%% This is file `xkvex3.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvex3')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+%% keyi will set \keyi in xkveca.cls
+%% keyvi will set \keyvi in xkveca.cls and xkvesc.sty will pick
+%% it up from \documentclass and redefine it
+%% IgnoredGlobal and another=key will be considered as global
+%% options to be passed on to packages. Not used anymore.
+\documentclass[keyi=test1,keyvi,another=key,IgnoredGlobal,10pt]{xkveca}
+
+%% keyii will set \keyii in xkvesa.sty
+%% keyiv will be passed to xkvesb.sty as unknown option
+%% the other input will be passed on to xkvesb as well.
+\usepackage[keyii=test2,keyiv=test4,test5]{xkvesa}
+
+%% keyvii will set \keyvii in xkvesc.sty
+\usepackage[keyvii]{xkvesc}
+
+\title{\textsf{xkeyval} package\\\normalsize\emph{Example 3}}
+\author{Hendri Adriaens}
+\setlength{\parindent}{0cm}
+
+\makeatletter
+\let\@tempa\@classoptionslist
+\let\@tempb\@unusedoptionlist
+
+\begin{document}
+\maketitle
+
+This example demonstrates the use of the new macros for declaring
+class and package options of the \textsf{xkeyval} package. Please
+study the files \verb+xkvex2.tex+, \verb+xkveca.cls+,
+\verb+xkvecb.cls+, \verb+xkvesa.sty+, \verb+xkvesb.sty+ and
+\verb+xkvesc.sty+ carefully to understand the output below.\\
+
+Set by \verb+xkveca.cls+: \keyi\par
+Set by \verb+xkvesa.sty+, copied from \verb+\documentclass+: \keyia\par
+Set by \verb+xkvesa.sty+: \keyii\par
+Set by \verb+xkvesb.sty+, passed on from \verb+xkvesa.sty+: \keyiii\par
+Set by \verb+xkvesb.sty+, passed on as unknown key from \verb+xkvesa.sty+: \keyiv\par
+Set by \verb+xkvesb.sty+, passed on as unknown from \verb+xkvesa.sty+: \keyv\par
+Set by the class, copied by \verb+xkvesc.sty+: \keyvi\par
+Set by \verb+xkvesc.sty+: \keyvii\par
+Set by \verb+xkvecb.cls+, passed on from \verb+xkveca.cls+: \keyviii\\
+
+The document class is: \XKV@documentclass\par
+Unused global options: \@tempb\\
+
+Notice the content of the following macros.\par
+\verb+\@classoptionslist+: \@tempa\par
+\verb+\XKV@classoptionslist+: \XKV@classoptionslist\\
+
+This shows that \verb+key=value+ pairs have been deleted from the
+class options list so that subsequent packages which are not using
+\textsf{xkeyval} and are scanning this list will not run into
+problems.\\
+
+\end{document}
+\endinput
+%%
+%% End of file `xkvex3.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/xkvex4.tex new/tex/generic/xkeyval/xkvex4.tex
--- old/tex/generic/xkeyval/xkvex4.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/generic/xkeyval/xkvex4.tex 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,106 @@
+%%
+%% This is file `xkvex4.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvex4')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+%% Load LaTeX kernel macros patch
+\RequirePackage{xkvltxp}
+
+%% keyi will set \keyi in xkveca.cls
+%% keyvi will set \keyvi in xkveca.cls and xkvesc.sty will pick
+%% it up from \documentclass and redefine it
+%% IgnoredGlobal and another=key will be considered as global
+%% options to be passed on to packages. Not used anymore.
+\documentclass[keyi=test1 on page \thepage,keyvi,another=key,IgnoredGlobal,10pt]{xkveca}
+
+%% keyii will set \keyii in xkvesa.sty
+%% keyiv will be passed to xkvesb.sty as unknown option
+%% the other input will be passed on to xkvesb as well.
+\usepackage[keyii=test2 on page \thepage,keyiv=test4 on page \thepage,test5]{xkvesa}
+
+%% keyvii will set \keyvii in xkvesc.sty
+\usepackage[keyvii]{xkvesc}
+
+\title{\textsf{xkeyval} package\\\normalsize\emph{Example 4}}
+\author{Hendri Adriaens}
+\setlength{\parindent}{0cm}
+
+\makeatletter
+\let\@tempa\@classoptionslist
+\let\@tempb\@unusedoptionlist
+\let\@tempc\XKV@classoptionslist
+\@onelevel@sanitize\@tempc
+
+\begin{document}
+\maketitle
+
+This example demonstrates the use of the new macros for declaring
+class and package options of the \textsf{xkeyval} package. Please
+study the files \verb+xkvex2.tex+, \verb+xkveca.cls+,
+\verb+xkvecb.cls+, \verb+xkvesa.sty+, \verb+xkvesb.sty+ and
+\verb+xkvesc.sty+ carefully to understand the output below.\\
+
+Set by \verb+xkveca.cls+: \keyi\par
+Set by \verb+xkvesa.sty+, copied from \verb+\documentclass+: \keyia\par
+Set by \verb+xkvesa.sty+: \keyii\par
+Set by \verb+xkvesb.sty+, passed on from \verb+xkvesa.sty+: \keyiii\par
+Set by \verb+xkvesb.sty+, passed on as unknown from \verb+xkvesa.sty+: \keyiv\par
+Set by \verb+xkvesb.sty+, passed on as unknown from \verb+xkvesa.sty+: \keyv\par
+Set by the class, copied by \verb+xkvesc.sty+: \keyvi\par
+Set by \verb+xkvesc.sty+: \keyvii\par
+Set by \verb+xkvecb.cls+, passed on from \verb+xkveca.cls+: \keyviii\\
+
+The document class is: \XKV@documentclass\par
+Unused global options: \texttt{\@tempb}\\
+
+Notice the content of the following macros.\par
+\verb+\@classoptionslist+: \texttt{\@tempa}\par
+\verb+\XKV@classoptionslist+:\par\texttt{\@tempc}\\
+
+This shows that \verb+key=value+ pairs have been deleted from the
+class options list so that subsequent packages which are not using
+\textsf{xkeyval} and are scanning this list will not run into
+problems.\\
+
+\newpage
+This page shows that key values are only expanded when they are
+actually used. They are not expanded during option processing.\\
+
+\keyi\par
+\keyii\par
+\keyiv
+
+\end{document}
+\endinput
+%%
+%% End of file `xkvex4.tex'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xkeyval/xkvtxhdr.tex new/tex/generic/xkeyval/xkvtxhdr.tex
--- old/tex/generic/xkeyval/xkvtxhdr.tex 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/generic/xkeyval/xkvtxhdr.tex 2014-05-02 00:42:47.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `xkvheader')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/pst-xkey.sty new/tex/latex/xkeyval/pst-xkey.sty
--- old/tex/latex/xkeyval/pst-xkey.sty 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/latex/xkeyval/pst-xkey.sty 2014-05-02 00:42:47.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `pxklatex')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkeyval.sty new/tex/latex/xkeyval/xkeyval.sty
--- old/tex/latex/xkeyval/xkeyval.sty 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/latex/xkeyval/xkeyval.sty 2014-05-14 00:14:28.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `xkvlatex')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -35,7 +35,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{xkeyval}
- [2012/10/14 v2.6b package option processing (HA)]
+ [2014/05/09 v2.6d package option processing (HA)]
\ifx\XKeyValLoaded\endinput\else\input xkeyval \fi
\edef\XKVcatcodes{%
\catcode`\noexpand\=\the\catcode`\=\relax
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkveca.cls new/tex/latex/xkeyval/xkveca.cls
--- old/tex/latex/xkeyval/xkveca.cls 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/xkeyval/xkveca.cls 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,54 @@
+%%
+%% This is file `xkveca.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkveca')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\ProvidesClass{xkveca}
+\usepackage{xkeyval}
+\let\keyi\@empty
+\let\keyvi\@empty
+\DeclareOptionX{keyi}{\def\keyi{#1}}
+%% this key has a default value
+\DeclareOptionX{keyvi}[{test 6}]{\def\keyvi{#1}}
+%% pass option to class xkvesb.cls
+\PassOptionsToClass{notitlepage}{xkvecb}
+\PassOptionsToClass{keyviii={test 8}}{xkvecb}
+%% pass unknown options to article
+\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{article}}
+%% process options
+\ProcessOptionsX
+%% load another class
+\LoadClass{xkvecb}
+\endinput
+%%
+%% End of file `xkveca.cls'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkvecb.cls new/tex/latex/xkeyval/xkvecb.cls
--- old/tex/latex/xkeyval/xkvecb.cls 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/xkeyval/xkvecb.cls 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,45 @@
+%%
+%% This is file `xkvecb.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvecb')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\ProvidesClass{xkvecb}
+%% pass any unknown option to article
+\DeclareOptionX{keyviii}{\def\keyviii{#1}}
+\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptionsX*
+%% load article
+\LoadClass{article}
+\endinput
+%%
+%% End of file `xkvecb.cls'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkvesa.sty new/tex/latex/xkeyval/xkvesa.sty
--- old/tex/latex/xkeyval/xkvesa.sty 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/xkeyval/xkvesa.sty 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,54 @@
+%%
+%% This is file `xkvesa.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvesa')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\ProvidesPackage{xkvesa}
+\let\keyia\@empty
+\let\keyii\@empty
+%% keyi has been used in \documentclass
+%% this key uses that information to set another macro
+%% to do this, \ProcessOptionsX* is necessary.
+%% the value from the \documentclass is copied.
+\DeclareOptionX{keyi}{\def\keyia{#1}}
+\DeclareOptionX{keyii}{\def\keyii{#1}}
+%% pass any unknown keys to xkvesb.sty
+\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{xkvesb}}
+%% pass a specific key=value to xkvesb.sty
+\PassOptionsToPackage{keyiii={test 3}}{xkvesb}
+%% process options. use the * to pick up options from \documentclass
+\ProcessOptionsX*
+\RequirePackage{xkvesb}
+\endinput
+%%
+%% End of file `xkvesa.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkvesb.sty new/tex/latex/xkeyval/xkvesb.sty
--- old/tex/latex/xkeyval/xkvesb.sty 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/xkeyval/xkvesb.sty 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,52 @@
+%%
+%% This is file `xkvesb.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvesb')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\ProvidesPackage{xkvesb}
+\let\keyiii\@empty
+\let\keyiv\@empty
+\let\keyv\@empty
+%% use multiple families to define options
+\DeclareOptionX[xkvesb]<famiii>{keyiii}{\def\keyiii{#1}}
+\DeclareOptionX[xkvesb]<famiv>{keyiv}{\def\keyiv{#1}}
+%% define \keyv as \CurrentOption
+\DeclareOptionX*{\let\keyv\CurrentOption}
+%% execute options in multiple families
+\ExecuteOptionsX[xkvesb]<famiii>{keyiii={test 3}}
+%% process options in multiple families
+%% do not set keyiii
+\ProcessOptionsX[xkvesb][keyiii]
+\endinput
+%%
+%% End of file `xkvesb.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkvesc.sty new/tex/latex/xkeyval/xkvesc.sty
--- old/tex/latex/xkeyval/xkvesc.sty 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/xkeyval/xkvesc.sty 2014-05-02 00:42:47.000000000 +0200
@@ -0,0 +1,47 @@
+%%
+%% This is file `xkvesc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xkeyval.dtx (with options: `xkvesc')
+%%
+%% ---------------------------------------
+%% Copyright (C) 2004-2014 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 xkeyval.dtx and derived files
+%% keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, pst-xkey.tex, pst-xkey.sty, xkveca.cls, xkvecb.cls,
+%% xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex, xkvex2.tex,
+%% xkvex3.tex and xkvex4.tex.
+%%
+%% The following files constitute the xkeyval bundle and must be
+%% distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+%% pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+%% xkvltxp.sty, xkvtxhdr.tex, pst-xkey.dtx and xkeyval.dtx.
+%%
+\ProvidesPackage{xkvesc}
+%% redefine \keyvi when keyvi option is specified in \documentclass
+\DeclareOption{keyvi}{\def\keyvi{test 6a}}
+%% keyvii is a package specific key
+\DeclareOption{keyvii}{\def\keyvii{test 7}}
+%% note that this package uses original LaTeX macros for options.
+%% this is possible since xkeyval filters key=value pairs from
+%% the \documentclass options list.
+\ProcessOptions
+\endinput
+%%
+%% End of file `xkvesc.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkvltxp.sty new/tex/latex/xkeyval/xkvltxp.sty
--- old/tex/latex/xkeyval/xkvltxp.sty 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/latex/xkeyval/xkvltxp.sty 2014-05-02 00:42:47.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `xkvltxpatch')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xkeyval/xkvview.sty new/tex/latex/xkeyval/xkvview.sty
--- old/tex/latex/xkeyval/xkvview.sty 2012-10-17 13:31:02.000000000 +0200
+++ new/tex/latex/xkeyval/xkvview.sty 2014-05-02 00:42:47.000000000 +0200
@@ -7,7 +7,7 @@
%% xkeyval.dtx (with options: `xkvview')
%%
%% ---------------------------------------
-%% Copyright (C) 2004-2012 Hendri Adriaens
+%% Copyright (C) 2004-2014 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xkeyval.tlpobj new/tlpkg/tlpobj/xkeyval.tlpobj
--- old/tlpkg/tlpobj/xkeyval.tlpobj 2012-10-18 04:27:10.000000000 +0200
+++ new/tlpkg/tlpobj/xkeyval.tlpobj 2014-05-14 03:25:50.000000000 +0200
@@ -1,6 +1,6 @@
name xkeyval
category Package
-revision 27995
+revision 34020
shortdesc Extension of the keyval package.
relocated 1
longdesc This package is an extension of the keyval package and offers
@@ -10,16 +10,25 @@
longdesc and to define families of key definitions; these all help use
longdesc in documents where several packages define their own sets of
longdesc keys.
-runfiles size=16
+runfiles size=28
RELOC/tex/generic/xkeyval/keyval.tex
RELOC/tex/generic/xkeyval/pst-xkey.tex
RELOC/tex/generic/xkeyval/xkeyval.tex
+ RELOC/tex/generic/xkeyval/xkvex1.tex
+ RELOC/tex/generic/xkeyval/xkvex2.tex
+ RELOC/tex/generic/xkeyval/xkvex3.tex
+ RELOC/tex/generic/xkeyval/xkvex4.tex
RELOC/tex/generic/xkeyval/xkvtxhdr.tex
RELOC/tex/latex/xkeyval/pst-xkey.sty
RELOC/tex/latex/xkeyval/xkeyval.sty
+ RELOC/tex/latex/xkeyval/xkveca.cls
+ RELOC/tex/latex/xkeyval/xkvecb.cls
+ RELOC/tex/latex/xkeyval/xkvesa.sty
+ RELOC/tex/latex/xkeyval/xkvesb.sty
+ RELOC/tex/latex/xkeyval/xkvesc.sty
RELOC/tex/latex/xkeyval/xkvltxp.sty
RELOC/tex/latex/xkeyval/xkvview.sty
catalogue-ctan /macros/latex/contrib/xkeyval
-catalogue-date 2012-01-23 12:21:58 +0100
+catalogue-date 2014-05-10 05:53:39 +0200
catalogue-license lppl
-catalogue-version 2.6a
+catalogue-version 2.6d
++++++ xpinyin.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/xpinyin/README new/doc/latex/xpinyin/README
--- old/doc/latex/xpinyin/README 2013-05-27 03:23:32.000000000 +0200
+++ new/doc/latex/xpinyin/README 2013-08-19 01:35:59.000000000 +0200
@@ -2,7 +2,7 @@
------------
xpinyin is a LaTeX package written to simplify the input of Hanyu Pinyin.
The package provides macros to automatically add pinyin to Chinese characters.
-It can only be used in conjunction with xeCJK or CJKutf8 package.
+It can only be used in conjunction with xeCJK or CJK/CJKutf8 package.
Given that the implementation of pinyin package of CJK bundle is not very
well, it seems that xpinyin is a good replacement of it.
Files old/doc/latex/xpinyin/xpinyin.pdf and new/doc/latex/xpinyin/xpinyin.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xpinyin.doc.tlpobj new/tlpkg/tlpobj/xpinyin.doc.tlpobj
--- old/tlpkg/tlpobj/xpinyin.doc.tlpobj 2013-05-28 17:08:53.000000000 +0200
+++ new/tlpkg/tlpobj/xpinyin.doc.tlpobj 2014-05-19 03:35:03.000000000 +0200
@@ -1,8 +1,8 @@
name xpinyin.doc
category Package
-revision 30699
+revision 34110
shortdesc doc files of xpinyin
relocated 1
-docfiles size=49
+docfiles size=56
RELOC/doc/latex/xpinyin/README
RELOC/doc/latex/xpinyin/xpinyin.pdf
++++++ xpinyin.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xpinyin/xpinyin.sty new/tex/latex/xpinyin/xpinyin.sty
--- old/tex/latex/xpinyin/xpinyin.sty 2013-05-27 03:23:32.000000000 +0200
+++ new/tex/latex/xpinyin/xpinyin.sty 2014-05-18 23:51:18.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% xpinyin.dtx (with options: `package')
%%
-%% Copyright (C) 2012--2013 by Qing Lee
+%% Copyright (C) 2012-2014 by Qing Lee
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,9 +21,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xpinyin.dtx 407 2013-05-20 02:19:35Z sobenlee $
+\GetIdInfo$Id: xpinyin.dtx 654 2014-05-12 15:23:16Z sobenlee $
{Automatically add pinyin to Chinese characters}
-\ProvidesExplPackage{\ExplFileName}{\ExplFileDate}{1.3}{\ExplFileDescription}
+\ProvidesExplPackage{\ExplFileName}
+ {\ExplFileDate}{1.8}{\ExplFileDescription}
\msg_new:nnn { xpinyin } { no-LuaTeX }
{
The~xpinyin~package~is~not~supported~in~LuaTeX.\\\\
@@ -33,335 +34,488 @@
\luatex_if_engine:T { \msg_critical:nn { xpinyin } { no-LuaTeX } }
\RequirePackage{xparse}
\RequirePackage{l3keys2e}
-\box_new:N \l_xpinyin_tmpa_box
-\box_new:N \l_xpinyin_tmpb_box
-\cs_new_nopar:Nn \xpinyin_make_box:nn
- { \xpinyin_save_CJKsymbol:n {#1} \xpinyin_make_pinyin_box:nn {#1} {#2} }
-\cs_new_nopar:Nn \xpinyin_make_pinyin_box:nn
- {
- \hbox_overlap_left:n
- {
- \hbox_set:Nn \l_xpinyin_tmpa_box
- { \xpinyin_CJKsymbol_hook: \xpinyin_save_CJKsymbol:n {#1} }
- \hbox_set:Nn \l_xpinyin_tmpb_box
+\prop_new:N \c__xpinyin_tone_prop
+\clist_map_inline:nn
+ {
+ { ā }{ \= a } , { á }{ \' a } , { ǎ }{ \v a } , { à }{ \` a } ,
+ { ō }{ \= o } , { ó }{ \' o } , { ǒ }{ \v o } , { ò }{ \` o } ,
+ { ē }{ \= e } , { é }{ \' e } , { ě }{ \v e } , { è }{ \` e } ,
+ { ī }{ \=\i } , { í }{ \'\i } , { ǐ }{ \v\i } , { ì }{ \`\i } ,
+ { ū }{ \= u } , { ú }{ \' u } , { ǔ }{ \v u } , { ù }{ \` u } ,
+ { ḿ }{ \' m } , { ń }{ \' n } , { ň }{ \v n } , { ǹ }{ \` n } ,
+ { ü }{ \" u } ,
+ { ǖ }{ \= { \" u } } , { ǘ }{ \' { \" u } } ,
+ { ǚ }{ \v { \" u } } , { ǜ }{ \` { \" u } }
+ }
+ { \prop_gput:Nnn \c__xpinyin_tone_prop #1 }
+\cs_new_protected_nopar:Npn \__xpinyin_UTF_char:nn #1#2
+ {
+ \cs_if_exist:cF { u8:#1 }
+ { \cs_new_protected_nopar:cpn { u8:#1 } {#2} }
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_GBK_char:nn #1#2
+ {
+ \__xpinyin_UTF_char:nn {#1} {#2}
+ \exp_args:Nx \__xpinyin_GBK_char_aux:nn { \tl_head:n {#1} } {#1}
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_GBK_char_aux:nn #1#2
+ { \exp_args:Nf \__xpinyin_GBK_char_aux:nnn { \int_eval:n { `#1 } } {#1} {#2} }
+\cs_new_protected_nopar:Npn \__xpinyin_GBK_char_aux:nnn #1#2#3
+ {
+ \cs_if_exist:cF { __xpinyin_UTF_ #1 :w }
+ {
+ \exp_args:Nf \__xpinyin_GBK_char_def:nnn
+ {
+ \int_case:nn { \tl_count:n {#3} }
+ {
+ { \c_two } { ##1 }
+ { \c_three } { ##1##2 }
+ { \c_four } { ##1##2##3 }
+ }
+ }
+ {#1} {#2}
+ \exp_args:Nc \__xpinyin_save_UTF_cs:Nn { __xpinyin_UTF_ #1 :w } {#1}
+ \tl_gput_right:Nx \c__xpinyin_reset_UTF_catcode_tl
+ { \char_set_catcode:nn {#1} { \char_value_catcode:n {#1} } }
+ \char_set_catcode_active:n {#1}
+ }
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_GBK_char_def:nnn #1#2#3
+ {
+ \cs_new_protected_nopar:cpn { __xpinyin_UTF_ #2 :w } #1
+ { \use:c { u8: \tl_to_str:n { #3#1 } } }
+ }
+\tl_new:N \c__xpinyin_reset_UTF_catcode_tl
+\group_begin:
+\char_set_catcode_active:n { \c_zero }
+\cs_new_protected_nopar:Npn \__xpinyin_save_UTF_cs:Nn #1#2
+ {
+ \group_begin:
+ \char_set_lccode:nn { \c_zero } {#2}
+ \tl_to_lowercase:n
+ {
+ \group_end:
+ \tl_gput_right:Nn \c__xpinyin_reset_UTF_cs_tl { \cs_set_eq:NN ^^00 #1 }
+ }
+ }
+\group_end:
+\tl_new:N \c__xpinyin_reset_UTF_cs_tl
+\bool_new:N \g__xpinyin_GBK_bool
+\@ifpackageloaded { xeCJK }
+ { \AtEndOfPackage { \__xpinyin_adjust_xeCJK_hook: } }
+ {
+ \@ifpackageloaded { CJKutf8 }
+ {
+ \prop_map_function:NN \c__xpinyin_tone_prop \__xpinyin_UTF_char:nn
+ \AtEndOfPackage { \__xpinyin_adjust_CJK_hook: }
+ }
+ {
+ \@ifpackageloaded { CJK }
+ {
+ \RequirePackage { xCJK2uni }
+ \prop_map_function:NN \c__xpinyin_tone_prop \__xpinyin_GBK_char:nn
+ \AtEndOfPackage
+ {
+ \tl_put_right:Nn \l__xpinyin_pinyin_box_hook_tl
+ { \c__xpinyin_reset_UTF_cs_tl }
+ \__xpinyin_adjust_CJK_hook:
+ \tl_use:N \c__xpinyin_reset_UTF_catcode_tl
+ }
+ \bool_gset_true:N \g__xpinyin_GBK_bool
+ }
+ {
+ \xetex_if_engine:TF
+ {
+ \RequirePackage { xeCJK }
+ \AtEndOfPackage { \__xpinyin_adjust_xeCJK_hook: }
+ }
+ {
+ \RequirePackage { CJKutf8 }
+ \prop_map_function:NN \c__xpinyin_tone_prop \__xpinyin_UTF_char:nn
+ \AtEndOfPackage { \__xpinyin_adjust_CJK_hook: }
+ }
+ }
+ }
+ }
+\box_new:N \l__xpinyin_tmpa_box
+\box_new:N \l__xpinyin_tmpb_box
+\cs_new_protected_nopar:Npn \__xpinyin_make_box:nn #1#2
+ {
+ \__xpinyin_make_pinyin_box:xnn { \__xpinyin_to_unicode:n {#1} } {#1} {#2}
+ \__xpinyin_save_CJKsymbol:n {#1}
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_make_pinyin_box:nnn #1#2#3
+ {
+ \__xpinyin_leavevmode:
+ \hbox_overlap_right:n
+ {
+ \hbox_set:Nn \l__xpinyin_tmpa_box
+ { \__xpinyin_CJKsymbol_hook: \__xpinyin_save_CJKsymbol:n {#2} }
+ \hbox_set:Nn \l__xpinyin_tmpb_box
{
+ \l__xpinyin_pinyin_box_hook_tl
\color_group_begin: \color_ensure_current:
- \xpinyin_select_font:
- \l_xpinyin_format_tl
- \clist_if_exist:cT
- { c_xpinyin_multiple_ \xpinyin_CJKsymbol_to_unicode:n {#1} _clist }
- { \l_xpinyin_multiple_tl }
- {#2}
+ \__xpinyin_select_font:
+ \clist_if_exist:cTF { c__xpinyin_multiple_ #1 _clist }
+ { \l__xpinyin_multiple_tl \l__xpinyin_format_tl }
+ { \l__xpinyin_format_tl }
+ {#3}
\color_group_end:
}
\dim_compare:nNnT
- { \box_wd:N \l_xpinyin_tmpb_box } >
- { \box_wd:N \l_xpinyin_tmpa_box + \l_xpinyin_CJKglue_dim }
+ { \box_wd:N \l__xpinyin_tmpb_box } >
+ { \box_wd:N \l__xpinyin_tmpa_box + \l__xpinyin_CJKglue_dim }
{
- \box_resize:Nnn \l_xpinyin_tmpb_box
- { \box_wd:N \l_xpinyin_tmpa_box + \l_xpinyin_CJKglue_dim }
- { \box_ht:N \l_xpinyin_tmpb_box + \box_dp:N \l_xpinyin_tmpb_box }
+ \box_resize:Nnn \l__xpinyin_tmpb_box
+ { \box_wd:N \l__xpinyin_tmpa_box + \l__xpinyin_CJKglue_dim }
+ { \box_ht:N \l__xpinyin_tmpb_box + \box_dp:N \l__xpinyin_tmpb_box }
}
- \box_move_up:nn { \l_xpinyin_vsep_tl }
+ \box_move_up:nn { \l__xpinyin_vsep_tl }
{
- \hbox_to_wd:nn { \box_wd:N \l_xpinyin_tmpa_box }
- { \tex_hss:D \box_use_clear:N \l_xpinyin_tmpb_box \tex_hss:D }
+ \hbox_to_wd:nn { \box_wd:N \l__xpinyin_tmpa_box }
+ { \tex_hss:D \box_use_clear:N \l__xpinyin_tmpb_box \tex_hss:D }
}
}
- { \xpinyin_CJK_node: }
- \xpinyin_CJK_ignorespaces:
}
-\cs_new_nopar:Nn \xpinyin_CJKsymbol:n
- { \xpinyin_make_box:nn {#1} { \xpinyin_to_pinyin:n {#1} } }
-\cs_new_nopar:Nn \xpinyin_to_pinyin:n
- { \use:c { c_xpinyin_ \xpinyin_CJKsymbol_to_unicode:n {#1} _tl } }
-\NewDocumentEnvironment { pinyinscope } { O{} }
+\tl_new:N \l__xpinyin_pinyin_box_hook_tl
+\cs_generate_variant:Nn \__xpinyin_make_pinyin_box:nnn { x }
+\cs_new_protected_nopar:Npn \__xpinyin_CJKsymbol:n #1
+ { \__xpinyin_CJKsymbol:xn { \__xpinyin_to_unicode:n {#1} } {#1} }
+\cs_new_protected_nopar:Npn \__xpinyin_CJKsymbol:nn #1#2
+ {
+ \__xpinyin_make_pinyin_box:nnn {#1} {#2} { \use:c { c__xpinyin_ #1 _tl } }
+ \__xpinyin_save_CJKsymbol:n {#2}
+ }
+\cs_generate_variant:Nn \__xpinyin_CJKsymbol:nn { x }
+\NewDocumentEnvironment { pinyinscope } { O { } }
{
\keys_set:nn { xpinyin } {#1}
- \tl_if_empty:NF \l_xpinyin_hsep_tl
- { \cs_set_nopar:Npn \CJKglue { \skip_horizontal:n { \l_xpinyin_hsep_tl } } }
- \settowidth \l_xpinyin_CJKglue_dim { \CJKglue }
- \xpinyin_replace_CJKsymbol:
+ \enablepinyin
}
- { \cs_gset_eq:NN \CJKsymbol \xpinyin_save_CJKsymbol:n }
-\NewDocumentCommand \xpinyin { s O{} m }
+ { }
+\NewDocumentCommand \xpinyin { s O { } m }
{
\IfBooleanTF {#1}
{
\group_begin:
\keys_set:nn { xpinyin } {#2}
- \tl_if_empty:NF \l_xpinyin_hsep_tl
- { \cs_set_nopar:Npn \CJKglue { \skip_horizontal:n { \l_xpinyin_hsep_tl } } }
- \settowidth \l_xpinyin_CJKglue_dim { \CJKglue }
- \xpinyin_replace_CJKsymbol:
+ \enablepinyin
#3
\group_end:
}
{
\group_begin:
\keys_set:nn { xpinyin } {#2}
- \settowidth \l_xpinyin_CJKglue_dim { \CJKglue }
- \xpinyin_xpinyin_single_aux:nn {#3}
+ \bool_if:NF \l__xpinyin_enable_bool
+ { \settowidth \l__xpinyin_CJKglue_dim { \CJKglue } }
+ \leavevmode
+ \__xpinyin_single_aux:nn {#3}
}
}
-\dim_new:N \l_xpinyin_CJKglue_dim
-\cs_new_nopar:Nn \xpinyin_xpinyin_single_aux:nn
+\bool_new:N \l__xpinyin_enable_bool
+\cs_new_protected_nopar:Npn \__xpinyin_CJKglue:
+ { \skip_horizontal:n { \l__xpinyin_hsep_tl } }
+\NewDocumentCommand \enablepinyin { }
{
- \xpinyin_xpinyin_single_hook:n
- { \cs_set_eq:NN \xpinyin_save_CJKsymbol:n \use:n }
- \cs_set_eq:NN \xpinyin_CJKsymbol_to_unicode:n \xpinyin_CJKchar_to_unicode:n
- \xpinyin_make_box:nn {#1} { \xpinyin_pinyin:n {#2} }
- \group_end:
- }
-\cs_new_nopar:Nn \xpinyin_replace_CJKsymbol_aux:
- {
- \cs_if_eq:NNF \CJKsymbol \xpinyin_CJKsymbol:n
+ \bool_if:NF \l__xpinyin_enable_bool
{
- \cs_set_eq:NN \xpinyin_save_CJKsymbol:n \CJKsymbol
- \cs_set_eq:NN \CJKsymbol \xpinyin_CJKsymbol:n
+ \tl_if_empty:NF \l__xpinyin_hsep_tl
+ {
+ \cs_set_eq:NN \__xpinyin_save_CJKglue: \CJKglue
+ \cs_set_eq:NN \CJKglue \__xpinyin_CJKglue:
+ }
+ \settowidth \l__xpinyin_CJKglue_dim { \CJKglue }
+ \__xpinyin_replace_CJKsymbol:
+ \__xpinyin_restore_footnote:
+ \bool_set_true:N \l__xpinyin_enable_bool
}
}
-\cs_new_nopar:Npn \xpinyin_xpinyin_single_hook_aux:n
+\NewDocumentCommand \disablepinyin { }
{
- \cs_if_eq:NNTF \CJKsymbol \xpinyin_CJKsymbol:n
+ \bool_if:NT \l__xpinyin_enable_bool
{
- \cs_set_eq:NN \CJKsymbol \xpinyin_save_CJKsymbol:n
- \cs_set_eq:NN \xpinyin_save_CJKsymbol:n \use:n
+ \cs_if_eq:NNT \CJKglue \__xpinyin_CJKglue:
+ { \cs_set_eq:NN \CJKglue \__xpinyin_save_CJKglue: }
+ \__xpinyin_restore_CJKsymbol:
+ \bool_set_false:N \l__xpinyin_enable_bool
}
}
-\cs_new_nopar:Nn \xpinyin_select_font_xetex:
+\cs_new_protected_nopar:Npn \__xpinyin_restore_footnote:
+ {
+ \bool_if:NF \l__xpinyin_footnote_bool
+ { \tl_put_left:Nn \@parboxrestore { \l__xpinyin_restore_footnote_tl } }
+ }
+\tl_new:N \l__xpinyin_restore_footnote_tl
+\tl_set:Nn \l__xpinyin_restore_footnote_tl
+ {
+ \int_compare:nNnT \etex_currentgrouptype:D = \c_eleven
+ { \disablepinyin }
+ }
+\dim_new:N \l__xpinyin_CJKglue_dim
+\cs_new_protected_nopar:Npn \__xpinyin_single_aux:nn #1#2
+ {
+ \__xpinyin_replace_CJKsymbol_single:n {#2}
+ #1
+ \group_end:
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol_single_aux:n #1
+ {
+ \bool_if:NF \l__xpinyin_enable_bool { \__xpinyin_replace_CJKsymbol: }
+ \cs_set_protected_nopar:Npn \CJKsymbol ##1
+ { \__xpinyin_single_CJKsymbol:nn {##1} {#1} }
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_single_CJKsymbol:nn #1#2
{
- \cs_if_exist_use:cF { \l_xpinyin_coor_tl }
+ \__xpinyin_make_pinyin_box:nnn
+ { \__xpinyin_to_unicode:n {#1} } {#1} { \__xpinyin_pinyin:n {#2} }
+ \__xpinyin_save_CJKsymbol:n {#1}
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol_aux:
+ {
+ \cs_set_eq:NN \__xpinyin_save_CJKsymbol:n \CJKsymbol
+ \cs_set_eq:NN \CJKsymbol \__xpinyin_CJKsymbol:n
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_restore_CJKsymbol_aux:
+ { \cs_set_eq:NN \CJKsymbol \__xpinyin_save_CJKsymbol:n }
+\cs_new_protected_nopar:Npn \__xpinyin_select_font_xetex:
+ {
+ \cs_if_exist_use:cF { \l__xpinyin_coor_tl }
{
- \tl_set:Nx \l_xpinyin_current_coor_tl { \l_xpinyin_coor_tl }
- \xpinyin_select_font_aux:
- \int_compare:nNnT { \XeTeXfonttype \tex_font:D } > \c_zero
+ \tl_set:Nx \l__xpinyin_current_coor_tl { \l__xpinyin_coor_tl }
+ \__xpinyin_select_font_aux:
+ \int_compare:nNnF { \XeTeXfonttype \tex_font:D } = \c_zero
{
\exp_last_unbraced:NNV
- \cs_gset_eq:cN \l_xpinyin_current_coor_tl \tex_font:D
+ \cs_gset_eq:cN \l__xpinyin_current_coor_tl \tex_font:D
}
}
}
-\cs_new_nopar:Nn \xpinyin_select_font_aux:
+\cs_new_protected_nopar:Npn \__xpinyin_select_font_aux:
{
\fontsize
- { \l_xpinyin_ratio_tl \etex_dimexpr:D \f@size pt \scan_stop: }
- { \c_zero_skip }
- \l_xpinyin_font_tl
+ { \l__xpinyin_ratio_tl \etex_dimexpr:D \f@size pt \scan_stop: }
+ { \f@baselineskip }
+ \l__xpinyin_font_tl
\selectfont
}
-\cs_new_nopar:Nn \xpinyin_CJKsymbol_to_unicode_xetex:n { \int_to_hexadecimal:n {`#1} }
-\cs_new_nopar:Nn \xpinyin_CJKsymbol_to_unicode_pdftex:n
- { \int_to_hexadecimal:n { \int_from_hexadecimal:V \CJK@plane * "100 + #1 } }
-\cs_new_nopar:Nn \xpinyin_CJKchar_to_unicode_pdftex:n
- { \int_to_hexadecimal:n { \xpinyin_UTF_viii_to_unicode:NNNw #1 \q_stop } }
-\cs_new_nopar:Npn \xpinyin_UTF_viii_to_unicode:NNNw #1#2#3#4 \q_stop
+\cs_new_nopar:Npn \__xpinyin_to_unicode_xetex:n #1
+ { \int_to_Hex:n { `#1 } }
+\cs_new_nopar:Npn \__xpinyin_UTF_to_unicode:n #1
+ {
+ \int_to_Hex:n
+ { \exp_args:No \int_from_hex:n { \CJK@plane } * "100 + #1 }
+ }
+\cs_new_nopar:Npn \__xpinyin_UTFchar_to_unicode:n #1
+ { \int_to_Hex:n { \__xpinyin_UTF_viii_to_unicode:NNNw #1 \q_stop } }
+\cs_new_nopar:Npn \__xpinyin_UTF_viii_to_unicode:NNNw #1#2#3#4 \q_stop
{
\tl_if_empty:nTF {#4}
{ ( `#1 - "E0 ) * "1000 + ( `#2 - "80 ) * "40 + ( `#3 - "80 ) }
{ ( `#1 - "F0 ) * "4000 + ( `#2 - "80 ) * "1000 + ( `#3 - "80 ) * "40 + ( `#4 - "80 ) }
}
-\cs_generate_variant:Nn \int_from_hexadecimal:n { V }
-\cs_new_nopar:Nn \xpinyin_adjust_xeCJK_hook:
- {
- \cs_new_eq:NN \xpinyin_select_font: \xpinyin_select_font_xetex:
- \cs_new_eq:NN \xpinyin_CJKsymbol_to_unicode:n \xpinyin_CJKsymbol_to_unicode_xetex:n
- \cs_new_eq:NN \xpinyin_CJKchar_to_unicode:n \xpinyin_CJKsymbol_to_unicode:n
- \cs_new_eq:NN \xpinyin_replace_CJKsymbol: \xpinyin_replace_CJKsymbol_aux:
- \cs_new_eq:NN \xpinyin_CJK_node: \xeCJK_CJK_kern:
- \cs_new_eq:NN \xpinyin_CJK_ignorespaces: \xeCJK_ignore_spaces:w
- \cs_new_protected_nopar:Npn \xpinyin_CJK_node: { \xeCJK_make_node:n { CJK } }
- \tl_gset:Nn \l_xpinyin_coor_tl
- { (\cs_meaning:N \l_xpinyin_font_tl)/\l_xeCJK_current_font_tl/\l_xpinyin_ratio_tl }
- \cs_new_nopar:Nn \xpinyin_CJKsymbol_hook: { \makexeCJKinactive \xeCJK_select_font: }
- \cs_new_nopar:Npn \xpinyin_xpinyin_single_hook:n
- { \cs_if_eq:NNTF \CJKsymbol \xpinyin_CJKsymbol:n { \cs_set_eq:NN \CJKsymbol \use:n } }
- }
-\cs_new_nopar:Nn \xpinyin_adjust_CJK_hook:
- {
- \cs_new_eq:NN \xpinyin_select_font: \xpinyin_select_font_aux:
- \cs_new_eq:NN \xpinyin_CJKsymbol_to_unicode:n \xpinyin_CJKsymbol_to_unicode_pdftex:n
- \cs_new_eq:NN \xpinyin_CJKchar_to_unicode:n \xpinyin_CJKchar_to_unicode_pdftex:n
- \cs_new_eq:NN \xpinyin_CJKsymbol_hook: \prg_do_nothing:
- \cs_new_eq:NN \xpinyin_CJK_node: \CJK@CJK
- \cs_new_eq:NN \xpinyin_CJK_ignorespaces: \prg_do_nothing:
- \@ifpackageloaded { CJKpunct }
- { \xpinyin_adjust_CJKpunct_hook: }
+\cs_new_nopar:Npn \__xpinyin_GBK_to_unicode:n #1
+ { \CJKtu_sfd_map:nn { \CJK@plane } {#1} }
+\cs_new_nopar:Npn \__xpinyin_GBKchar_to_unicode:n #1
+ { \CJKchartouni {#1} }
+\cs_new_protected_nopar:Npn \__xpinyin_adjust_xeCJK_hook:
+ {
+ \cs_new_eq:NN \__xpinyin_select_font: \__xpinyin_select_font_xetex:
+ \cs_new_eq:NN \__xpinyin_to_unicode:n \__xpinyin_to_unicode_xetex:n
+ \cs_new_eq:NN \__xpinyin_char_to_unicode:n \__xpinyin_to_unicode:n
+ \cs_new_eq:NN \__xpinyin_restore_CJKsymbol: \__xpinyin_restore_CJKsymbol_aux:
+ \cs_new_eq:NN \__xpinyin_replace_CJKsymbol: \__xpinyin_replace_CJKsymbol_aux:
+ \cs_new_eq:NN \__xpinyin_replace_CJKsymbol_single:n
+ \__xpinyin_replace_CJKsymbol_single_aux:n
+ \tl_if_exist:NTF \l_xeCJK_current_font_tl
+ {
+ \tl_set:Nn \l__xpinyin_coor_tl
+ {
+ ( \tl_to_str:N \l__xpinyin_font_tl ) /
+ \l_xeCJK_current_font_tl/\l__xpinyin_ratio_tl
+ }
+ }
{
- \cs_new_eq:NN \xpinyin_replace_CJKsymbol: \xpinyin_replace_CJKsymbol_aux:
- \cs_new_eq:NN \xpinyin_xpinyin_single_hook:n \xpinyin_xpinyin_single_hook_aux:n
+ \tl_set:Nn \l__xpinyin_coor_tl
+ {
+ ( \tl_to_str:N \l__xpinyin_font_tl ) /
+ \xeCJK@family/\f@series/\f@shape/\f@size/\l__xpinyin_ratio_tl
+ }
+ }
+ \cs_new_eq:NN \__xpinyin_leavevmode: \prg_do_nothing:
+ \cs_new_protected_nopar:Npx \__xpinyin_CJKsymbol_hook:
+ {
+ \exp_not:N \makexeCJKinactive
+ \cs_if_exist_use:NF \xeCJK_select_font:
+ { \exp_not:N \xeCJK@setfont }
}
- \prop_map_function:NN \g_xpinyin_tone_prop \DeclareUnicodeCharacter
}
-\cs_new_nopar:Nn \xpinyin_adjust_CJKpunct_hook:
+\cs_new_protected_nopar:Npn \__xpinyin_adjust_CJK_hook:
{
- \cs_new_nopar:Nn \xpinyin_replace_CJKsymbol:
+ \bool_if:NTF \g__xpinyin_GBK_bool
{
- \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain }
- { \xpinyin_replace_CJKsymbol_aux: }
+ \cs_new_eq:NN \__xpinyin_to_unicode:n \__xpinyin_GBK_to_unicode:n
+ \cs_new_eq:NN \__xpinyin_char_to_unicode:n \__xpinyin_GBKchar_to_unicode:n
+ }
+ {
+ \cs_new_eq:NN \__xpinyin_to_unicode:n \__xpinyin_UTF_to_unicode:n
+ \cs_new_eq:NN \__xpinyin_char_to_unicode:n \__xpinyin_UTFchar_to_unicode:n
+ }
+ \cs_new_eq:NN \__xpinyin_select_font: \__xpinyin_select_font_aux:
+ \cs_new_eq:NN \__xpinyin_leavevmode: \leavevmode
+ \cs_new_eq:NN \__xpinyin_CJKsymbol_hook: \prg_do_nothing:
+ \@ifpackageloaded { CJKpunct }
+ { \__xpinyin_adjust_CJKpunct_hook: }
+ {
+ \cs_new_eq:NN \__xpinyin_restore_CJKsymbol: \__xpinyin_restore_CJKsymbol_aux:
+ \cs_new_eq:NN \__xpinyin_replace_CJKsymbol: \__xpinyin_replace_CJKsymbol_aux:
+ \cs_new_eq:NN \__xpinyin_replace_CJKsymbol_single:n
+ \__xpinyin_replace_CJKsymbol_single_aux:n
+ \AtBeginDocument
{
- \cs_if_eq:NNF \CJKosymbol \xpinyin_CJKsymbol:n
+ \@ifpackageloaded { CJKpunct }
{
- \cs_set_eq:NN \xpinyin_save_CJKsymbol:n \CJKosymbol
- \cs_set_eq:NN \CJKosymbol \xpinyin_CJKsymbol:n
- }
+ \cs_undefine:N \__xpinyin_restore_CJKsymbol:
+ \cs_undefine:N \__xpinyin_replace_CJKsymbol:
+ \cs_undefine:N \__xpinyin_replace_CJKsymbol_single:n
+ \__xpinyin_adjust_CJKpunct_hook:
+ } { }
}
}
- \cs_new_nopar:Npn \xpinyin_xpinyin_single_hook:n
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_adjust_CJKpunct_hook:
+ {
+ \cs_new_protected_nopar:Npn \__xpinyin_restore_CJKsymbol:
+ {
+ \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain }
+ { \__xpinyin_restore_CJKsymbol_aux: }
+ { \cs_set_eq:NN \CJKosymbol \__xpinyin_save_CJKsymbol:n }
+ }
+ \cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol:
{
\int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain }
- { \xpinyin_xpinyin_single_hook_aux:n }
+ { \__xpinyin_replace_CJKsymbol_aux: }
{
- \cs_if_eq:NNTF \CJKosymbol \xpinyin_CJKsymbol:n
- {
- \cs_set_eq:NN \CJKosymbol \xpinyin_save_CJKsymbol:n
- \cs_set_eq:NN \xpinyin_save_CJKsymbol:n \use:n
- }
+ \cs_set_eq:NN \__xpinyin_save_CJKsymbol:n \CJKosymbol
+ \cs_set_eq:NN \CJKosymbol \__xpinyin_CJKsymbol:n
}
}
- }
-\AtBeginDocument
- {
- \@ifpackageloaded { xeCJK }
- { \xpinyin_adjust_xeCJK_hook: }
+ \cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol_single:n ##1
{
- \@ifpackageloaded { CJKutf8 }
- { \xpinyin_adjust_CJK_hook: }
- { \msg_warning:nn { xpinyin } { invalid } }
+ \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain }
+ { \__xpinyin_replace_CJKsymbol_single_aux:n { ##1 } }
+ {
+ \cs_set_protected_nopar:Npn \CJKosymbol ####1
+ { \__xpinyin_single_CJKsymbol:nn { ####1 } { ##1 } }
+ }
}
}
-\msg_new:nnn { xpinyin } { invalid }
- {
- If~you~want~to~use~xpinyin~in~the~right~way,~you\\
- should~load~the~\xetex_if_engine:TF { xeCJK } { CJKutf8 }~
- package~in~the~preamble.\\
- }
-\NewDocumentCommand \pinyin { O{} m }
+\NewDocumentCommand \pinyin { O { } m }
{
\group_begin:
\keys_set:nn { xpinyin } {#1}
- \l_xpinyin_font_tl
- \l_xpinyin_format_tl
+ \l__xpinyin_font_tl
+ \l__xpinyin_format_tl { }
\selectfont
- \xpinyin_pinyin:n {#2}
+ \c__xpinyin_reset_UTF_cs_tl
+ \__xpinyin_pinyin:n {#2}
\group_end:
}
-\cs_new_nopar:Nn \xpinyin_pinyin:n
+\cs_new_protected_nopar:Npn \__xpinyin_pinyin:n #1
{
- \xpinyin_xpinyin_init:
- \bool_set_true:N \l_xpinyin_first_bool
- \tl_set:Nn \l_xpinyin_save_tl {#1}
- \xpinyin_xpinyin_aux:N #1 \q_recursion_tail \q_recursion_stop
+ \__xpinyin_pinyin_init:
+ \bool_set_true:N \l__xpinyin_first_bool
+ \tl_set:Nn \l__xpinyin_save_tl {#1}
+ \__xpinyin_pinyin_aux:n #1 \q_recursion_tail \q_recursion_stop
}
-\cs_new_nopar:Nn \xpinyin_xpinyin_aux:N
+\cs_new_protected_nopar:Npn \__xpinyin_pinyin_aux:n #1
{
- \quark_if_recursion_tail_stop_do:Nn #1
+ \quark_if_recursion_tail_stop_do:nn {#1}
{
- \bool_if:NTF \l_xpinyin_first_bool { \l_xpinyin_save_tl }
- { \tl_if_empty:NF \l_xpinyin_item_tl { \l_xpinyin_pysep_tl \l_xpinyin_item_tl } }
+ \bool_if:NTF \l__xpinyin_first_bool { \l__xpinyin_save_tl }
+ { \tl_if_empty:NF \l__xpinyin_item_tl { \l__xpinyin_pysep_tl \l__xpinyin_item_tl } }
}
- \xpinyin_if_number:NTF {#1}
+ \__xpinyin_if_number:nTF {#1}
{
- \bool_if:NTF \l_xpinyin_first_bool
- { \bool_set_false:N \l_xpinyin_first_bool }
- { \l_xpinyin_pysep_tl }
- \l_xpinyin_pre_tl
- \xpinyin_tone:Vn \l_xpinyin_tone_tl {#1}
- \l_xpinyin_post_tl
- \xpinyin_xpinyin_init:
+ \bool_if:NTF \l__xpinyin_first_bool
+ { \bool_set_false:N \l__xpinyin_first_bool }
+ { \l__xpinyin_pysep_tl }
+ \l__xpinyin_pre_tl
+ \__xpinyin_tone:Vn \l__xpinyin_tone_tl {#1}
+ \l__xpinyin_post_tl
+ \__xpinyin_pinyin_init:
}
{
\int_compare:nNnTF
- { 0 \cs_if_exist_use:c { c_xpinyin_ \tl_to_str:N \l_xpinyin_tone_tl _tl } } >
- { 0 \cs_if_exist_use:c { c_xpinyin_ \tl_to_str:n {#1} _tl } }
- { \tl_put_right:Nn \l_xpinyin_post_tl {#1} }
- {
- \tl_set:Nn \l_xpinyin_tone_tl {#1}
- \tl_set_eq:NN \l_xpinyin_pre_tl \l_xpinyin_item_tl
- \tl_clear:N \l_xpinyin_post_tl
- }
- \tl_put_right:Nx \l_xpinyin_item_tl { \xpinyin_replace_v:N {#1} }
- }
- \xpinyin_xpinyin_aux:N
- }
-\cs_new_nopar:Nn \xpinyin_tone:Nn
- { \use:c { xpinyin_num_to_tone_ #1 :Nn } {#1} {#2} }
-\cs_generate_variant:Nn \xpinyin_tone:Nn { V }
-\cs_new_nopar:Nn \xpinyin_replace_v:N
+ { 0 \cs_if_exist_use:c { c__xpinyin_ \tl_to_str:N \l__xpinyin_tone_tl _tl } } >
+ { 0 \cs_if_exist_use:c { c__xpinyin_ \tl_to_str:n {#1} _tl } }
+ { \tl_put_right:Nn \l__xpinyin_post_tl {#1} }
+ {
+ \tl_set:Nn \l__xpinyin_tone_tl {#1}
+ \tl_set_eq:NN \l__xpinyin_pre_tl \l__xpinyin_item_tl
+ \tl_clear:N \l__xpinyin_post_tl
+ }
+ \tl_put_right:Nx \l__xpinyin_item_tl { \__xpinyin_replace_v:n {#1} }
+ }
+ \__xpinyin_pinyin_aux:n
+ }
+\cs_new_protected_nopar:Npn \__xpinyin_tone:Nn #1#2
+ { \use:c { __xpinyin_num_to_tone_ #1 :Nn } {#1} {#2} }
+\cs_generate_variant:Nn \__xpinyin_tone:Nn { V }
+\cs_new_nopar:Npn \__xpinyin_replace_v:n #1
{
\str_if_eq:nnTF {#1} { v }
{
- \bool_if:nTF
- {
- \str_if_eq_p:Vn \l_xpinyin_item_tl { l } ||
- \str_if_eq_p:Vn \l_xpinyin_item_tl { n } ||
- \str_if_eq_p:Vn \l_xpinyin_item_tl { L } ||
- \str_if_eq_p:Vn \l_xpinyin_item_tl { N }
- }
- { \exp_not:n { ü} } { u }
+ \str_case:onTF { \l__xpinyin_item_tl }
+ { { l } { } { n } { } { L } { } { N } { } }
+ { \exp_not:n { ü } } { u }
}
{ \exp_not:n {#1} }
}
-\cs_new_nopar:Nn \xpinyin_xpinyin_init:
+\cs_new_nopar:Npn \__xpinyin_pinyin_init:
{
- \tl_clear:N \l_xpinyin_pre_tl \tl_clear:N \l_xpinyin_post_tl
- \tl_clear:N \l_xpinyin_item_tl \tl_clear:N \l_xpinyin_tone_tl
+ \tl_clear:N \l__xpinyin_pre_tl \tl_clear:N \l__xpinyin_post_tl
+ \tl_clear:N \l__xpinyin_item_tl \tl_clear:N \l__xpinyin_tone_tl
}
-\prg_new_conditional:Nnn \xpinyin_if_number:N { p , T , F , TF }
+\prg_new_conditional:Npnn \__xpinyin_if_number:n #1 { TF }
{
- \if_int_compare:w \c_one < 1 #1 \exp_stop_f:
+ \if_int_compare:w \c_one < 1 \tl_to_str:n {#1} \exp_stop_f:
\prg_return_true: \else: \prg_return_false: \fi:
}
-\bool_new:N \l_xpinyin_first_bool
-\tl_const:Nn \c_xpinyin_a_tl { 3 }
-\tl_const:Nn \c_xpinyin_o_tl { 2 }
-\tl_const:Nn \c_xpinyin_e_tl { 2 }
-\tl_const:Nn \c_xpinyin_i_tl { 1 }
-\tl_const:Nn \c_xpinyin_u_tl { 1 }
-\tl_const:Nn \c_xpinyin_v_tl { 1 }
-\cs_new_nopar:Nn \xpinyin_num_to_tone:Nn
+\bool_new:N \l__xpinyin_first_bool
+\tl_const:Nn \c__xpinyin_a_tl { 3 }
+\tl_const:Nn \c__xpinyin_o_tl { 2 }
+\tl_const:Nn \c__xpinyin_e_tl { 2 }
+\tl_const:Nn \c__xpinyin_i_tl { 1 }
+\tl_const:Nn \c__xpinyin_u_tl { 1 }
+\tl_const:Nn \c__xpinyin_v_tl { 1 }
+\cs_new_protected_nopar:Npn \__xpinyin_num_to_tone:Nn #1#2
{
\if_case:w \int_eval:n { #2 - \c_one } \exp_stop_f:
\= {#1} \or: \'{#1} \or: \v {#1} \or: \` {#1} \else: #1 \fi:
}
\tl_map_inline:nn { a o e u }
- { \cs_new_eq:cN { xpinyin_num_to_tone_ #1 :Nn } \xpinyin_num_to_tone:Nn }
-\cs_new_nopar:Nn \xpinyin_num_to_tone_i:Nn
+ { \cs_new_eq:cN { __xpinyin_num_to_tone_ #1 :Nn } \__xpinyin_num_to_tone:Nn }
+\cs_new_nopar:Npn \__xpinyin_num_to_tone_i:Nn #1#2
{
\if_case:w \int_eval:n { #2 - \c_one } \exp_stop_f:
ī \or: í \or: ǐ \or: ì \else: i \fi:
}
-\cs_new_nopar:Nn \xpinyin_num_to_tone_v:Nn
+\cs_new_protected_nopar:Npn \__xpinyin_num_to_tone_v:Nn #1#2
{
- \bool_if:nTF
- {
- \str_if_eq_p:Vn \l_xpinyin_pre_tl { l } ||
- \str_if_eq_p:Vn \l_xpinyin_pre_tl { n } ||
- \str_if_eq_p:Vn \l_xpinyin_pre_tl { L } ||
- \str_if_eq_p:Vn \l_xpinyin_pre_tl { N }
- }
+ \str_case:onTF { \l__xpinyin_pre_tl }
+ { { l } { } { n } { } { L } { } { N } { } }
{
\if_case:w \int_eval:n { #2 - \c_one } \exp_stop_f:
ǖ \or: ǘ \or: ǚ \or: ǜ \else: ü \fi:
}
- { \xpinyin_num_to_tone:Nn u {#2} }
- }
-\prop_new:N \g_xpinyin_tone_prop
-\clist_map_inline:nn
- {
- {0101}{\=a} , {00E1}{\'a} , {01CE}{\v{a}} , {00E0}{\`a} ,
- {014D}{\=o} , {00F3}{\'o} , {01D2}{\v{o}} , {00F2}{\`o} ,
- {0113}{\=e} , {00E9}{\'e} , {011B}{\v{e}} , {00E8}{\`e} ,
- {012B}{\={\i}} , {00ED}{\'{\i}} , {01D0}{\v{\i}} , {00EC}{\`{\i}} ,
- {016B}{\=u} , {00FA}{\'u} , {01D4}{\v{u}} , {00F9}{\`u} ,
- {00FC}{\"u} ,
- {01D6}{\={\"u}} , {01D8}{\'{\"u}} , {01DA}{\v{\"u}} , {01DC}{\`{\"u}}
+ { \__xpinyin_num_to_tone:Nn u {#2} }
}
- { \prop_gput:Nnn \g_xpinyin_tone_prop #1 }
\NewDocumentCommand \xpinyinsetup { m } { \keys_set:nn { xpinyin } {#1} }
\clist_map_inline:nn
- { ratio , vsep , hsep , pysep , font , format , multiple }
- { \keys_define:nn { xpinyin } { #1 .tl_set:c = { l_xpinyin_ #1 _tl } } }
+ { ratio , vsep , hsep , pysep , font , format , multiple , footnote }
+ { \keys_define:nn { xpinyin } { #1 .tl_set:c = { l__xpinyin_ #1 _tl } } }
+\keys_define:nn { xpinyin }
+ { footnote .bool_set:N = \l__xpinyin_footnote_bool }
\keys_set:nn { xpinyin }
{
ratio = .4 ,
@@ -372,16 +526,21 @@
\group_begin:
\char_set_catcode_active:N \U
\char_set_catcode_active:N \V
-\cs_set_nopar:Npn U+ #1 ~ #2 ~ { \tl_gset:cn { c_xpinyin_ #1 _tl } {#2} }
-\cs_set_nopar:Npn V+ #1 ~ #2 ~ { \clist_gset:cn { c_xpinyin_multiple_ #1 _clist } {#2} }
-\char_set_catcode_space:N \
-\file_input:n {xpinyin-map.cfg}
+\cs_set_nopar:Npn U+ #1 ~ #2 ~
+ { \tl_gset:cn { c__xpinyin_ #1 _tl } {#2} }
+\cs_set_nopar:Npn V+ #1 ~ #2 ~
+ { \clist_gset:cn { c__xpinyin_multiple_ #1 _clist } {#2} }
+\use:n
+ {
+ \char_set_catcode_space:N \
+ \file_input:n { xpinyin-map.cfg }
+ }
\group_end:
\NewDocumentCommand \setpinyin { m m }
{
\tl_set:cn
- { c_xpinyin_ \xpinyin_CJKchar_to_unicode:n {#1} _tl }
- { \xpinyin_pinyin:n {#2} }
+ { c__xpinyin_ \__xpinyin_char_to_unicode:n {#1} _tl }
+ { \__xpinyin_pinyin:n {#2} }
}
\ProcessKeysOptions { xpinyin }
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xpinyin.tlpobj new/tlpkg/tlpobj/xpinyin.tlpobj
--- old/tlpkg/tlpobj/xpinyin.tlpobj 2013-05-28 17:08:54.000000000 +0200
+++ new/tlpkg/tlpobj/xpinyin.tlpobj 2014-05-19 03:35:03.000000000 +0200
@@ -1,15 +1,15 @@
name xpinyin
category Package
-revision 30699
+revision 34110
shortdesc Automatically add pinyin to Chinese characters.
relocated 1
longdesc The package is written to simplify the input of Hanyu Pinyin.
longdesc Macros are provided that automatically add pinyin to Chinese
longdesc characters.
-runfiles size=156
+runfiles size=157
RELOC/tex/latex/xpinyin/config/xpinyin-map.cfg
RELOC/tex/latex/xpinyin/xpinyin.sty
catalogue-ctan /macros/latex/contrib/xpinyin
-catalogue-date 2013-05-24 12:22:55 +0200
+catalogue-date 2014-05-18 08:21:32 +0200
catalogue-license lppl1.3
-catalogue-version 1.3
+catalogue-version 1.8
++++++ xskak.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/xskak/README new/doc/latex/xskak/README
--- old/doc/latex/xskak/README 2008-07-31 02:32:32.000000000 +0200
+++ new/doc/latex/xskak/README 2014-04-21 00:04:40.000000000 +0200
@@ -1,6 +1,8 @@
xskak --- An extention to the package skak for chess typesetting
-Version 1.1 Ulrike Fischer 2007
+Version 1.3 Ulrike Fischer 2006-2014
+LICENSE
+LaTeX Project Public License
CONTENTS AND INSTALLATION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xskak.doc.tlpobj new/tlpkg/tlpobj/xskak.doc.tlpobj
--- old/tlpkg/tlpobj/xskak.doc.tlpobj 2010-07-15 04:02:56.000000000 +0200
+++ new/tlpkg/tlpobj/xskak.doc.tlpobj 2014-04-22 03:31:20.000000000 +0200
@@ -1,6 +1,6 @@
name xskak.doc
category Package
-revision 19440
+revision 33602
shortdesc doc files of xskak
relocated 1
docfiles size=2
++++++ xskak.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xskak/xskak-keys.sty new/tex/latex/xskak/xskak-keys.sty
--- old/tex/latex/xskak/xskak-keys.sty 2008-10-26 16:44:52.000000000 +0100
+++ new/tex/latex/xskak/xskak-keys.sty 2014-04-22 00:17:48.000000000 +0200
@@ -6,8 +6,8 @@
%%
%% xskak-src.dtx (with options: `xskak-keys')
%%
-%% xskak: an extension to the package skak for chess typesetting
-%% Copyright 2007 Ulrike Fischer (skak@nililand.de)
+%% xskak: a package to parse and print chess games
+%% Copyright 2006-2014 Ulrike Fischer (chess@nililand.de)
%% -------------------------------------------
%%
%% This file can be redistributed and/or modified under the terms of
@@ -16,9 +16,8 @@
%% License, or (at your option) any later version.
%%
%% For error reports see documentation.
-\def\@rcs@ $#1Date: #2-#3-#4 #5$$#6Version: #7$ {
- \ProvidesFile{xskak-keys.sty}[#2/#3/#4 version #7 key definitions for xskak.sty #7]}
-\@rcs@ $Date: 2008-10-20 19:58 +0200 $$Version: v1.2 $
+\ProvidesFile{xskak-keys.sty}[2014/04/21 version v1.3a key definitions for xskak.sty]
+%%$Date: 2011/03/17 16:54:07 $$Version: 041ab49ae0e2 $
%%%%%%%%%%%%%%%%%%%%%
%%%% Keys
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xskak/xskak-nagdef.sty new/tex/latex/xskak/xskak-nagdef.sty
--- old/tex/latex/xskak/xskak-nagdef.sty 2008-10-26 16:44:52.000000000 +0100
+++ new/tex/latex/xskak/xskak-nagdef.sty 2014-04-22 00:17:48.000000000 +0200
@@ -6,8 +6,8 @@
%%
%% xskak-src.dtx (with options: `xskak-nagdef')
%%
-%% xskak: an extension to the package skak for chess typesetting
-%% Copyright 2007 Ulrike Fischer (skak@nililand.de)
+%% xskak: a package to parse and print chess games
+%% Copyright 2006-2014 Ulrike Fischer (chess@nililand.de)
%% -------------------------------------------
%%
%% This file can be redistributed and/or modified under the terms of
@@ -16,9 +16,8 @@
%% License, or (at your option) any later version.
%%
%% For error reports see documentation.
-\def\@rcs@ $#1Date: #2-#3-#4 #5$$#6Version: #7$ {
- \ProvidesFile{xskak-nagdef.sty}[#2/#3/#4 version #7 nag definitions for xskak.sty #7]}
-\@rcs@ $Date: 2008-10-20 19:58 +0200 $$Version: v1.2 $
+\ProvidesFile{xskak-nagdef.sty}[2014/04/21 version v1.3a nag definitions for xskak.sty]
+%%$Date: 2011/03/17 16:54:07 $$Version: 041ab49ae0e2 $
\expandafter\def\csname $1\endcsname{!}
\expandafter\def\csname $2\endcsname{?}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/xskak/xskak.sty new/tex/latex/xskak/xskak.sty
--- old/tex/latex/xskak/xskak.sty 2008-10-26 16:44:52.000000000 +0100
+++ new/tex/latex/xskak/xskak.sty 2014-04-22 00:17:48.000000000 +0200
@@ -6,8 +6,8 @@
%%
%% xskak-src.dtx (with options: `xskak')
%%
-%% xskak: an extension to the package skak for chess typesetting
-%% Copyright 2007 Ulrike Fischer (skak@nililand.de)
+%% xskak: a package to parse and print chess games
+%% Copyright 2006-2014 Ulrike Fischer (chess@nililand.de)
%% -------------------------------------------
%%
%% This file can be redistributed and/or modified under the terms of
@@ -17,9 +17,8 @@
%%
%% For error reports see documentation.
\NeedsTeXFormat{LaTeX2e}
-\def\@rcs@ $#1Date: #2-#3-#4 #5$$#6Version: #7$ {
- \ProvidesPackage{xskak}[#2/#3/#4 version #7 extended Chess typesetting and parsing]}
-\@rcs@ $Date: 2008-10-20 19:58 +0200 $$Version: v1.2 $
+\ProvidesPackage{xskak}[2014/04/21 version v1.3a extended chess typesetting and parsing]
+%%$Date: 2014/04/19 15:40:29 $$Version: 55bde552b81e $
\newif\ifxskakpdfmatch
@@ -79,7 +78,9 @@
nextmovenr,%
nextmoveid,%
diagramlist,%
- gameid}
+ gameid,%
+ parentid%NEW records game id of parent if the game is a variation, the last move of the parent=initmoveid
+ }
\newcommand\xskak@list@movetypes{%
movenr,%
@@ -113,7 +114,9 @@
nag,%
san,%
lan,%
- opennr%%
+ opennr,%
+ vars,% NEW, records game id of child variations
+ varnum% NEW, records number of child variations
}
%% setting pgn infos
@@ -162,6 +165,7 @@
\newboolean{xskakboolpromotion}
\newboolean{xskakboolcomment}
\newboolean{xskakboolnag}
+\newboolean{xskakboolvar}
%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
@@ -267,7 +271,11 @@
\expandafter\xdef
\csname Xskak\xskak@val@gameid nextmovenr\endcsname{\the\c@move}%
\expandafter\xdef
- \csname Xskak\xskak@val@gameid nextmoveid\endcsname{\the\c@move\WhiteToMove{w}{b}}}
+ \csname Xskak\xskak@val@gameid nextmoveid\endcsname{\the\c@move\WhiteToMove{w}{b}}%
+ \expandafter\xdef\csname %new 1.6. Initialization of nag
+ Xskak.\xskak@val@gameid.%
+ \csname Xskak\xskak@val@gameid lastmovenr\endcsname.%
+ \csname Xskak\xskak@val@gameid lastplayer\endcsname.nag\endcsname{}}
%% continuing a game
\newcommand\resumechessgame[1][]{%
@@ -525,6 +533,9 @@
%%% move related informations
%%%% <type> <value>
+%%%% vars list of game id of variations. Is set to empty by \xskak@do@dothemove. Can be
+%%%% change by variation games to notify the "parent" about its "child"
+%%%% varnum record the number of variations of the move. Set to 0 by \xskak@do@dothemove.
%%%% pgnpiece K,Q,R,B or N (independent from language). Is empty for Pawn and Castling moves
%%%% piece K,Q,R,B,N or P or k,q,r,b,n or p (for black). Is empty for Castling
%%%% piecechar K,Q,R,B,N or p. Is empty for Castling
@@ -560,7 +571,7 @@
%%%% \castlingchar\castlinghyphen\castlingchar
%%%% lan long algebraic notation of the move.
%%%% opennr The number representation for an open move e.g. 2...
-%%% Game related informations. Don't use @ or "." to simply use by the user
+%%% Game related informations. Don't use @ or "." to simplify use by the user
%%%% gameid stores the gameid (for easier retrieving)
%%%% initfen The fen before the first move. Set by \newchessgame
%%%% initplayer w or b, The color of the next (first) player.
@@ -591,6 +602,14 @@
\setkeys[UFCB]{locfill}{setfen=\temp@board}%
%\expandafter\show\csname board@val@f4r4@piecechar\endcsname
%===========%
+ %% vars + varnum
+ \expandafter\xdef
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.vars\endcsname{}%
+ %\expandafter\show\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.vars\endcsname
+ \expandafter\xdef
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.varnum\endcsname{0}%
+ %\expandafter\show\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.varnum\endcsname
+ %===========%
%% pgnpiece
\expandafter\xdef
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.pgnpiece\endcsname{%
@@ -763,7 +782,10 @@
%% new naming, changed to boolean
\begingroup
\WhiteToMove%
- {\ifthenelse%white enpassant
+ {\ifthenelse%
+ {\equal{\csname Xskak.\xskak@val@gameid.\the\c@move.w.piecechar\endcsname}{p}}
+ {% pawn move:
+ \ifthenelse%white enpassant
{\equal
{\csname Xskak.\xskak@val@gameid.\the\c@move.w.moveto\endcsname}%
{\csname Xskak.\xskak@val@gameid.\the\numexpr\the\c@move-1\relax.b.enpassantsquare\endcsname}}%
@@ -775,7 +797,14 @@
{\expandafter\xdef
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
{\noexpand\setboolean{xskakboolenpassant}{false}}}}%
- {\ifthenelse%black enpassant
+ {\expandafter\xdef
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
+ {\noexpand\setboolean{xskakboolenpassant}{false}}}%
+ }%
+ {\ifthenelse
+ {\equal{\csname Xskak.\xskak@val@gameid.\the\c@move.b.moveto\endcsname}{p}}
+ {%pawn move:
+ \ifthenelse%black enpassant
{\equal
{\csname Xskak.\xskak@val@gameid.\the\c@move.b.moveto\endcsname}%
{\csname Xskak.\xskak@val@gameid.\the\c@move.w.enpassantsquare\endcsname}}%
@@ -786,8 +815,11 @@
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.lostpiece\endcsname{P}}%
{\expandafter\xdef
\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
- {\noexpand\setboolean{xskakboolenpassant}{false}}}%
- }%
+ {\noexpand\setboolean{xskakboolenpassant}{false}}}}%
+ {\expandafter\xdef
+ \csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
+ {\noexpand\setboolean{xskakboolenpassant}{false}}}}%
+ %
\endgroup
%\expandafter\show\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.enpassant\endcsname
%\expandafter\show\csname Xskak.\xskak@val@gameid.\the\c@move.\WhiteToMove{w}{b}.lostpiece\endcsname
@@ -992,7 +1024,7 @@
%% tests if the argument is \xskakcomment{...}
\def\xskak@test@comment#1=\xskakcomment#2=={%
\def\@tempa{#1}%
- \ifx\@tempa\empty%#1 beginnt mit \chesscomment
+ \ifx\@tempa\empty%#1 beginnt mit \xskakcomment
\setboolean{xskakboolcomment}{true}%
\else
\setboolean{xskakboolcomment}{false}%
@@ -1027,7 +1059,7 @@
}}%
{}%variation
\PrintMoves{{\xskak@beforecomment{#1}}}{}%
- \Mainline(#2)%
+ \xskak@do@parsemainline(#2)%
\else
\xskak@test@nag#1YXX%
\ifthenelse%
@@ -1072,10 +1104,11 @@
{{\xskak@beforeNAG{\csname#1\endcsname}}}}%
%\expandafter\show\csname Xskak.\xskak@val@gameid.\the\c@move.w.nag\endcsname
}}%
+ {}%variation
\PrintMoves{{\xskak@beforeNAG{\csname#1\endcsname}}}{}%
- \Mainline(#2)}%
+ \xskak@do@parsemainline(#2)}%
{\EqStr{ }{#1}%
- {\Mainline(#2)}%
+ {\xskak@do@parsemainline(#2)}%
{%
\EqStr{Z}{#1}%
{}%
@@ -1085,14 +1118,15 @@
% number with a space, eg, 1.e4
%{\gdef\NumberNext{\False}\Mainline(#2)}%
%\gdef\NumberNext{\False}%
- \Mainline(#2)}%
+ \xskak@do@parsemainline(#2)}%
{\Fen@calculate% 16.10.2008 skak1.5
\expandafter\xdef\csname chessgame.skak.temp.previous\endcsname{\temp@board}%16.10.2008 skak1.5
\MakeMoveMainline{#1}%
- \Mainline(#2)}}}}%
+ \xskak@do@parsemainline(#2)}}}}%
\fi}
%% overwrite the skak version:
+%% currently needed as \runmoves use \Mainline
\let\Mainline\xskak@do@parsemainline
%% Printing
@@ -1317,6 +1351,7 @@
\newcommand\printchessgame[1][]{%
\setkeys*[UFXS]{print}{#1}%set style and level
+ \leavevmode%UF 2012-09-10 to allow wrapping around wrapfigure
\begingroup
\setkeys*[UFXS]{xprint}{#1}%% getting the id
\xdef\xskak@val@movenr{%
@@ -1428,7 +1463,7 @@
\gdef\StoreLastMove{\False}%
{\variationstyle\opencommands%
\variationmovemode
- \Mainline(#1 Z )%
+ \xskak@do@parsemainline(#1 Z )%
\closecommands}}
%%% Read/store commands
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xskak.tlpobj new/tlpkg/tlpobj/xskak.tlpobj
--- old/tlpkg/tlpobj/xskak.tlpobj 2010-07-15 04:02:56.000000000 +0200
+++ new/tlpkg/tlpobj/xskak.tlpobj 2014-04-22 03:31:20.000000000 +0200
@@ -1,6 +1,6 @@
name xskak
category Package
-revision 19440
+revision 33602
shortdesc An extension to the skak package for chess typesetting.
relocated 1
longdesc Xskak, as its prime function, saves information about a chess
@@ -13,6 +13,6 @@
RELOC/tex/latex/xskak/xskak-nagdef.sty
RELOC/tex/latex/xskak/xskak.sty
catalogue-ctan /macros/latex/contrib/xskak
-catalogue-date 2008-10-20 22:21:01 +0200
+catalogue-date 2014-04-21 13:18:36 +0200
catalogue-license lppl
-catalogue-version 1.2
+catalogue-version 1.3a
++++++ xstring.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xstring/README new/doc/generic/xstring/README
--- old/doc/generic/xstring/README 2013-03-02 02:10:22.000000000 +0100
+++ new/doc/generic/xstring/README 2013-10-15 00:27:00.000000000 +0200
@@ -1,8 +1,8 @@
_________________
xstring package
- v 1.7a
- 2013/2/28
+ v 1.7c
+ 2013/10/13
_________________
This package provides macros manipulating strings for programming use.
Files old/doc/generic/xstring/xstring_doc_en.pdf and new/doc/generic/xstring/xstring_doc_en.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xstring/xstring_doc_en.tex new/doc/generic/xstring/xstring_doc_en.tex
--- old/doc/generic/xstring/xstring_doc_en.tex 2013-01-15 00:32:42.000000000 +0100
+++ new/doc/generic/xstring/xstring_doc_en.tex 2013-10-15 00:27:00.000000000 +0200
@@ -1,6 +1,6 @@
% This is xtring_doc_en.tex, the english manual of xstring
%
-% Christian Tellechea 2009
+% Christian Tellechea 2008-2013
%
% email : unbonpetit@gmail.com
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28,7 +28,7 @@
\usepackage{listings}
\usepackage{xstring}
\usepackage[bottom]{footmisc}
-\usepackage[french]{babel}
+\usepackage[english]{babel}
\makeatletter
\definecolor{@xs@bckgcolor}{rgb}{1,1,0.9}
\definecolor{@xs@keywordsxstring}{rgb}{0.7,0,0}
@@ -108,7 +108,7 @@
\newcommand\colorise{\color{violet}}
\begin{document}
-\def:{\string:}
+
\setlength{\parindent}{0pt}
\begin{titlepage}
\null\par\vfill
@@ -175,7 +175,7 @@
\subsection{Description}
This extension\footnote{This extension does not require \LaTeX{} and can be compiled with Plain $\varepsilon$-\TeX{}.} provides macros and tests operating on "strings of tokens", as other programmation languages have. They provides the usual strings operations, such as: test if a string contains another, begins or ends with another, extractions of strings, calculation of the position of a substring, of the number of occurrences, etc.\medskip
-A "string of tokens" is a list of tokens of any nature, except that braces must be balanced and tokens catcode 6 and 14 (usualy \verb|%| et \verb|#|) are not allowed. Apart from this, any token is allowed (including \verbinline|\par|), in any order in the list, whatever be the resulting code.\medskip
+A "string of tokens" is a list of tokens of any nature, except that braces must be balanced and tokens catcode 6 and 14 (usualy \verb|%| and \verb|#|) are not allowed. Apart from this, any token is allowed (including \verbinline|\par|), in any order in the list, whatever be the resulting code.\medskip
\Xstring reads the arguments of the macros \US by \US\footnote{In the \TeX{} code, a \US is a control sequence, a group between brace or a single char. See also page~\pageref{developpementarguments}.} : when \USs are \guill{simple} chars (catcode 10, 11 and 12), \Xstring logically read the argument char by char. \Xstring can also be used for programming purpose, including in arguments other tokens such as control sequences, braces and tokens with other catcodes. See chapter on reading mode and arguments expansion (page~\pageref{developpementarguments}), the command \verbinline|\verbtocs| (page~\pageref{verbtocs}) and the command \verbinline|\scancs| (page~\pageref{scancs}).\medskip
@@ -691,11 +691,11 @@
\subsubsection{\ttfamily\textbackslash StrCut}
Here is the syntax of this macro:\par\nobreak\smallskip
-\verbinline|\StrCut|\etoile\arguC{nunber}\ARGU{string}\ARGU{stringA}\ARGU{macroA}\ARGU{macroB}
+\verbinline|\StrCut|\etoile\arguC{number}\ARGU{string}\ARGU{stringA}\ARGU{macroA}\ARGU{macroB}
\smallskip
The optional argument \argu{number} is 1 by default.\par\nobreak\smallskip
-The \argu{string} is cut in two parts at the occurrence \no\arguC{number} of \ARGU{stringA}. The left part is stored in the control sequence \argu{macroA} and the right part in \argu{macroB}.
+The \argu{string} is cut in two parts at the occurrence \arguC{number} of \ARGU{stringA}. The left part is stored in the control sequence \argu{macroA} and the right part in \argu{macroB}.
Since this macro returns \emph{two strings}, it does \emph{not} display anything. Consequently, it does not provide the optional argument in last position.\medskip
@@ -1007,7 +1007,7 @@
\item If \argu{string} is empty, an empty string is returned;
\item If \argu{numberA}${}>{}$\argu{numberB}, an empty string is returned;
\item If \argu{numberA}${}<1$ and \argu{numberB}${}<1$ an empty string is returned;
-\item If \argu{numberA}${}>{}$\argu{lengthString} et \argu{numberB}${}>{}$\argu{lengthString}, an empty string is returned;
+\item If \argu{numberA}${}>{}$\argu{lengthString} and \argu{numberB}${}>{}$\argu{lengthString}, an empty string is returned;
\item If \argu{numberA}${}<1$, the macro behaves as if \argu{numberA}${}=1$;
\item If \argu{numberB}${}>{}$\argu{lengthString}, the macro behaves as if \argu{numberB}${}={}$\argu{lengthString}.
\end{Conditions}
@@ -1194,7 +1194,7 @@
\subsubsection{The commands {\ttfamily \textbackslash fullexpandarg}, {\ttfamily \textbackslash expandarg} and {\ttfamily \textbackslash noexpandarg}}
The command \verbinline|\fullexpandarg| is called by default, so all the arguments are fully expanded (an \verbinline|\edef| is used) before the the macro works on them. In most of the cases, this expansion mode avoids chains of \verbinline|\expandafter| and allows lighter code.
-Of course, the expansion of argument can be canceled to find back the usual behaviour of \TeX{} with the comands \verbinline|\noexpandarg| or \verbinline|\normalexpandarg|.\medskip
+Of course, the expansion of argument can be canceled to find back the usual behaviour of \TeX{} with the commands \verbinline|\noexpandarg| or \verbinline|\normalexpandarg|.\medskip
Another expansion mode can be called with \verbinline|\expandarg|. In this case, the \textbf{first token} of each argument is expanded \emph{one time} while all other tokens are left unchanged (if you want the expansion of all tokens one time, you should call the macro \verbinline|\StrExpand|, see page~\pageref{scancs}).\medskip
@@ -1378,9 +1378,9 @@
\end{minipage}%
\medskip
-Exploring the groups\footnote{The file test of \Xstring has many examples underlining differences between exploration modes.} can change the behaviour of most of the macros of \Xstring, excepted these macros untouched by the exploration mode; their behaviour is the same in any case: \verbinline|\IfInteger|, \verbinline|\IfDecimal|, \verbinline|\IfStrEq|, \verbinline|\StrEq| et \verbinline|\StrCompare|.
+Exploring the groups\footnote{The file test of \Xstring has many examples underlining differences between exploration modes.} can change the behaviour of most of the macros of \Xstring, excepted these macros untouched by the exploration mode; their behaviour is the same in any case: \verbinline|\IfInteger|, \verbinline|\IfDecimal|, \verbinline|\IfStrEq|, \verbinline|\StrEq| and \verbinline|\StrCompare|.
-Moreover, 2 macros run in \verbinline|\noexploregroups| mode, whatever be the current mode: \verbinline|\StrBetween| et \verbinline|\StrMid|.\medskip
+Moreover, 2 macros run in \verbinline|\noexploregroups| mode, whatever be the current mode: \verbinline|\StrBetween| and \verbinline|\StrMid|.\medskip
It is possible to save the exploration mode with \verbinline|\saveexploremode|, then modify it and come back to the situation when it was saved with \verbinline|\restoreexploremode|.
@@ -1865,7 +1865,7 @@
By this way, \verbinline|\empty| is a way to "hack" \verbinline|\expandarg|: it allows to avoid the expansion of all the other tokens. The control sequence \verbinline|\noexpand| can be used instead of \verbinline|\empty| for the same result.
-\subsubsection{Exemple 2}
+\subsubsection{Example 2}
Here, we try to write a macro which gobbles \verb|n| \USs in a string from a given position, and assigns the result to a control sequence.
Let's call this macro \verb|StringDel| and let's give it this syntax:\par\nobreak
Files old/doc/generic/xstring/xstring_doc_fr.pdf and new/doc/generic/xstring/xstring_doc_fr.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xstring.doc.tlpobj new/tlpkg/tlpobj/xstring.doc.tlpobj
--- old/tlpkg/tlpobj/xstring.doc.tlpobj 2013-03-02 04:37:24.000000000 +0100
+++ new/tlpkg/tlpobj/xstring.doc.tlpobj 2013-10-15 03:21:22.000000000 +0200
@@ -1,9 +1,9 @@
name xstring.doc
category Package
-revision 29258
+revision 31900
shortdesc doc files of xstring
relocated 1
-docfiles size=173
+docfiles size=172
RELOC/doc/generic/xstring/README
RELOC/doc/generic/xstring/xstring_doc_en.pdf
RELOC/doc/generic/xstring/xstring_doc_en.tex
++++++ xstring.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/generic/xstring/xstring.tex new/tex/generic/xstring/xstring.tex
--- old/tex/generic/xstring/xstring.tex 2013-03-02 02:10:22.000000000 +0100
+++ new/tex/generic/xstring/xstring.tex 2013-10-15 00:27:00.000000000 +0200
@@ -1,9 +1,9 @@
% __________________________________________________
% | |
% | |
-% | xstring v1.7a |
+% | xstring v1.7c |
% | |
-% | 28 f\'evrier 2013 |
+% | 13 octobre 2013 |
% | |
% |__________________________________________________|
%
@@ -33,10 +33,10 @@
%
% The Current Maintainer of this work is Christian Tellechea
% -------------------------------------------------------------------
-\def\xstringversion {1.7a}
-\def\xstringdate {2013/2/28}
-\def\xstringfrenchdate {28 f\'evrier 2013}
-\def\xstringenglishdate {$28^{\mathrm{th}}$ february 2013}
+\def\xstringversion {1.7c}
+\def\xstringdate {2013/10/13}
+\def\xstringfrenchdate {13 octobre 2013}
+\def\xstringenglishdate {13 october 2013}
\edef\CurrentAtCatcode {\the\catcode`\@}
\catcode`\@=11
\newwrite\@xs@message% canal pour les messages
@@ -44,7 +44,7 @@
\newcount\decimalpart% compteurs utilis\'es par xstring
\expandafter\ifx\csname @latexerr\endcsname\relax% on n'utilise pas LaTeX ?
- \immediate\write\m@ne{Package: xstring \xstringdate\space\space v\xstringversion\space\space String manipulations (C Tellechea)}%
+ \immediate\write\m@ne{Package: xstring \xstringdate\space\space v\xstringversion\space\space String manipulations}%
\long\def\@firstoftwo#1#2{#1}
\long\def\@secondoftwo#1#2{#2}
\long\def\@gobble#1{}
@@ -724,7 +724,7 @@
{\def\@xs@reserved@E{\IfStrEq}\@xs@IfStrCase}%
}
-\def\@xs@IfStrCase#1#2{\@testopt{\@xs@IfStringCase{#1}{#2}}{}}
+\long\def\@xs@IfStrCase#1#2{\@testopt{\@xs@IfStringCase{#1}{#2}}{}}
\def\IfEqCase{%
\@ifstar
@@ -735,7 +735,7 @@
\long\def\@xs@IfEqCase#1#2{\@testopt{\@xs@IfStringCase{#1}{#2}}{}}
\long\def\@xs@IfStringCase#1#2[#3]{%
- \def\@xs@testcase##1##2##3\@xs@nil{% lit les 2 premieres unit\'es syntaxiques dans ##1 et ##2. Les autres dans ##3
+ \long\def\@xs@testcase##1##2##3\@xs@nil{% lit les 2 premieres unit\'es syntaxiques dans ##1 et ##2. Les autres dans ##3
\@xs@reserved@E{#1}{##1}%
{##2}% le test est positif, on ex\'ecute le code correspondant
{\@xs@ifempty{##3}%
@@ -1265,7 +1265,7 @@
% toutes les macros r\'ecursives, simplification de \@xs@TestEqual en
% utilisant \ifx
% - Nouvelles macros \IfStrEqCase et \IfEqCase
-% Teste si une chaîne est \'egale \`a plusieurs chaînes donn\'ee et
+% Teste si une chaîne est \'egale \`a plusieurs cha\^ines donn\'ee et
% ex\'ecute un code sp\'ecifique
% - Cr\'eation de la macro publique \StrSplit
% Coupe la chaine en 2 \`a une position donn\'ee
@@ -1380,4 +1380,10 @@
% - Les macros de xstring sont \long
%------------------------------------------------------------------------------
% v1.7a 28/2/2013
-% - Correction d'un espace parasite dans \@xs@removefirstsyntaxunit
\ No newline at end of file
+% - Correction d'un espace parasite dans \@xs@removefirstsyntaxunit
+%------------------------------------------------------------------------------
+% v1.7b 29/7/2013
+% - La date contenue dans \xstringdate est désormais conforme
+%------------------------------------------------------------------------------
+% v1.7c 13/10/2013
+% - les macros impliquées dans \IfStrCase et \IfStrEqCase sont désormais \long
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/xstring.tlpobj new/tlpkg/tlpobj/xstring.tlpobj
--- old/tlpkg/tlpobj/xstring.tlpobj 2013-03-02 04:37:25.000000000 +0100
+++ new/tlpkg/tlpobj/xstring.tlpobj 2013-10-15 03:21:23.000000000 +0200
@@ -1,6 +1,6 @@
name xstring
category Package
-revision 29258
+revision 31900
shortdesc String manipulation for (La)TeX.
relocated 1
longdesc The package provides macros for manipulating strings -- testing
@@ -14,6 +14,6 @@
RELOC/tex/generic/xstring/xstring.sty
RELOC/tex/generic/xstring/xstring.tex
catalogue-ctan /macros/generic/xstring
-catalogue-date 2013-02-28 13:49:00 +0100
+catalogue-date 2013-10-14 17:06:24 +0200
catalogue-license lppl
-catalogue-version 1.7a
+catalogue-version 1.7c
++++++ xypic.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xypic/CATALOG new/doc/generic/xypic/CATALOG
--- old/doc/generic/xypic/CATALOG 2012-05-25 01:48:37.000000000 +0200
+++ new/doc/generic/xypic/CATALOG 2013-10-08 01:06:54.000000000 +0200
@@ -1,5 +1,5 @@
Name: xypic
-Version: 3.8.8 <2012/05/24>
+Version: 3.8.9 <2013/10/06>
Description: Xy-pic is a package for typesetting graphs and diagrams.
It is structured as several modules, each defining a custom notation for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xypic/MANIFEST new/doc/generic/xypic/MANIFEST
--- old/doc/generic/xypic/MANIFEST 2012-05-25 01:48:37.000000000 +0200
+++ new/doc/generic/xypic/MANIFEST 2013-10-08 01:06:54.000000000 +0200
@@ -1,230 +1,232 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
-d3d24b4d31697c42a857bd962a88f769 xy-3.8.8/Xy-logo.png
-c594e0fe79bb40b131274d94be0ff2a8 xy-3.8.8/TRAILER
-5a2f49026e45ce60bda9433458928e1b xy-3.8.8/afm/xycirc10.afm
-62f3dbe83741cd20df23a1389065a586 xy-3.8.8/afm/xycmat10.afm
-708158647760cb7c47919246488fd2b1 xy-3.8.8/afm/xyluat10.afm
-d56666475b43a2342b148b56a1776c46 xy-3.8.8/afm/xyluat11.afm
-6e1667719090907ebb5dd1ec49b3faf5 xy-3.8.8/afm/xyeubt10.afm
-444c7c39c85fabf5da2f3cebe5c4caec xy-3.8.8/afm/xycmbt11.afm
-53eb4c8f85216d353a4ccade9251e963 xy-3.8.8/afm/xycmbt12.afm
-842a7f2ad594849d69205ef7f1555ef1 xy-3.8.8/afm/xycmat11.afm
-71bade95fb801fe490b6e5d90054311d xy-3.8.8/afm/xydash10.afm
-a945dbfedf5e6e871ea1f3bf2a2d474b xy-3.8.8/afm/xycmbt10.afm
-22f9fa173fe0f2dcddc3811bce1c81d5 xy-3.8.8/afm/xyeuat12.afm
-0117fa8cd462dc36830d4067e2dbe523 xy-3.8.8/afm/xyatip10.afm
-52e88ae46e4fca29a09f25f8ef5046ce xy-3.8.8/afm/xyeuat10.afm
-0c9084b8a0b2dab88764bfe28c4d292a xy-3.8.8/afm/xylubt11.afm
-f0ff9c471c487229fe2e4a6b482625fc xy-3.8.8/afm/xyeuat11.afm
-92fafa5c8120ec32464159aede180e7e xy-3.8.8/afm/xylubt12.afm
-7fd8f3fb0fe7207ea50b94c2648bf8e1 xy-3.8.8/afm/xycmat12.afm
-9a581ae78bf0d94d1f9095e84a354bfe xy-3.8.8/afm/xybsql10.afm
-d1451be247a9306b376197ef79d52459 xy-3.8.8/afm/xylubt10.afm
-13780c9ad7ba99b0e78b924b50bbdd53 xy-3.8.8/afm/xyluat12.afm
-1b44cdf5e61c87f5539a20115e28c780 xy-3.8.8/afm/xyeubt11.afm
-800824fc6489b0116eaf89a5698b9cdb xy-3.8.8/afm/xybtip10.afm
-364581905f82e20b85486d8838d9ff03 xy-3.8.8/afm/xyeubt12.afm
-f273afe7e14b9bb4829bbe725b375570 xy-3.8.8/Xy-pic.html
-505a4ca827d147506095b5e075a9f2ef xy-3.8.8/VERSIONS
-b234ee4d69f5fce4486a80fdaf4a4263 xy-3.8.8/COPYING
-0c88948817b3abffee2028de5720a41f xy-3.8.8/ps/xy388dict.pro
-42c2cee117438240570127cb66ad9fe9 xy-3.8.8/map/xypic.map
-6f0a09e5168ce9933a13549a306db3c3 xy-3.8.8/mfinputs/xyd.mf
-ed7e9166aef5bac3b8bd0f781a8a77c0 xy-3.8.8/mfinputs/xybsql10.mf
-750c660b6d0ee05a98a43ab75882118f xy-3.8.8/mfinputs/xycmat12.mf
-65db02dd96922bc88ece443db561b9b8 xy-3.8.8/mfinputs/xylu.mf
-81b94c8c7a5edfcfe2e8efa8390d1fad xy-3.8.8/mfinputs/xyeuat12.mf
-396029b313c1d5a51aa62689485c3946 xy-3.8.8/mfinputs/xyatri.mf
-23e380dc02b5b1e367107265daca4d59 xy-3.8.8/mfinputs/xyluat11.mf
-2c6dc4f84512f8af8254d533c5b74eb6 xy-3.8.8/mfinputs/xymisc10.mf
-1fd35dd064c8773d14a2f6c10904d1f3 xy-3.8.8/mfinputs/xyluat12.mf
-ec9c5c57cbe11ad2f8a65e0fee40f07d xy-3.8.8/mfinputs/xycmat11.mf
-47b1e0699a22fbc602fb5ed90109d68d xy-3.8.8/mfinputs/xybtip10.mf
-f3b0803a58bc0bc2ff4871278c722cf2 xy-3.8.8/mfinputs/xyeubt11.mf
-097a4b3c290b19bf5c09cab26fd81752 xy-3.8.8/mfinputs/xycmbt12.mf
-85f828fa67af5f257bf4c2e250b3e646 xy-3.8.8/mfinputs/xylubt11.mf
-a720ddab53c52aed1d9d184b789fcc50 xy-3.8.8/mfinputs/xyeubt10.mf
-c72ee4a8c80bbd94a3f106f867898e70 xy-3.8.8/mfinputs/xyeubt12.mf
-1c48bb2080f4fc76a338d46f303caea4 xy-3.8.8/mfinputs/xytech.mf
-c5094f25e9ef643693e3cb39169b70dd xy-3.8.8/mfinputs/xyatip10.mf
-d500feb421bbb8828b1f65c27738eaed xy-3.8.8/mfinputs/xyline10.mf
-e5b7039affcba01d09fd1ba8670c29e7 xy-3.8.8/mfinputs/xyeuat11.mf
-d2f4ce1df3c1bdf434fe4088b95b7ca8 xy-3.8.8/mfinputs/xyluat10.mf
-e8fa720da1935ba850f3f5876a2ba780 xy-3.8.8/mfinputs/xybtri.mf
-8a38747b2cebaae3a51ade8259d2842e xy-3.8.8/mfinputs/xycm.mf
-168ff060ac2ff811c572684a442cba30 xy-3.8.8/mfinputs/xyatip.mf
-d0e1478e812ec8122370bf104eeecbed xy-3.8.8/mfinputs/xycirc10.mf
-b542f59d13fb9fb5c0abe9e00dd2aa35 xy-3.8.8/mfinputs/xylubt12.mf
-e1ca9c39718c95d435564b07506ec0c0 xy-3.8.8/mfinputs/xyeuat10.mf
-2cd5f8127c7fd54faf3014bb39443549 xy-3.8.8/mfinputs/xylubt10.mf
-572f3ac95b7612e6117929dff3953290 xy-3.8.8/mfinputs/xyd2.mf
-b67a1a09c063cfa92a1d0a222a5e0ee1 xy-3.8.8/mfinputs/xycmbt11.mf
-85f74cb0e6f4d7e06d7346f0dd0a4bbe xy-3.8.8/mfinputs/xycmat10.mf
-6e23c28e708557bd25ba219b41b53331 xy-3.8.8/mfinputs/xycmbt10.mf
-13cb4b0558fd30e72372aae3e548492f xy-3.8.8/mfinputs/xyqc10.mf
-df1f6d78735463cd024f124181bd2442 xy-3.8.8/mfinputs/xybtip.mf
-5a2ed4dd03a4dedc29bc344c58e0d3a4 xy-3.8.8/mfinputs/xydash10.mf
-9b38600264beb943d9a5f8e1038a0800 xy-3.8.8/mfinputs/xyeuler.mf
-5ad4d52a4bd04bae23ca548c793c5c3f xy-3.8.8/enc/xyd2.enc
-49cd4c2d54e7a7fccf078e946f586f8b xy-3.8.8/enc/xyd.enc
-81499e8f6fc4029878adc87117df6452 xy-3.8.8/enc/xycirc.enc
-49ee732d2e9869aeee54e89fb375734b xy-3.8.8/CATALOG
-22731edd09c02c712aad0641d6cbd5f6 xy-3.8.8/type1/xycmbt12.pfb
-d7d24b5c29b4527c47f15b2c9f04004d xy-3.8.8/type1/xyluat10.pfb
-5face906b25c02f541bbce7b0e4ddc55 xy-3.8.8/type1/xycmat12.pfb
-4c2a7a8851733704131da6a61c388300 xy-3.8.8/type1/xyeuat12.pfb
-b0c1299f1ec1908dbc1c252260fcb671 xy-3.8.8/type1/xyeubt12.pfb
-9e78bd530ca3184066cb684356fc87f4 xy-3.8.8/type1/xylubt10.pfb
-705ecd8905a8ea83ef46c2adda6dd715 xy-3.8.8/type1/xyatip10.pfb
-ceae2fd211e812c9c61f5230defbb640 xy-3.8.8/type1/xylubt11.pfb
-262ed15df15ab962c0080845fb530da6 xy-3.8.8/type1/xybsql10.pfb
-2df479a101888b9a50f71639fa24d824 xy-3.8.8/type1/xyeuat11.pfb
-d291cb79fbc78b090a427a7d8dd52a92 xy-3.8.8/type1/xycmat11.pfb
-5bbc7a8e7ec88d20084e094e4007451c xy-3.8.8/type1/xybtip10.pfb
-342a36316b2ebc036b602a7bd39c2991 xy-3.8.8/type1/xyeuat10.pfb
-fa5c186f3f3d5ca74249b1e936e02c3d xy-3.8.8/type1/xyeubt10.pfb
-bd836aeefd398ed4aff234731d73b583 xy-3.8.8/type1/xylubt12.pfb
-bc5819ec2c5737b2e299af72c58b88c5 xy-3.8.8/type1/xycmbt11.pfb
-a1fec917bcdf5dc05e3f20109483b388 xy-3.8.8/type1/xyluat12.pfb
-e462dca5f0ec806308b42d0b33a2e0f5 xy-3.8.8/type1/xydash10.pfb
-b240c41c9911c8fe455b49f6a5c443e0 xy-3.8.8/type1/xyeubt11.pfb
-6f506f7abbdfde0ba4f8d6dc4ff83254 xy-3.8.8/type1/xycmbt10.pfb
-2eeebbdc9267caca6dc59f971fd6e20b xy-3.8.8/type1/xyluat11.pfb
-e9f8627ef9419354eb465ecf990b75a9 xy-3.8.8/type1/xycmat10.pfb
-2abb6e442d7db42b36119af7a4eef0cc xy-3.8.8/type1/xycirc10.pfb
-73675ef1a27060820519d64fd3b6f30d xy-3.8.8/pfm/xyluat10.pfm
-b3690ad54c4697def0a97c918ae6b0b0 xy-3.8.8/pfm/xyluat11.pfm
-5db87f0854910957f22984b708df7813 xy-3.8.8/pfm/xylubt10.pfm
-e1553c003ecef657cdbfb677d0cf5ed4 xy-3.8.8/pfm/xybtip10.pfm
-c00c6c275bcd04117868c1549e1462b4 xy-3.8.8/pfm/xycirc10.pfm
-5f6b0be60406f52f0275291092d8f0ed xy-3.8.8/pfm/xyeubt11.pfm
-72fb9a8708a34b824b31013e579c8eac xy-3.8.8/pfm/xylubt12.pfm
-071c2ec81bcb9dd979bb10d54c1b798b xy-3.8.8/pfm/xyeuat12.pfm
-889082ec9f6a030747c2d6469d69af59 xy-3.8.8/pfm/xyeuat11.pfm
-3d93070f6576510f7f0c6216cc1b7589 xy-3.8.8/pfm/xybsql10.pfm
-2943776ab22ce98707fa2f07a8da7fd0 xy-3.8.8/pfm/xycmat12.pfm
-3ebb0bf4e60ff34ddea2704f5fb9ce99 xy-3.8.8/pfm/xyeuat10.pfm
-a9007420f6f23b4da628f8ecef1a784e xy-3.8.8/pfm/xyluat12.pfm
-3fb863aa407e1f5a5007cc02c4699dfa xy-3.8.8/pfm/xycmat10.pfm
-ab9dfd9bd2a05fb832d2db5a339a114c xy-3.8.8/pfm/xycmbt11.pfm
-0e885a2cc5037479ef8aa968b55ded2e xy-3.8.8/pfm/xyatip10.pfm
-30495f8732b1dffe5cbbe6a5c41d466c xy-3.8.8/pfm/xycmbt12.pfm
-1e1caedea41305cec0272a9d18094fba xy-3.8.8/pfm/xydash10.pfm
-3c1fa54ed6895a8b3cc8f4ffccbc421e xy-3.8.8/pfm/xycmat11.pfm
-7f91d36b0b828f1933cec012fa6a30e8 xy-3.8.8/pfm/xylubt11.pfm
-a74b854d2f4cada4906be88fe92c7d78 xy-3.8.8/pfm/xyeubt10.pfm
-c8fd1de6f257b82a23cc316b441d779c xy-3.8.8/pfm/xyeubt12.pfm
-ef3ca783ad99514d664dfb320b50b837 xy-3.8.8/pfm/xycmbt10.pfm
-c8603d98d3a55ecb74d439e6abba791c xy-3.8.8/texinputs/xy16textures.tex
-ad325e351be74f7bcaa1bc1c81eebd06 xy-3.8.8/texinputs/xyoztex.tex
-c335c5dc674b95bb786b74396ffce83d xy-3.8.8/texinputs/xytile.tex
-b7e4d9a6936ba2ad6119a280abde9641 xy-3.8.8/texinputs/xygraph.tex
-f48057783f0327dc9f0b2ed8ed948918 xy-3.8.8/texinputs/xypoly.tex
-b53bbf23a56f2c543207ff92c94ce94a xy-3.8.8/texinputs/xyps-t.tex
-6511906ab396486a3d70e9be8e789397 xy-3.8.8/texinputs/xyxdvi.tex
-8a83c6b5fad6b75e43169805d37efcef xy-3.8.8/texinputs/xysmart.tex
-1575250bfcedf61f8b4181e09ad0659e xy-3.8.8/texinputs/xypicture.tex
-125a67de88ccbd0e0283f67b83f9855f xy-3.8.8/texinputs/xynecula.tex
-1ee562fde0b53c9cd16f7a604f33fdf0 xy-3.8.8/texinputs/xyidioms.tex
-a0ca4f0babb67cf5a136634e656e8eaa xy-3.8.8/texinputs/xytpic.tex
-0a14e40ec06c8e7b7cb4ca7316cf5eff xy-3.8.8/texinputs/xyps-ps.tex
-b051b6278342f915daceaf554e3ade5f xy-3.8.8/texinputs/xypsdict.tex
-d412ee1ff259daefee5e927172e2f9a8 xy-3.8.8/texinputs/xycurve.tex
-32ef3b517aa860b1d253bb3ecc1a1686 xy-3.8.8/texinputs/xydvidrv.tex
-1445855973f58d3d2f34be51b4c796f1 xy-3.8.8/texinputs/xypspatt.tex
-56634caf2c052b7cf236621f31dfb1bf xy-3.8.8/texinputs/xy.tex
-904907c40950fade6b43f89606792d9b xy-3.8.8/texinputs/movie.cls
-ed63dd19c6d3ab5dc21a7fea2432c167 xy-3.8.8/texinputs/xypic.tex
-a26f363497b268d896fe6f9b293e55a6 xy-3.8.8/texinputs/xytp-f.tex
-cb768d8d63a12d35607cbb3c4e7ba163 xy-3.8.8/texinputs/xyrotate.tex
-28134012dafb2972d4c32eb8af3edb2e xy-3.8.8/texinputs/xyarc.tex
-2116ea6e35d010eb5873cf4a0d4321e3 xy-3.8.8/texinputs/xytextures.tex
-25a964ebb390bcfcd35c040f477eef1d xy-3.8.8/texinputs/xypdf-cu.tex
-f44bd717e744dd46e14a440829de701c xy-3.8.8/texinputs/xyps-pro.tex
-1f8227a166a019780dc8eed55d412d56 xy-3.8.8/texinputs/xymovie.tex
-25b1e7edeee41f181ee9733429da4a9c xy-3.8.8/texinputs/xymatrix.tex
-1e1bcf75c622af1eefd9169948208302 xy-3.8.8/texinputs/xy.sty
-925a882bdae45c3da43ade17301079c8 xy-3.8.8/texinputs/xydummy.tex
-edd672434f45626662368282c0322160 xy-3.8.8/texinputs/xycolor.tex
-186931a828664624939ab0b347e3952c xy-3.8.8/texinputs/xyframe.tex
-7867b36e610322f4fc54881bd5d94343 xy-3.8.8/texinputs/xydvips.tex
-e16fc85c85f64d0a5c04708bf3312d00 xy-3.8.8/texinputs/xypdf-ro.tex
-65bb1e3f69dba004cb0c2224359fef48 xy-3.8.8/texinputs/xyps-l.tex
-94e05e3b7b09e5f01f27ce0fba9652cf xy-3.8.8/texinputs/xyknot.tex
-24340b6befc66d28ee1ebb657efb5892 xy-3.8.8/texinputs/xyall.tex
-990ce136a3cc15728ba417a2e78b25c8 xy-3.8.8/texinputs/xyarrow.tex
-b85c02e8c5ca6610b964bfc4b75b2bb5 xy-3.8.8/texinputs/xyps-c.tex
-43fb8dc80dd748631d78096701166d76 xy-3.8.8/texinputs/xycmtip.tex
-f8dc90c79e604ca1df868f124870db43 xy-3.8.8/texinputs/xymacpat.xyp
-66beb10e89ca3b367faccdfebe2d3965 xy-3.8.8/texinputs/xy2cell.tex
-668f546acdd1b45fd4ba1fb5e09f313d xy-3.8.8/texinputs/xycrayon.tex
-c3a572983ccc9fc596b4e9ce454d5652 xy-3.8.8/texinputs/xyline.tex
-5686b19cc46d046c885428794ed9c114 xy-3.8.8/texinputs/xypdf-fr.tex
-2692b08b5ea11fbbd1937106f77fb996 xy-3.8.8/texinputs/xyps-s.tex
-1a12b316e2132654e44ba2cd21def637 xy-3.8.8/texinputs/xypdf-li.tex
-420d24f213436fc501669a04517144ff xy-3.8.8/texinputs/xypic.sty
-c8763fc8e281cb6ecf697988b6608e4a xy-3.8.8/texinputs/xyrecat.tex
-cd87cbae3acd962decd7311b3fe30c06 xy-3.8.8/texinputs/xy17oztex.tex
-af98c1c4cb762e0f70e44f8238042b9d xy-3.8.8/texinputs/xyweb.tex
-c4ec75d66727413dc329c2850acba72a xy-3.8.8/texinputs/xyps-r.tex
-dd1eb8ddca95d11b8d051f1471fa767e xy-3.8.8/texinputs/xydvitops.tex
-4c147d7ae8f6e4af74a0bd7519424984 xy-3.8.8/texinputs/xyps.tex
-90f462e80ee2aa0a88250da705a44117 xy-3.8.8/texinputs/xytips.tex
-e61049d36bdfccb226f22e582d70d368 xy-3.8.8/texinputs/xypdf.tex
-2f514d7533d1b7575176df5f035b8b16 xy-3.8.8/texinputs/xyemtex.tex
-6a18d06abfab2b5d5e4e31b4f0e78639 xy-3.8.8/texinputs/xycmactex.tex
-09ebbd3ce07e365a24f3d2343248d192 xy-3.8.8/texinputs/xyps-f.tex
-0fa6740bd2c7f70b0932c701baf17d71 xy-3.8.8/texinputs/xyv2.tex
-15673cabca043d4a807f82d1134e13b7 xy-3.8.8/texinputs/xyps-col.tex
-d44dc9545b4f26bd4d9b564c7c2db7cd xy-3.8.8/texinputs/xyimport.tex
-90cb8a3b00c2081384c1ce988d2ba0a3 xy-3.8.8/texinputs/xypdf-co.tex
-3ea0c09f75df8a0eddf67188f3125d97 xy-3.8.8/FONTCOPYING
-492ebef43b75cf3dab2ee2194f8ef1df xy-3.8.8/texfonts/xyeuat10.tfm
-f0346961d9dbeea90eaa9f9a95a20d67 xy-3.8.8/texfonts/xyeubt12.tfm
-13befcdbbf39cf803bcb61e6f02cdba0 xy-3.8.8/texfonts/xyluat12.tfm
-9916480cd250953a5b98487b532fd436 xy-3.8.8/texfonts/xycmat12.tfm
-b85db7c9d93062a9dc2a06f1ecd2a853 xy-3.8.8/texfonts/xyqc10.tfm
-feca2c47f7f3bee4423e7850d03565f0 xy-3.8.8/texfonts/xyeuat11.tfm
-805123b2c18603465059f2c00a3d8397 xy-3.8.8/texfonts/xycmbt11.tfm
-b1b2aed5f832d24df2d2ebd1dba18e07 xy-3.8.8/texfonts/xymisc10.tfm
-e90b8121d20c7405b2dfa682af6a9874 xy-3.8.8/texfonts/xylubt10.tfm
-9916480cd250953a5b98487b532fd436 xy-3.8.8/texfonts/xycmbt12.tfm
-e90b8121d20c7405b2dfa682af6a9874 xy-3.8.8/texfonts/xyluat10.tfm
-f0346961d9dbeea90eaa9f9a95a20d67 xy-3.8.8/texfonts/xyeuat12.tfm
-15185f6daaad57cb8922e79e49cfe7e4 xy-3.8.8/texfonts/xylubt11.tfm
-d3ca9fe0ac5cdbf25738aa5cd41a0bb1 xy-3.8.8/texfonts/xycmat10.tfm
-492ebef43b75cf3dab2ee2194f8ef1df xy-3.8.8/texfonts/xyeubt10.tfm
-d3ca9fe0ac5cdbf25738aa5cd41a0bb1 xy-3.8.8/texfonts/xycmbt10.tfm
-805123b2c18603465059f2c00a3d8397 xy-3.8.8/texfonts/xycmat11.tfm
-febee01666a1608db459ae4ba184c9d9 xy-3.8.8/texfonts/xybtip10.tfm
-a6bc9e515664aa916f3cec1fcf9cebf5 xy-3.8.8/texfonts/xydash10.tfm
-feca2c47f7f3bee4423e7850d03565f0 xy-3.8.8/texfonts/xyeubt11.tfm
-15185f6daaad57cb8922e79e49cfe7e4 xy-3.8.8/texfonts/xyluat11.tfm
-0eb85fb80e9114682ffa5565429058e0 xy-3.8.8/texfonts/xycirc10.tfm
-8654b3f5486d1310cbd2d2fa0cd5a3f3 xy-3.8.8/texfonts/xybsql10.tfm
-13befcdbbf39cf803bcb61e6f02cdba0 xy-3.8.8/texfonts/xylubt12.tfm
-febee01666a1608db459ae4ba184c9d9 xy-3.8.8/texfonts/xyatip10.tfm
-9ed32077e353fd45d4be79b566b34102 xy-3.8.8/texfonts/xyline10.tfm
-c7f5c01e69077db8d158f582e156f764 xy-3.8.8/INSTALL
-aa343431ff9e933fa16e5068959564f9 xy-3.8.8/support/install-tds
-276994651134121f9b5b9720a485ac67 xy-3.8.8/support/pnmrawtopcropwhite.c
-85bc76623f2217f06df7e0af4abdb2f4 xy-3.8.8/support/dvitogif89a
-d76abb4db084ce7809ec626b2636bd00 xy-3.8.8/README
-0dd598a6ef1ed071719c328f4ecf4cf7 xy-3.8.8/doc/xy388src.tar.gz
-b33c05fe423109983c1f1e17dbffa6d3 xy-3.8.8/doc/xyguide.pdf
-9665b8593352fda050531a2c92aecc2c xy-3.8.8/doc/xypdf.pdf
-0386ba629c0db7092ad5fcbf178988cc xy-3.8.8/doc/xyrefer.pdf
-0e12ca5853c214e3845cdf7760809b37 xy-3.8.8/doc/xysource.pdf
+b96441955c41494658ad110a58004f28 xy-3.8.9/texfonts/xylubt12.tfm
+9ed32077e353fd45d4be79b566b34102 xy-3.8.9/texfonts/xyline10.tfm
+c277d5c81d76bb6a6a508cddd7f2d554 xy-3.8.9/texfonts/xyeubt11.tfm
+b85db7c9d93062a9dc2a06f1ecd2a853 xy-3.8.9/texfonts/xyqc10.tfm
+ed83ddbc3136e3e7310f9f4354939703 xy-3.8.9/texfonts/xyeuat10.tfm
+ed83ddbc3136e3e7310f9f4354939703 xy-3.8.9/texfonts/xyeubt10.tfm
+9d465699a13fb7706bf38bc873e9526c xy-3.8.9/texfonts/xycmbt12.tfm
+f082096f0df4b6a9cf22d7d15e6e8cfa xy-3.8.9/texfonts/xyeubt12.tfm
+50246cc71b0635b0ba0a5c10a0bf4257 xy-3.8.9/texfonts/xybtip10.tfm
+52a29d45fdb6009d8eb8c1abfcf62dcb xy-3.8.9/texfonts/xylubt11.tfm
+f124f78ed50a1817738d2adb190cf2bd xy-3.8.9/texfonts/xycmbt10.tfm
+5c01c46b93e3ba8369f3f8edc6e62aef xy-3.8.9/texfonts/xydash10.tfm
+50246cc71b0635b0ba0a5c10a0bf4257 xy-3.8.9/texfonts/xyatip10.tfm
+52a29d45fdb6009d8eb8c1abfcf62dcb xy-3.8.9/texfonts/xyluat11.tfm
+b96441955c41494658ad110a58004f28 xy-3.8.9/texfonts/xyluat12.tfm
+c277d5c81d76bb6a6a508cddd7f2d554 xy-3.8.9/texfonts/xyeuat11.tfm
+9d465699a13fb7706bf38bc873e9526c xy-3.8.9/texfonts/xycmat12.tfm
+b1b2aed5f832d24df2d2ebd1dba18e07 xy-3.8.9/texfonts/xymisc10.tfm
+a3a3bc08980c5126ff2a7a68fb5a64ff xy-3.8.9/texfonts/xylubt10.tfm
+63bbec86ecb2350ba30adc95b53766e7 xy-3.8.9/texfonts/xycmbt11.tfm
+f124f78ed50a1817738d2adb190cf2bd xy-3.8.9/texfonts/xycmat10.tfm
+4db60f15ea23b4ec2d796c6d568a63fa xy-3.8.9/texfonts/xybsql10.tfm
+a3a3bc08980c5126ff2a7a68fb5a64ff xy-3.8.9/texfonts/xyluat10.tfm
+3393210079fb4ed9347e214b3bfd7c1a xy-3.8.9/texfonts/xycirc10.tfm
+63bbec86ecb2350ba30adc95b53766e7 xy-3.8.9/texfonts/xycmat11.tfm
+f082096f0df4b6a9cf22d7d15e6e8cfa xy-3.8.9/texfonts/xyeuat12.tfm
+7ec42cb4e4e3cd19cac45c089401846c xy-3.8.9/TRAILER
+c7f5c01e69077db8d158f582e156f764 xy-3.8.9/INSTALL
+792a7b006f4613644463030b58290e1a xy-3.8.9/Xy-logo.png
+b53bbf23a56f2c543207ff92c94ce94a xy-3.8.9/texinputs/xyps-t.tex
+8a83c6b5fad6b75e43169805d37efcef xy-3.8.9/texinputs/xysmart.tex
+7867b36e610322f4fc54881bd5d94343 xy-3.8.9/texinputs/xydvips.tex
+65bb1e3f69dba004cb0c2224359fef48 xy-3.8.9/texinputs/xyps-l.tex
+6a18d06abfab2b5d5e4e31b4f0e78639 xy-3.8.9/texinputs/xycmactex.tex
+24340b6befc66d28ee1ebb657efb5892 xy-3.8.9/texinputs/xyall.tex
+25a964ebb390bcfcd35c040f477eef1d xy-3.8.9/texinputs/xypdf-cu.tex
+edd672434f45626662368282c0322160 xy-3.8.9/texinputs/xycolor.tex
+d44dc9545b4f26bd4d9b564c7c2db7cd xy-3.8.9/texinputs/xyimport.tex
+904907c40950fade6b43f89606792d9b xy-3.8.9/texinputs/movie.cls
+c8603d98d3a55ecb74d439e6abba791c xy-3.8.9/texinputs/xy16textures.tex
+125a67de88ccbd0e0283f67b83f9855f xy-3.8.9/texinputs/xynecula.tex
+413d5f789929a45aab7d12ce0d0aee7d xy-3.8.9/texinputs/xy.tex
+990ce136a3cc15728ba417a2e78b25c8 xy-3.8.9/texinputs/xyarrow.tex
+1a12b316e2132654e44ba2cd21def637 xy-3.8.9/texinputs/xypdf-li.tex
+66beb10e89ca3b367faccdfebe2d3965 xy-3.8.9/texinputs/xy2cell.tex
+dd1eb8ddca95d11b8d051f1471fa767e xy-3.8.9/texinputs/xydvitops.tex
+09ebbd3ce07e365a24f3d2343248d192 xy-3.8.9/texinputs/xyps-f.tex
+d412ee1ff259daefee5e927172e2f9a8 xy-3.8.9/texinputs/xycurve.tex
+43fb8dc80dd748631d78096701166d76 xy-3.8.9/texinputs/xycmtip.tex
+925a882bdae45c3da43ade17301079c8 xy-3.8.9/texinputs/xydummy.tex
+2692b08b5ea11fbbd1937106f77fb996 xy-3.8.9/texinputs/xyps-s.tex
+c335c5dc674b95bb786b74396ffce83d xy-3.8.9/texinputs/xytile.tex
+1f8227a166a019780dc8eed55d412d56 xy-3.8.9/texinputs/xymovie.tex
+e16fc85c85f64d0a5c04708bf3312d00 xy-3.8.9/texinputs/xypdf-ro.tex
+1575250bfcedf61f8b4181e09ad0659e xy-3.8.9/texinputs/xypicture.tex
+c3a572983ccc9fc596b4e9ce454d5652 xy-3.8.9/texinputs/xyline.tex
+cd87cbae3acd962decd7311b3fe30c06 xy-3.8.9/texinputs/xy17oztex.tex
+1445855973f58d3d2f34be51b4c796f1 xy-3.8.9/texinputs/xypspatt.tex
+90cb8a3b00c2081384c1ce988d2ba0a3 xy-3.8.9/texinputs/xypdf-co.tex
+c4ec75d66727413dc329c2850acba72a xy-3.8.9/texinputs/xyps-r.tex
+cb768d8d63a12d35607cbb3c4e7ba163 xy-3.8.9/texinputs/xyrotate.tex
+28134012dafb2972d4c32eb8af3edb2e xy-3.8.9/texinputs/xyarc.tex
+420d24f213436fc501669a04517144ff xy-3.8.9/texinputs/xypic.sty
+2116ea6e35d010eb5873cf4a0d4321e3 xy-3.8.9/texinputs/xytextures.tex
+f48057783f0327dc9f0b2ed8ed948918 xy-3.8.9/texinputs/xypoly.tex
+e61049d36bdfccb226f22e582d70d368 xy-3.8.9/texinputs/xypdf.tex
+15673cabca043d4a807f82d1134e13b7 xy-3.8.9/texinputs/xyps-col.tex
+94e05e3b7b09e5f01f27ce0fba9652cf xy-3.8.9/texinputs/xyknot.tex
+5686b19cc46d046c885428794ed9c114 xy-3.8.9/texinputs/xypdf-fr.tex
+b051b6278342f915daceaf554e3ade5f xy-3.8.9/texinputs/xypsdict.tex
+1e1bcf75c622af1eefd9169948208302 xy-3.8.9/texinputs/xy.sty
+25b1e7edeee41f181ee9733429da4a9c xy-3.8.9/texinputs/xymatrix.tex
+4c147d7ae8f6e4af74a0bd7519424984 xy-3.8.9/texinputs/xyps.tex
+2f514d7533d1b7575176df5f035b8b16 xy-3.8.9/texinputs/xyemtex.tex
+a0ca4f0babb67cf5a136634e656e8eaa xy-3.8.9/texinputs/xytpic.tex
+a26f363497b268d896fe6f9b293e55a6 xy-3.8.9/texinputs/xytp-f.tex
+32ef3b517aa860b1d253bb3ecc1a1686 xy-3.8.9/texinputs/xydvidrv.tex
+ad325e351be74f7bcaa1bc1c81eebd06 xy-3.8.9/texinputs/xyoztex.tex
+186931a828664624939ab0b347e3952c xy-3.8.9/texinputs/xyframe.tex
+0fa6740bd2c7f70b0932c701baf17d71 xy-3.8.9/texinputs/xyv2.tex
+c8763fc8e281cb6ecf697988b6608e4a xy-3.8.9/texinputs/xyrecat.tex
+6511906ab396486a3d70e9be8e789397 xy-3.8.9/texinputs/xyxdvi.tex
+f8dc90c79e604ca1df868f124870db43 xy-3.8.9/texinputs/xymacpat.xyp
+b85c02e8c5ca6610b964bfc4b75b2bb5 xy-3.8.9/texinputs/xyps-c.tex
+f44bd717e744dd46e14a440829de701c xy-3.8.9/texinputs/xyps-pro.tex
+ed63dd19c6d3ab5dc21a7fea2432c167 xy-3.8.9/texinputs/xypic.tex
+1ee562fde0b53c9cd16f7a604f33fdf0 xy-3.8.9/texinputs/xyidioms.tex
+b7e4d9a6936ba2ad6119a280abde9641 xy-3.8.9/texinputs/xygraph.tex
+6a94c4af5f0f0b6d87ec6c0c8d43e800 xy-3.8.9/texinputs/xybarr.tex
+0d51788a4141bc66ab896f7ac63495fd xy-3.8.9/texinputs/xytips.tex
+668f546acdd1b45fd4ba1fb5e09f313d xy-3.8.9/texinputs/xycrayon.tex
+51ad0ec17c89323f6c2a1c9ac78acfb6 xy-3.8.9/texinputs/xyps-ps.tex
+af98c1c4cb762e0f70e44f8238042b9d xy-3.8.9/texinputs/xyweb.tex
+42c2cee117438240570127cb66ad9fe9 xy-3.8.9/map/xypic.map
+ba464963f0a718d0034c33e4705b2b03 xy-3.8.9/Xy-pic.html
+d2f4ce1df3c1bdf434fe4088b95b7ca8 xy-3.8.9/mfinputs/xyluat10.mf
+e1ca9c39718c95d435564b07506ec0c0 xy-3.8.9/mfinputs/xyeuat10.mf
+c72ee4a8c80bbd94a3f106f867898e70 xy-3.8.9/mfinputs/xyeubt12.mf
+1fd35dd064c8773d14a2f6c10904d1f3 xy-3.8.9/mfinputs/xyluat12.mf
+b542f59d13fb9fb5c0abe9e00dd2aa35 xy-3.8.9/mfinputs/xylubt12.mf
+8a38747b2cebaae3a51ade8259d2842e xy-3.8.9/mfinputs/xycm.mf
+e5b7039affcba01d09fd1ba8670c29e7 xy-3.8.9/mfinputs/xyeuat11.mf
+572f3ac95b7612e6117929dff3953290 xy-3.8.9/mfinputs/xyd2.mf
+1c48bb2080f4fc76a338d46f303caea4 xy-3.8.9/mfinputs/xytech.mf
+097a4b3c290b19bf5c09cab26fd81752 xy-3.8.9/mfinputs/xycmbt12.mf
+ed7e9166aef5bac3b8bd0f781a8a77c0 xy-3.8.9/mfinputs/xybsql10.mf
+2cd5f8127c7fd54faf3014bb39443549 xy-3.8.9/mfinputs/xylubt10.mf
+6f0a09e5168ce9933a13549a306db3c3 xy-3.8.9/mfinputs/xyd.mf
+6e23c28e708557bd25ba219b41b53331 xy-3.8.9/mfinputs/xycmbt10.mf
+b67a1a09c063cfa92a1d0a222a5e0ee1 xy-3.8.9/mfinputs/xycmbt11.mf
+47b1e0699a22fbc602fb5ed90109d68d xy-3.8.9/mfinputs/xybtip10.mf
+ec9c5c57cbe11ad2f8a65e0fee40f07d xy-3.8.9/mfinputs/xycmat11.mf
+f3b0803a58bc0bc2ff4871278c722cf2 xy-3.8.9/mfinputs/xyeubt11.mf
+df1f6d78735463cd024f124181bd2442 xy-3.8.9/mfinputs/xybtip.mf
+5a2ed4dd03a4dedc29bc344c58e0d3a4 xy-3.8.9/mfinputs/xydash10.mf
+750c660b6d0ee05a98a43ab75882118f xy-3.8.9/mfinputs/xycmat12.mf
+2c6dc4f84512f8af8254d533c5b74eb6 xy-3.8.9/mfinputs/xymisc10.mf
+81b94c8c7a5edfcfe2e8efa8390d1fad xy-3.8.9/mfinputs/xyeuat12.mf
+d500feb421bbb8828b1f65c27738eaed xy-3.8.9/mfinputs/xyline10.mf
+396029b313c1d5a51aa62689485c3946 xy-3.8.9/mfinputs/xyatri.mf
+9b38600264beb943d9a5f8e1038a0800 xy-3.8.9/mfinputs/xyeuler.mf
+a720ddab53c52aed1d9d184b789fcc50 xy-3.8.9/mfinputs/xyeubt10.mf
+e8fa720da1935ba850f3f5876a2ba780 xy-3.8.9/mfinputs/xybtri.mf
+c5094f25e9ef643693e3cb39169b70dd xy-3.8.9/mfinputs/xyatip10.mf
+168ff060ac2ff811c572684a442cba30 xy-3.8.9/mfinputs/xyatip.mf
+d0e1478e812ec8122370bf104eeecbed xy-3.8.9/mfinputs/xycirc10.mf
+13cb4b0558fd30e72372aae3e548492f xy-3.8.9/mfinputs/xyqc10.mf
+65db02dd96922bc88ece443db561b9b8 xy-3.8.9/mfinputs/xylu.mf
+85f828fa67af5f257bf4c2e250b3e646 xy-3.8.9/mfinputs/xylubt11.mf
+85f74cb0e6f4d7e06d7346f0dd0a4bbe xy-3.8.9/mfinputs/xycmat10.mf
+23e380dc02b5b1e367107265daca4d59 xy-3.8.9/mfinputs/xyluat11.mf
+d76abb4db084ce7809ec626b2636bd00 xy-3.8.9/README
+3ea0c09f75df8a0eddf67188f3125d97 xy-3.8.9/FONTCOPYING
+8d4bfbafedc7d6d34dc7855f75e1cc79 xy-3.8.9/type1/xydash10.pfb
+ec38b53842f4384705514c6703fa9108 xy-3.8.9/type1/xyatip10.pfb
+a78cc51eb4f348072c100f5aaeae0558 xy-3.8.9/type1/xyeubt11.pfb
+ad391dfddfd050862d933e5807ab1edc xy-3.8.9/type1/xybtip10.pfb
+795860c5431eaae7308ca253adbb1c0d xy-3.8.9/type1/xyluat11.pfb
+c969bb01276d994b7c8b4e880e102c85 xy-3.8.9/type1/xycmat12.pfb
+3a6edd6ccf24491c7033b04c115c0b6a xy-3.8.9/type1/xyeuat12.pfb
+8b0e892fce2d68c56334f7e7bb581398 xy-3.8.9/type1/xycmbt11.pfb
+a492245d942af2cc4c65197bb428d65e xy-3.8.9/type1/xycmat10.pfb
+7e46951913f6ce1c9cfa86ee5677f4d9 xy-3.8.9/type1/xyeubt10.pfb
+4ee6e8966db8ede56e6cb1e2398ac8d3 xy-3.8.9/type1/xylubt10.pfb
+0b914d9b6b76b3fa46e1056a631395cd xy-3.8.9/type1/xyluat12.pfb
+fb5e71d872cd8b5ac1b06647ef4783d0 xy-3.8.9/type1/xyluat10.pfb
+ad63ca0f58b4d04cf77f148b91306645 xy-3.8.9/type1/xycirc10.pfb
+f0e48b203f9f17ffe3a5a6130b5333f6 xy-3.8.9/type1/xylubt11.pfb
+9651e62afdd7ebf3ac3282d58963cfdd xy-3.8.9/type1/xyeubt12.pfb
+cb0265cb09bda014ce2dfa08a6c45ca9 xy-3.8.9/type1/xylubt12.pfb
+f05969bc40cebd556181cce3dd01d312 xy-3.8.9/type1/xybsql10.pfb
+acadf379adb78f4d555808f641098158 xy-3.8.9/type1/xycmbt12.pfb
+0abb99aa0820f446bfb8433cd41f1515 xy-3.8.9/type1/xyeuat11.pfb
+d0c5ff3cf7c69e3724b9e4131319667c xy-3.8.9/type1/xyeuat10.pfb
+bbd4525571da643ce623b9b3e31ae24c xy-3.8.9/type1/xycmat11.pfb
+89c3546ee426179761f124b92f40158d xy-3.8.9/type1/xycmbt10.pfb
+bd87b05d1301be9116740f603263c9fd xy-3.8.9/CATALOG
+5ad4d52a4bd04bae23ca548c793c5c3f xy-3.8.9/enc/xyd2.enc
+49cd4c2d54e7a7fccf078e946f586f8b xy-3.8.9/enc/xyd.enc
+81499e8f6fc4029878adc87117df6452 xy-3.8.9/enc/xycirc.enc
+8849a3a6359690e59663657b7d6a4c93 xy-3.8.9/VERSIONS
+56b0ecf3af1b9fdd808a23c34ab5bf04 xy-3.8.9/doc/xypdf.pdf
+17c0efce393a0bd29919e4d477a232b6 xy-3.8.9/doc/xysource.pdf
+8590792a6323e9abc1da1caeaa51b966 xy-3.8.9/doc/xy389src.tar.gz
+ad5043ac1412229c2af729fe5460855c xy-3.8.9/doc/xyrefer.pdf
+5d20d8e19b6daa6c6a3402cb95ba7bc4 xy-3.8.9/doc/barrdoc.pdf
+cef4e0acc39f1bcb4b223bcf2cd465fa xy-3.8.9/doc/xyguide.pdf
+bd6921308d20195a598b181da6fc7ac4 xy-3.8.9/pfm/xybsql10.pfm
+1c41a6de86897b93eb1e303834cb0bd5 xy-3.8.9/pfm/xybtip10.pfm
+b897c84c75b8f28d013e368eae043943 xy-3.8.9/pfm/xycmbt10.pfm
+9edcf4223b5874f83935f5b401c7099e xy-3.8.9/pfm/xyluat10.pfm
+74279bafa4bbd54ba2d75df40255e094 xy-3.8.9/pfm/xylubt11.pfm
+5d6cb3b11c219514c01f04f55c2bdace xy-3.8.9/pfm/xyluat12.pfm
+f8905a16778d31a4e114196eb9e215cd xy-3.8.9/pfm/xyluat11.pfm
+2ba60a1797087a1e69ebcf1177f1f010 xy-3.8.9/pfm/xydash10.pfm
+fd85dc8eaa8922f5fc7200ecb80a0295 xy-3.8.9/pfm/xycirc10.pfm
+97d32867339d784f624f664cd30dc4ec xy-3.8.9/pfm/xycmat11.pfm
+01e802a5d0e5933062d5a363f6589fca xy-3.8.9/pfm/xyeuat10.pfm
+c75e69c47ccd29c0b634fa0cedf0e9b6 xy-3.8.9/pfm/xylubt10.pfm
+e09cc223013283f0c73746c7d4dd5664 xy-3.8.9/pfm/xycmbt11.pfm
+ffe3164d1ae7cd08299915555cf8eebe xy-3.8.9/pfm/xylubt12.pfm
+dff3f2e66c5b4231a6ca60c35c0e277c xy-3.8.9/pfm/xyeuat11.pfm
+d2830702b8ea6a1e9283727514939947 xy-3.8.9/pfm/xycmat10.pfm
+6eedc88885c8b5cfaacbe4860b3420b1 xy-3.8.9/pfm/xyeubt12.pfm
+f44b82894334b4615b63c8fd84e48aba xy-3.8.9/pfm/xycmbt12.pfm
+35255610825b5e8f3d772caca3678329 xy-3.8.9/pfm/xyeuat12.pfm
+e5624a0f4072297282b837bb2efa7a0f xy-3.8.9/pfm/xyeubt11.pfm
+fbde2a4ec4136292945eb296db3089af xy-3.8.9/pfm/xyeubt10.pfm
+f90f3a42dcc2ac2da9bb8041ae7363d6 xy-3.8.9/pfm/xyatip10.pfm
+cb6612baec562e1995679cb24dbcac2b xy-3.8.9/pfm/xycmat12.pfm
+ff9c63ccd64ec715c04c742297ae1a19 xy-3.8.9/ps/xy389dict.pro
+3cadfeb0f91fa799b1ac6503768e5665 xy-3.8.9/afm/xyeubt11.afm
+9a47eb0a3ad542b416ebf7479eafe3ac xy-3.8.9/afm/xycmbt10.afm
+de99b9bbe52455f75f973bb292dd8a7d xy-3.8.9/afm/xyluat12.afm
+70a4cd8037b8a93f3130fa637c9ee18b xy-3.8.9/afm/xycmbt12.afm
+7e790d43c62759cbe79cf93361c569a7 xy-3.8.9/afm/xycmat10.afm
+c689bbee8e69a60d3ee81ca31d9dabec xy-3.8.9/afm/xyeuat11.afm
+722d0a464624372934ce71c89e58c7ee xy-3.8.9/afm/xyluat10.afm
+4e1948fe92379226af679ab7ed9e3ef4 xy-3.8.9/afm/xycmat11.afm
+bc4dc22e8d9263fb9c2e11becab82268 xy-3.8.9/afm/xyluat11.afm
+b28beb431be6cf8b2819618031b0b95f xy-3.8.9/afm/xyeuat12.afm
+13c5a6c1bde1f791af8e6101fdb6c860 xy-3.8.9/afm/xycmat12.afm
+d149a18e99739f0865333efbf46f6633 xy-3.8.9/afm/xyeubt10.afm
+b3e16ef6c2400c95d94736f39b27cbe7 xy-3.8.9/afm/xyeuat10.afm
+d6a4798d0ab76fa08e763f5f308061c6 xy-3.8.9/afm/xylubt10.afm
+f0dd6fbf4ad6df0776e0f8894025f88e xy-3.8.9/afm/xyatip10.afm
+2571856107d2a518e71f788941fe6e67 xy-3.8.9/afm/xyeubt12.afm
+6ce17d3d2ce233712aeaad4fa2ada039 xy-3.8.9/afm/xydash10.afm
+acddc1ec3f77268a1fa271156968b450 xy-3.8.9/afm/xylubt12.afm
+eee5ebe87058d1c636515d34af3ed476 xy-3.8.9/afm/xybsql10.afm
+5cc17d7dd2ee81647462b50ca0016c63 xy-3.8.9/afm/xycirc10.afm
+95d3817fc7e7c3fc1e12ffeceb33e621 xy-3.8.9/afm/xylubt11.afm
+cc992b395280f05b91b8401174603641 xy-3.8.9/afm/xycmbt11.afm
+3c07a4e5952b08ab9766419e76bbd20b xy-3.8.9/afm/xybtip10.afm
+b234ee4d69f5fce4486a80fdaf4a4263 xy-3.8.9/COPYING
+aa343431ff9e933fa16e5068959564f9 xy-3.8.9/support/install-tds
+276994651134121f9b5b9720a485ac67 xy-3.8.9/support/pnmrawtopcropwhite.c
+85bc76623f2217f06df7e0af4abdb2f4 xy-3.8.9/support/dvitogif89a
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (GNU/Linux)
+Version: GnuPG v1.4.11 (GNU/Linux)
-iQEcBAEBCAAGBQJPvYL/AAoJEMTQEv/gFjeH/mQH/27nQp7dSceswlHuXE7pbWTJ
-qPGmZ6e7W20lG2VhBhMH36rp8WAHEuoOCMZWTW/saehbeDrQ4BL/G8euAyR+uCdq
-JySkiYxma81tF/JP0ioqNHmijZuf4OlSQGMHhCk8JI4AuvnEyrTKox3olm1h2hQY
-2hSKKY4pncbc1kZpGpTlKfFUc5UJ5nsTLpiKcKjQC9OjsHXVK6sPvN0iWJ+Y0yxg
-rm6jvZrhLAxoeYx+UJt4tjSTkJIKueq09HWtbje6H0qq9qrX7J7myEe4K7zGfxvS
-nOnmHidu6uqZ0d5Ga4YPUQUVp9kZW4BnF0Z3OHnWgYOS9UTefeNa4NJnTLwh1gU=
-=4ESb
+iQEcBAEBCAAGBQJSULppAAoJEMTQEv/gFjeHUj0IAKOa+foDJ71hg7LnAQJpwfAI
+jZVqdg54K5jo86CjpXPIQQ9yFLLWsTQgPufBUofyft850eraWda08uUTyPOVOpVc
+Q3exE74GAii7fJBsidka5pbTKoft9A/lIJsBxvIsKRzwI6xf6F2RsNzC/IPK2rbE
+RKAGvHE+rebdneyYuxc2b7oPZ478sK87rOD2Dkm6BzjmTxQBIRwjGao8uDFeuFuK
+FR4CaMR8E64F/76dpFNXE6QYxTUXs6UDLv+XIsX3peU5hh0f5V7DRfSRxT39VQ7n
+tisnbWiGsTwHqzphQ6Ny93GqOVoat75pyl21H3KZoi4scWYbaR29UPG/m3Rh1+k=
+=vpIn
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xypic/TRAILER new/doc/generic/xypic/TRAILER
--- old/doc/generic/xypic/TRAILER 2012-05-25 01:48:37.000000000 +0200
+++ new/doc/generic/xypic/TRAILER 2013-10-08 01:06:54.000000000 +0200
@@ -1,4 +1,4 @@
--*-text-*- $Id: TRAILER,v 3.26 2012/05/24 00:30:38 krisrose Exp $
+-*-text-*- $Id: TRAILER,v 3.27 2013/10/02 02:04:28 krisrose Exp $
=======================================================================
ANNOUNCING the Xy-pic version 3.8 DIAGRAM TYPESETTING PACKAGE
@@ -22,6 +22,9 @@
LATEST NEWS
-----------------------------------------------------------------------
+Release 3.8.9 includes Michael Barr's "diagxy" macros as the "barr"
+feature.
+
Release 3.8.8 corrects a typo in xyframes (thanks to Norbert Preining).
Release 3.8.7 includes a fix to the squiggly fonts (thanks, Daniel) to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xypic/VERSIONS new/doc/generic/xypic/VERSIONS
--- old/doc/generic/xypic/VERSIONS 2012-05-25 01:48:37.000000000 +0200
+++ new/doc/generic/xypic/VERSIONS 2013-10-08 01:06:54.000000000 +0200
@@ -3,12 +3,12 @@
$Id: install-tds,v 3.16 2011/03/14 20:14:00 krisrose Exp $
$Id: INSTALL,v 3.23 2011/03/31 06:04:02 krisrose Exp $
$Id: latin1.sty,v 3.6 2010/06/10 18:45:49 krisrose Exp $
-$Id: Makefile,v 3.70 2012/05/24 00:30:38 krisrose Exp $
+$Id: Makefile,v 3.73 2013/10/06 00:12:29 krisrose Exp $
$Id: MAKE,v 3.12 2011/03/14 20:14:00 krisrose Exp $
$Id: movie.cls,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: pnmrawtopcropwhite.c,v 3.10 2011/03/14 20:14:00 krisrose Exp $
$Id: README,v 3.11 2010/05/06 17:46:29 krisrose Exp $
-$Id: TRAILER,v 3.26 2012/05/24 00:30:38 krisrose Exp $
+$Id: TRAILER,v 3.27 2013/10/02 02:04:28 krisrose Exp $
$Id: xy16textures.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: xy17oztex.doc,v 3.8 2011/03/14 20:14:00 krisrose Exp $
$Id: xy2cell.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
@@ -18,6 +18,7 @@
$Id: xyatip10.mf,v 3.9 2010/06/10 18:45:50 krisrose Exp $
$Id: xyatip.mf,v 3.8 2010/06/10 18:45:50 krisrose Exp $
$Id: xyatri.mf,v 3.4 2011/03/14 20:14:00 krisrose Exp $
+$Id: xybarr.doc,v 1.3 2013/10/06 00:12:30 krisrose Exp $
$Id: xybsql10.mf,v 3.10 2011/08/28 22:19:06 krisrose Exp $
$Id: xybtip10.mf,v 3.9 2010/06/10 18:45:50 krisrose Exp $
$Id: xybtip.mf,v 3.8 2010/06/10 18:45:50 krisrose Exp $
@@ -41,7 +42,7 @@
$Id: xydoc.bib,v 3.19 2011/05/27 04:51:17 krisrose Exp $
$Id: xydocps.doc,v 3.9 2011/03/14 20:14:00 krisrose Exp $
$Id: xydoc.sty,v 3.36 2011/05/27 04:51:17 krisrose Exp $
-$Id: xy.doc,v 3.33 2012/05/24 00:30:38 krisrose Exp $
+$Id: xy.doc,v 3.34 2013/08/26 03:56:11 krisrose Exp $
$Id: xydummy.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: xydvidrv.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: xydvips.doc,v 3.9 2011/03/14 20:14:00 krisrose Exp $
@@ -62,7 +63,7 @@
$Id: xyknot.doc,v 3.9 2011/03/14 20:14:00 krisrose Exp $
$Id: xyline10.mf,v 3.5 2010/06/10 18:45:50 krisrose Exp $
$Id: xyline.doc,v 3.10 2011/03/14 20:14:00 krisrose Exp $
-$Id: xyling.doc,v 3.2 2011/03/14 20:14:00 krisrose Exp $
+$Id: xyling.doc,v 3.3 2013/10/02 02:04:28 krisrose Exp $
$Id: Xy-logo.doc,v 3.2 2010/06/10 18:45:49 krisrose Exp $
$Id: Xy-logo.xy,v 3.2 2010/06/10 18:45:49 krisrose Exp $
$Id: xyluat10.mf,v 3.4 2011/03/14 20:14:00 krisrose Exp $
@@ -79,7 +80,7 @@
$Id: xynecula.doc,v 3.4 2011/03/14 20:14:00 krisrose Exp $
$Id: xyoztex.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: xypic.doc,v 3.6 2011/03/14 20:14:00 krisrose Exp $
-$Id: Xy-pic.html,v 3.37 2011/03/14 20:14:00 krisrose Exp $
+$Id: Xy-pic.html,v 3.38 2013/10/02 02:04:28 krisrose Exp $
$Id: xypic.sty,v 3.4 2010/04/16 06:06:52 krisrose Exp $
$Id: xypicture.doc,v 3.6 2011/03/14 20:14:00 krisrose Exp $
$Id: xypoly.doc,v 3.11 2011/03/14 20:14:00 krisrose Exp $
@@ -97,7 +98,7 @@
$Id: xyps-t.doc,v 3.11 2011/03/14 20:14:00 krisrose Exp $
$Id: xyqc10.mf,v 3.1 2010/06/10 18:45:50 krisrose Exp $
$Id: xyrecat.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
-$Id: xyrefer.man,v 3.36 2011/05/27 04:51:17 krisrose Exp $
+$Id: xyrefer.man,v 3.37 2013/10/02 02:04:28 krisrose Exp $
$Id: xyrotate.doc,v 3.8 2011/03/14 20:14:00 krisrose Exp $
$Id: xysmart.doc,v 3.6 2011/03/14 20:14:00 krisrose Exp $
$Id: xysource.man,v 3.28 2011/03/31 06:04:02 krisrose Exp $
@@ -106,7 +107,7 @@
$Id: xytest.mf,v 3.5 2010/06/10 18:45:50 krisrose Exp $
$Id: xytextures.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: xytile.doc,v 3.8 2011/03/14 20:14:00 krisrose Exp $
-$Id: xytips.doc,v 3.9 2011/03/14 20:14:00 krisrose Exp $
+$Id: xytips.doc,v 3.10 2013/10/02 02:04:28 krisrose Exp $
$Id: xytp-f.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: xytpic.doc,v 3.7 2011/03/14 20:14:00 krisrose Exp $
$Id: xyv2.doc,v 3.8 2011/03/14 20:14:00 krisrose Exp $
Files old/doc/generic/xypic/Xy-logo.png and new/doc/generic/xypic/Xy-logo.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/generic/xypic/Xy-pic.html new/doc/generic/xypic/Xy-pic.html
--- old/doc/generic/xypic/Xy-pic.html 2012-05-25 01:48:37.000000000 +0200
+++ new/doc/generic/xypic/Xy-pic.html 2013-10-08 01:06:54.000000000 +0200
@@ -1,5 +1,5 @@
<html> <head>
-<!--$Id: Xy-pic.html,v 3.37 2011/03/14 20:14:00 krisrose Exp $-->
+<!--$Id: Xy-pic.html,v 3.38 2013/10/02 02:04:28 krisrose Exp $-->
<title>Xy-pic Home Page</title>
Reply