summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-01-07 23:06:03 +0000
committerKarl Berry <karl@freefriends.org>2014-01-07 23:06:03 +0000
commitea751c100642b9b81c97ad32b1b492c917d5a93c (patch)
tree8b3554859f8f067f8ca942d08dad6a0792a3a803
parent79b68a754e61b4825c185082d15b0e334440fbde (diff)
l3kernel (7jan14)
git-svn-id: svn://tug.org/texlive/trunk@32599 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin674633 -> 675060 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1296101 -> 1296319 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin449457 -> 449457 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin273207 -> 273207 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin220205 -> 220205 bytes
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx9
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx108
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx28
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx156
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx5
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx12
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx5
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3basics.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty60
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty17
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def21
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvips.def57
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3expan.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3fp.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3names.sty8
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prg.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def21
26 files changed, 302 insertions, 245 deletions
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index 88ccf37c9bf..16ca72d954b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index 5bf46acc36f..f4caa6a0fdb 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index bce0e14456b..899311766b2 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index 974ee88e369..b73453b63ba 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index e57aa484d3a..4784aacd24e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index 56709098421..5713c41d607 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: expl3.dtx Copyright (C) 1990-2013 The LaTeX3 Project
+%% File: expl3.dtx Copyright (C) 1990-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -49,8 +49,8 @@
%<*driver|package>
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 Experimental code bundle wrapper}
-\def\ExplFileDate{2013/12/31}
-\def\ExplFileVersion{4634}
+\def\ExplFileDate{2014/01/07}
+\def\ExplFileVersion{4646}
%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index a43c8fec53f..9acc07c63da 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3basics.dtx Copyright (C) 1990-2013 The LaTeX3 project
+%% File: l3basics.dtx Copyright (C) 1990-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -35,7 +35,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3basics.dtx 4581 2013-07-28 08:38:50Z joseph $
+\GetIdInfo$Id: l3basics.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Basic definitions}
%</driver|package>
%<*driver>
@@ -193,7 +193,7 @@
% \item[|N| and |n|] No manipulation.
% \item[|T| and |F|] Functionally equivalent to |n| (you are actually
% encouraged to use the family of |\prg_new_conditional:| functions
-% described in Section~\ref{sec:l3basics:new-conditional-functions}).
+% described in Section~\ref{sec:l3prg:new-conditional-functions}).
% \item[|p| and |w|] These are special cases.
% \end{description}
%
@@ -201,7 +201,7 @@
% other argument specifiers in your function names, but they do not handle
% expansion for you. You should define the base function and then use
% \cs{cs_generate_variant:Nn} to generate custom variants as described in
-% Section~\ref{sec:l3basics:defining-variants}.
+% Section~\ref{sec:l3expan:defining-variants}.
%
% \subsection{Defining new functions using parameter text}
% \label{sec:l3basics:defining-new-function-1}
@@ -982,7 +982,6 @@
% \end{function}
%
% \section{Predicates and conditionals}
-% \label{sec:l3basics:predicates}
%
% \LaTeX3 has three concepts for conditional flow processing:
% \begin{description}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index b0bb71b97f3..9c90e27a197 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3bootstrap.dtx Copyright (C) 2011-2013 The LaTeX3 project
+%% File: l3bootstrap.dtx Copyright (C) 2011-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -119,7 +119,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-\GetIdInfo$Id: l3bootstrap.dtx 4629 2013-12-29 20:59:49Z joseph $
+\GetIdInfo$Id: l3bootstrap.dtx 4640 2014-01-04 16:03:52Z joseph $
{L3 Bootstrap code}
%</driver|package>
%<*driver>
@@ -330,16 +330,16 @@
% Oberdiek's \pkg{luatex} package instead.
% \begin{macrocode}
%<*package>
-\def\@tempa%
- {%
- \def\@tempa{}%
- \RequirePackage{luatex}%
- \RequirePackage{pdftexcmds}%
- \let\pdfstrcmp\pdf@strcmp
- }
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname directlua\endcsname\relax
\else
+ \begingroup
+ \def\@tempa
+ {%
+ \endgroup
+ \RequirePackage{luatex}%
+ \RequirePackage{pdftexcmds}%
+ }%
\expandafter\@tempa
\fi
%</package>
@@ -348,7 +348,8 @@
% \subsection{The \tn{pdfstrcmp} primitive in \XeTeX{}}
%
% Only \pdfTeX{} has a primitive called \tn{pdfstrcmp}. The \XeTeX{}
-% version is just \tn{strcmp}, so there is some shuffling to do.
+% version is just \tn{strcmp}, so there is some shuffling to do. As
+% this is still a real primitive, using the \pdfTeX{} name is \enquote{safe}.
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdfstrcmp\endcsname\relax
@@ -359,45 +360,60 @@
% \subsection{Engine requirements}
%
% The code currently requires functionality equivalent to \tn{pdfstrcmp}
-% in addition to \eTeX{}. The former is therefore used as a test for
-% a suitable engine.
+% in addition to \eTeX{}. In package mode, there is the slight caveat that
+% with \LuaTeX{} emulating this primitive is be done using a different
+% name as the expansion behaviour is different.
% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfstrcmp\endcsname\relax
-%<*package>
- \PackageError{expl3}{Required primitives not found}
+\begingroup
+ \def\ShortText{Required primitives not found}%
+ \def\LongText%
{%
- LaTeX3 requires the e-TeX primitives and \string\pdfstrcmp.\MessageBreak
- \MessageBreak
- These are available in engine versions:\MessageBreak
- - pdfTeX 1.30\MessageBreak
- - XeTeX 0.9994\MessageBreak
- - LuaTeX 0.40\MessageBreak
- or later.\MessageBreak
- \MessageBreak
- Loading of expl3 will abort!%
- }
- \expandafter\endinput
-%</package>
+ LaTeX3 requires the e-TeX primitives and \string\pdfstrcmp.\LineBreak
+ \LineBreak
+ These are available in engine versions:\LineBreak
+ - pdfTeX 1.30\LineBreak
+ - XeTeX 0.9994\LineBreak
+ - LuaTeX 0.40\LineBreak
+ or later.\LineBreak
+ \LineBreak
+ }%
+ \expandafter\ifx\csname pdfstrcmp\endcsname\relax
%<*initex>
- \newlinechar`\^^J\relax
- \errhelp{%
- LaTeX3 requires the e-TeX primitives and \pdfstrcmp.^^J%
- ^^J%
- These are available in engine versions:^^J%
- - pdfTeX 1.30^^J%
- - XeTeX 0.9994^^J%
- - LuaTeX 0.40^^J%
- or later.^^J%
- ^^J%
- For pdfTeX and XeTeX the '-etex' command-line switch is also
- needed.^^J%
- ^^J%
- Format building will abort!%
- }
- \errmessage{Required primitives not found}%
- \expandafter\end
-%</initex>
+ \def\LineBreak{^^J}%
+ \edef\Error%
+ {%
+ \endgroup
+ \newlinechar`\noexpand\^^J\relax
+ \errhelp
+ {%
+ \LongText
+ For pdfTeX and XeTeX the '-etex' command-line switch is also
+ needed.\LineBreak
+ \LineBreak
+ Format building will abort!\LineBreak
+ }%
+ \errmessage{\ShortText}%
+ \noexpand\end
+ }%
+ \expandafter\Error
+%</initex>
+%<*package>
+ \expandafter\ifx\csname pdf@strcmp\endcsname\relax
+ \def\LineBreak{\noexpand\MessageBreak}%
+ \edef\Error%
+ {%
+ \endgroup
+ \noexpand\PackageError{expl3}{\ShortText}
+ {\LongText Loading of expl3 will abort!}%
+ \noexpand\endinput
+ }%
+ \expandafter\expandafter\expandafter\Error
+ \else
+ \endgroup
+ \fi
+%</package>
+\else
+ \endgroup
\fi
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index 27baad8b08d..65f3e70e5cc 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -36,7 +36,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3candidates.dtx 4633 2013-12-31 17:28:46Z joseph $
+\GetIdInfo$Id: l3candidates.dtx 4643 2014-01-06 13:28:06Z joseph $
{L3 Experimental additions to l3kernel}
%</driver|package>
%<*driver>
@@ -2330,31 +2330,33 @@
% \seq_mapthread_function:cNN, \seq_mapthread_function:ccN
% }
% \begin{macro}[aux]
-% {\@@_mapthread_function:NNw, \@@_mapthread_function:Nnnwnn}
+% {
+% \@@_mapthread_function:wNN, \@@_mapthread_function:wNw,
+% \@@_mapthread_function:Nnnwnn
+% }
% The idea here is to first expand both sequences, adding the
% usual |{ ? \__prg_break: } { }| to the end of each one. This is
% most conveniently done in two steps using an auxiliary function.
% The mapping then throws away the first tokens of |#2| and |#5|,
-% which for items in the sequences will both be
+% which for items in the sequences will both be \cs{s_@@}
% \cs{@@_item:n}. The function to be mapped will then be applied to
% the two entries. When the code hits the end of one of the
-% sequences, \cs{__prg_break:} stops the entire loop and tidy up.
-% This avoids needing to count items in the sequences, or
+% sequences, the break material will stop the entire loop and tidy up.
+% This avoids needing to find the count of the two sequences, or
% worrying about which is longer.
% \begin{macrocode}
\cs_new:Npn \seq_mapthread_function:NNN #1#2#3
+ { \exp_after:wN \@@_mapthread_function:wNN #2 \q_stop #1 #3 }
+\cs_new:Npn \@@_mapthread_function:wNN \s_@@ #1 \q_stop #2#3
{
- \exp_after:wN \@@_mapthread_function:NNw
- \exp_after:wN #3
- \exp_after:wN #1
- #2 { ? \__prg_break: } { }
+ \exp_after:wN \@@_mapthread_function:wNw #2 \q_stop #3
+ #1 { ? \__prg_break: } { }
\__prg_break_point:
}
-\cs_new:Npn \@@_mapthread_function:NNw #1#2
+\cs_new:Npn \@@_mapthread_function:wNw \s_@@ #1 \q_stop #2
{
- \exp_after:wN \@@_mapthread_function:Nnnwnn
- \exp_after:wN #1
- #2 { ? \__prg_break: } { }
+ \@@_mapthread_function:Nnnwnn #2
+ #1 { ? \__prg_break: } { }
\q_stop
}
\cs_new:Npn \@@_mapthread_function:Nnnwnn #1#2#3#4 \q_stop #5#6
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx b/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
index 5eb91ddc2cb..778038661c1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3drivers.dtx Copyright(C) 2011-2013 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -36,7 +36,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3drivers.dtx 4632 2013-12-31 17:09:37Z joseph $
+\GetIdInfo$Id: l3drivers.dtx 4641 2014-01-04 17:05:41Z joseph $
{L3 Experimental drivers}
%</driver|package>
%<*driver>
@@ -219,7 +219,10 @@
% \begin{macro}{\@@_state_save:, \@@_state_restore:}
% All of the drivers have a stack for saving the graphic state. These
% have slightly different interfaces. For both \texttt{dvips} and
-% \texttt{(x)dvipdfmx} this is done using an appropriate special.
+% \texttt{(x)dvipdfmx} this is done using an appropriate special. Note
+% that here and later, the \texttt{dvipdfmx} documentation does not cover
+% the |literal| key word but that this appears to behave in the same way as
+% \pdfTeX{}'s \tn{pdfliteral} (making life easier all-round).
% \begin{macrocode}
%<*!pdfmode>
\cs_new_protected_nopar:Npn \@@_state_save:
@@ -227,14 +230,14 @@
{ \tex_special:D { ps:gsave } }
%</dvips>
%<*dvipdfmx|xdvipdfmx>
- { \tex_special:D { pdf:bcontent } }
+ { \tex_special:D { pdf:literal~q } }
%</dvipdfmx|xdvipdfmx>
\cs_new_protected_nopar:Npn \@@_state_restore:
%<*dvips>
{ \tex_special:D { ps:grestore } }
%</dvips>
%<*dvipdfmx|xdvipdfmx>
- { \tex_special:D { pdf:econtent } }
+ { \tex_special:D { pdf:literal~Q } }
%</dvipdfmx|xdvipdfmx>
%</!pdfmode>
% \end{macrocode}
@@ -263,14 +266,31 @@
% the underlying binary. The exact command is driver-dependent but the
% concept is general enough to use a single function. However, it is
% important to remember this is a convenient shortcut: the arguments will
-% be driver-specific.
+% be driver-specific. Note that these functions set the transformation matrix
+% to the current position: contrast with \cs{\@@_literal_direct:n}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_literal:n #1
%<*dvipdfmx|xdvipdfmx>
{ \tex_special:D { pdf:literal~ #1 } }
%</dvipdfmx|xdvipdfmx>
+% \end{macrocode}
+% In the case of \texttt{dvips} there is no build-in saving of the current
+% position, and so some additional PostScript is required.to set up the
+% transformation matrix and also to restore it afterwards. Notice the use
+% of the stack to save the current position \enquote{up front} and to
+% move back to it at the end of the process.
+% \begin{macrocode}
%<*dvips>
- { \tex_special:D { ps: #1 } }
+ {
+ \tex_special:D
+ {
+ ps:
+ currentpoint~
+ currentpoint~translate~
+ #1 ~
+ neg~exch~neg~exch~translate
+ }
+ }
%</dvips>
%<*pdfmode>
{ \pdftex_pdfliteral:D {#1} }
@@ -278,6 +298,44 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[int]{\@@_literal_direct:n}
+% Even \enquote{lower level} than \cs{\@@_literal:n}, these commands do
+% not set the transformation matrix but simply dump the driver code directly
+% into the output. In the \texttt{(x)dvipdfmx} case this two-part keyword
+% is documented (\emph{cf.}~|literal| alone).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_literal_direct:n #1
+%<*dvipdfmx|xdvipdfmx>
+ { \tex_special:D { pdf:literal~direct~ #1 } }
+%</dvipdfmx|xdvipdfmx>
+%<*dvips>
+ { \tex_special:D { ps:: #1 } }
+%</dvips>
+%<*pdfmode>
+ { \pdftex_pdfliteral:D direct {#1} }
+%</pdfmode>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int, EXP]{\@@_absolute_lengths:n}
+% The \texttt{dvips} driver scales all absolute dimensions based
+% on the output resolution selected and any \TeX{} magnification. Thus
+% for any operation involving absolute lengths there is a correction to
+% make. This is based on |normalscale| from \texttt{special.pro}.
+% \begin{macrocode}
+%<*dvips>
+\cs_new:Npn \@@_absolute_lengths:n #1
+ {
+ /savedmatrix~matrix~currentmatrix~def~
+ Resolution~72~div~VResolution~72~div~scale~
+ DVImag~dup~scale~
+ #1 ~
+ savedmatrix~setmatrix
+ }
+%</dvips>
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[int]{\@@_matrix:n}
% Here the appropriate function is set up to insert an affine matrix
% into the PDF. With a new enough \pdfTeX{} (version~1.40.0 or later)
@@ -299,7 +357,7 @@
%</pdfmode>
%<*dvipdfmx|xdvipdfmx>
\cs_new_protected:Npn \@@_matrix:n #1
- { \@@_literal:n { direct~ #1 \c_space_tl 0~0~cm } }
+ { \@@_literal:n { #1 \c_space_tl 0~0~cm } }
%</dvipdfmx|xdvipdfmx>
% \end{macrocode}
% \end{macro}
@@ -318,43 +376,23 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_box_use_clip:N #1
{
-%<*dvips>
\@@_state_save:
+%<*dvips>
\@@_literal:n
{
- /savedmatrix~matrix~currentmatrix~def~
- currentpoint~translate~
- Resolution~72~div~VResolution~72~div~scale
- }
- \@@_literal:n
- {
- 0~
- \__dim_strip_bp:n { \box_dp:N #1 } ~
- \__dim_strip_bp:n { \box_wd:N #1 } ~
- \__dim_strip_bp:n { - \box_ht:N #1 - \box_dp:N #1 } ~
- rectclip
+ \@@_absolute_lengths:n
+ {
+ 0~
+ \__dim_strip_bp:n { \box_dp:N #1 } ~
+ \__dim_strip_bp:n { \box_wd:N #1 } ~
+ \__dim_strip_bp:n { - \box_ht:N #1 - \box_dp:N #1 } ~
+ rectclip
+ }
}
- \@@_literal:n { savedmatrix~setmatrix }
%</dvips>
-% \end{macrocode}
-% The PDF box is easier to define as it is automatically in big points and
-% as the driver deals with the relationship between the \TeX{} and graphics
-% locations automatically. The only slight issue is the need to handle
-% \texttt{(x)dvipdfmx}'s requirements for mixing PostScript and PDF code:
-% using the standard save/restore stack here fails.
-% \begin{macrocode}
-%<*dvipdfmx|xdvipdfmx>
- \@@_literal:n { q }
-%</dvipdfmx|xdvipdfmx>
-%<*pdfmode>
- \@@_state_save:
-%</pdfmode>
%<*dvipdfmx|pdfmode|xdvipdfmx>
\@@_literal:n
{
-%<*dvipdfmx|xdvipdfmx>
- direct~
-%</dvipdfmx|xdvipdfmx>
0~
\__dim_strip_bp:n { - \box_dp:N #1 } ~
\__dim_strip_bp:n { \box_wd:N #1 } ~
@@ -363,36 +401,11 @@
}
%</dvipdfmx|pdfmode|xdvipdfmx>
% \end{macrocode}
-% For \texttt{(x)dvipdfmx} the is a bit more to do yet. Using
-% \texttt{pdf:bcontent}/\texttt{pdf:econtent} for scoping seems the easiest
-% approach, but only works reliably when all of the specials used are
-% \texttt{pdf:\ldots} ones. As (some) PostScript specials can also be used
-% with \texttt{(x)dvipdfmx}, that is not safe and can give unexpected output.
-% To get everything in the right place, what is required is that the
-% insertion point for the clip and the \TeX{} box material are the same. That
-% is done by flipping the axes twice with an additional scope level in
-% between. The scoping level moves to the \enquote{current point}, which
-% due to the axis inversion is the \emph{start} of the clip. The second
-% inversion puts things back to normal, the \TeX{} material is inserted and
-% then the extra scope is closed (below).
-% \begin{macrocode}
-%<*dvipdfmx|xdvipdfmx>
- \@@_matrix:n { -1~0~0~-1 }
- \@@_literal:n { q }
- \@@_matrix:n { -1~0~0~-1 }
-%</dvipdfmx|xdvipdfmx>
-% \end{macrocode}
% Insert the material in a box of no width, restore the graphic state
% and then insert the necessary width.
% \begin{macrocode}
\hbox_overlap_right:n { \box_use:N #1 }
-%<*dvipdfmx|xdvipdfmx>
- \@@_literal:n { Q }
- \@@_literal:n { Q }
-%</dvipdfmx|xdvipdfmx>
-%<*dvips|pdfmode>
\@@_state_restore:
-%</dvips|pdfmode>
\skip_horizontal:n { \box_wd:N #1 }
}
% \end{macrocode}
@@ -403,11 +416,8 @@
% \begin{macro}{\@@_box_rotate_begin:, \@@_box_rotate_end:}
% The driver for \texttt{dvips} works with a simple rotation angle.
% In PDF mode, an affine matrix is used instead. The transformation for
-% \texttt{(x)dvipdfmx} can be done either way: to have some code sharing,
-% the choice here is to use an affine approach (at least some code is
-% shared in this way). For the \texttt{dvips}, that odd-looking
-% |currentpoint| at the beginning is used to put this data onto the
-% stack for |neg exch neg exch translate| to pick up.
+% \texttt{(x)dvipdfmx} can be done either way: the affine approach is
+% chosen here as where possible we pick the PDF-style route.
%
% In both cases, some rounding code is included to limit the floating
% point values to five decimal places. There is no point using any more
@@ -446,13 +456,11 @@
\fp_set:Nn \l__box_angle_fp { round ( \l__box_angle_fp , 5 ) }
\@@_literal:n
{
- currentpoint~
- currentpoint~translate~
\fp_compare:nNnTF \l__box_angle_fp = \c_zero_fp
{ 0 }
{ \fp_eval:n { - \l__box_angle_fp } }
- \c_space_tl rotate~
- neg~exch~neg~exch~translate
+ \c_space_tl
+ rotate
}
%</dvips>
}
@@ -476,11 +484,9 @@
%<*dvips>
\@@_literal:n
{
- currentpoint~
- currentpoint~translate~
\fp_use:N \l__box_scale_x_fp \c_space_tl
- \fp_use:N \l__box_scale_y_fp \c_space_tl scale~
- neg~exch~neg~exch~translate
+ \fp_use:N \l__box_scale_y_fp \c_space_tl
+ scale
}
%</dvips>
%<*dvipdfmx|pdfmode|xdvipdfmx>
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index 7d8e9696470..fff17ffadcd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3expan.dtx Copyright (C) 1990-2013 The LaTeX3 project
+%% File: l3expan.dtx Copyright (C) 1990-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -35,7 +35,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3expan.dtx 4584 2013-08-17 15:37:05Z joseph $
+\GetIdInfo$Id: l3expan.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Argument expansion}
%</driver|package>
%<*driver>
@@ -116,6 +116,7 @@
% \cs{cs_generate_variant:Nn}, described next.
%
% \section{Methods for defining variants}
+% \label{sec:l3expan:defining-variants}
%
% \begin{function}[updated = 2013-07-09]{\cs_generate_variant:Nn}
% \begin{syntax}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index fea05abbb12..586e0f88ed4 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3fp.dtx Copyright (C) 2011-2013 The LaTeX3 Project
+%% File: l3fp.dtx Copyright (C) 2011-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -36,7 +36,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3fp.dtx 4633 2013-12-31 17:28:46Z joseph $
+\GetIdInfo$Id: l3fp.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Floating points}
%</driver|package>
%<*driver>
@@ -944,7 +944,7 @@
% \nan{}. Those operations do not raise exceptions.
% \end{function}
%
-% \begin{function}
+% \begin{function}^^A
% [tested = {m3fp-round001, m3fp-round002}, added = 2013-12-14]
% {round, trunc, ceil, floor}
% \begin{syntax}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index edabde36f6a..55b9165bfeb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3names.dtx Copyright (C) 1990-2013 The LaTeX3 project
+%% File: l3names.dtx Copyright (C) 1990-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -35,7 +35,7 @@
%
%<*package>
\RequirePackage{l3bootstrap}[2012/07/15]
-\GetIdInfo$Id: l3names.dtx 4630 2013-12-29 21:04:05Z joseph $
+\GetIdInfo$Id: l3names.dtx 4640 2014-01-04 16:03:52Z joseph $
{L3 Namespace for primitives}
%</package>
%<*driver>
@@ -640,6 +640,14 @@
\tex_let:D \luatex_pagedir:D \luatexpagedir
\tex_let:D \luatex_pardir:D \luatexpardir
\tex_let:D \luatex_textdir:D \luatextextdir
+% \end{macrocode}
+% Finally, in package mode with \LuaTeX{} the \cs{pdfstrcmp} primitive will
+% be emulated as \cs{pdf@strcmp}.
+% \begin{macrocode}
+\etex_ifdefined:D \pdftex_strcmp:D
+\tex_else:D
+ \tex_let:D \pdftex_strcmp:D \pdf@strcmp
+\tex_fi:D
%</package>
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index a7d11916a65..599957933fe 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3prg.dtx Copyright (C) 2005-2013 The LaTeX3 Project
+%% File: l3prg.dtx Copyright (C) 2005-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -35,7 +35,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3prg.dtx 4587 2013-08-25 21:30:10Z joseph $
+\GetIdInfo$Id: l3prg.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Control structures}
%</driver|package>
%<*driver>
@@ -90,6 +90,7 @@
% after exiting the underlying |\if...\fi:| structure.
%
% \section{Defining a set of conditional functions}
+% \label{sec:l3prg:new-conditional-functions}
%
% \begin{function}[updated = 2012-02-06]
% {
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 37b1f86053f..dd27359ed69 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: expl3.dtx Copyright (C) 1990-2013 The LaTeX3 Project
+%% File: expl3.dtx Copyright (C) 1990-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -60,8 +60,8 @@
}
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 Experimental code bundle wrapper}
-\def\ExplFileDate{2013/12/31}
-\def\ExplFileVersion{4634}
+\def\ExplFileDate{2014/01/07}
+\def\ExplFileVersion{4646}
\RequirePackage{etex}
\relax
\reserveinserts{32}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
index 27ccd762525..7835917a66b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3basics.dtx Copyright (C) 1990-2013 The LaTeX3 project
+%% File: l3basics.dtx Copyright (C) 1990-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3basics.dtx 4581 2013-07-28 08:38:50Z joseph $
+\GetIdInfo$Id: l3basics.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Basic definitions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
index e8217993546..dacc6a0203a 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3bootstrap.dtx Copyright (C) 2011-2013 The LaTeX3 project
+%% File: l3bootstrap.dtx Copyright (C) 2011-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -102,44 +102,58 @@
{%
\def\ExplFileDate{#1/#2/#3}%
}
-\GetIdInfo$Id: l3bootstrap.dtx 4629 2013-12-29 20:59:49Z joseph $
+\GetIdInfo$Id: l3bootstrap.dtx 4640 2014-01-04 16:03:52Z joseph $
{L3 Bootstrap code}
\ProvidesPackage{l3bootstrap}
[%
\ExplFileDate\space v\ExplFileVersion\space
L3 Experimental bootstrap code%
]
-\def\@tempa%
- {%
- \def\@tempa{}%
- \RequirePackage{luatex}%
- \RequirePackage{pdftexcmds}%
- \let\pdfstrcmp\pdf@strcmp
- }
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname directlua\endcsname\relax
\else
+ \begingroup
+ \def\@tempa
+ {%
+ \endgroup
+ \RequirePackage{luatex}%
+ \RequirePackage{pdftexcmds}%
+ }%
\expandafter\@tempa
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdfstrcmp\endcsname\relax
\let\pdfstrcmp\strcmp
\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfstrcmp\endcsname\relax
- \PackageError{expl3}{Required primitives not found}
+\begingroup
+ \def\ShortText{Required primitives not found}%
+ \def\LongText%
{%
- LaTeX3 requires the e-TeX primitives and \string\pdfstrcmp.\MessageBreak
- \MessageBreak
- These are available in engine versions:\MessageBreak
- - pdfTeX 1.30\MessageBreak
- - XeTeX 0.9994\MessageBreak
- - LuaTeX 0.40\MessageBreak
- or later.\MessageBreak
- \MessageBreak
- Loading of expl3 will abort!%
- }
- \expandafter\endinput
+ LaTeX3 requires the e-TeX primitives and \string\pdfstrcmp.\LineBreak
+ \LineBreak
+ These are available in engine versions:\LineBreak
+ - pdfTeX 1.30\LineBreak
+ - XeTeX 0.9994\LineBreak
+ - LuaTeX 0.40\LineBreak
+ or later.\LineBreak
+ \LineBreak
+ }%
+ \expandafter\ifx\csname pdfstrcmp\endcsname\relax
+ \expandafter\ifx\csname pdf@strcmp\endcsname\relax
+ \def\LineBreak{\noexpand\MessageBreak}%
+ \edef\Error%
+ {%
+ \endgroup
+ \noexpand\PackageError{expl3}{\ShortText}
+ {\LongText Loading of expl3 will abort!}%
+ \noexpand\endinput
+ }%
+ \expandafter\expandafter\expandafter\Error
+ \else
+ \endgroup
+ \fi
+\else
+ \endgroup
\fi
\protected\edef\ExplSyntaxOff
{%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
index 868dfd992ee..34161b8360d 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
@@ -47,7 +47,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3candidates.dtx 4633 2013-12-31 17:28:46Z joseph $
+\GetIdInfo$Id: l3candidates.dtx 4643 2014-01-06 13:28:06Z joseph $
{L3 Experimental additions to l3kernel}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -810,18 +810,17 @@
}
\cs_generate_variant:Nn \seq_item:Nn { c }
\cs_new:Npn \seq_mapthread_function:NNN #1#2#3
+ { \exp_after:wN \__seq_mapthread_function:wNN #2 \q_stop #1 #3 }
+\cs_new:Npn \__seq_mapthread_function:wNN \s__seq #1 \q_stop #2#3
{
- \exp_after:wN \__seq_mapthread_function:NNw
- \exp_after:wN #3
- \exp_after:wN #1
- #2 { ? \__prg_break: } { }
+ \exp_after:wN \__seq_mapthread_function:wNw #2 \q_stop #3
+ #1 { ? \__prg_break: } { }
\__prg_break_point:
}
-\cs_new:Npn \__seq_mapthread_function:NNw #1#2
+\cs_new:Npn \__seq_mapthread_function:wNw \s__seq #1 \q_stop #2
{
- \exp_after:wN \__seq_mapthread_function:Nnnwnn
- \exp_after:wN #1
- #2 { ? \__prg_break: } { }
+ \__seq_mapthread_function:Nnnwnn #2
+ #1 { ? \__prg_break: } { }
\q_stop
}
\cs_new:Npn \__seq_mapthread_function:Nnnwnn #1#2#3#4 \q_stop #5#6
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index 154d3c8d659..d1d70fb39d9 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3drivers.dtx Copyright(C) 2011-2013 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -47,38 +47,35 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3drivers.dtx 4632 2013-12-31 17:09:37Z joseph $
+\GetIdInfo$Id: l3drivers.dtx 4641 2014-01-04 17:05:41Z joseph $
{L3 Experimental drivers}
\ProvidesExplFile
{l3dvidpfmx.def}{\ExplFileDate}{\ExplFileVersion}
{L3 Experimental driver: dvipdfmx}
\__expl_package_check:
\cs_new_protected_nopar:Npn \__driver_state_save:
- { \tex_special:D { pdf:bcontent } }
+ { \tex_special:D { pdf:literal~q } }
\cs_new_protected_nopar:Npn \__driver_state_restore:
- { \tex_special:D { pdf:econtent } }
+ { \tex_special:D { pdf:literal~Q } }
\cs_new_protected:Npn \__driver_literal:n #1
{ \tex_special:D { pdf:literal~ #1 } }
+\cs_new_protected:Npn \__driver_literal_direct:n #1
+ { \tex_special:D { pdf:literal~direct~ #1 } }
\cs_new_protected:Npn \__driver_matrix:n #1
- { \__driver_literal:n { direct~ #1 \c_space_tl 0~0~cm } }
+ { \__driver_literal:n { #1 \c_space_tl 0~0~cm } }
\cs_new_protected:Npn \__driver_box_use_clip:N #1
{
- \__driver_literal:n { q }
+ \__driver_state_save:
\__driver_literal:n
{
- direct~
0~
\__dim_strip_bp:n { - \box_dp:N #1 } ~
\__dim_strip_bp:n { \box_wd:N #1 } ~
\__dim_strip_bp:n { \box_ht:N #1 + \box_dp:N #1 } ~
re~W~n
}
- \__driver_matrix:n { -1~0~0~-1 }
- \__driver_literal:n { q }
- \__driver_matrix:n { -1~0~0~-1 }
\hbox_overlap_right:n { \box_use:N #1 }
- \__driver_literal:n { Q }
- \__driver_literal:n { Q }
+ \__driver_state_restore:
\skip_horizontal:n { \box_wd:N #1 }
}
\cs_new_protected_nopar:Npn \__driver_box_rotate_begin:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
index 5c22f8648e9..5b0d1ff96a1 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3drivers.dtx Copyright(C) 2011-2013 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -47,7 +47,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3drivers.dtx 4632 2013-12-31 17:09:37Z joseph $
+\GetIdInfo$Id: l3drivers.dtx 4641 2014-01-04 17:05:41Z joseph $
{L3 Experimental drivers}
\ProvidesExplFile
{l3dvips.def}{\ExplFileDate}{\ExplFileVersion}
@@ -58,25 +58,40 @@
\cs_new_protected_nopar:Npn \__driver_state_restore:
{ \tex_special:D { ps:grestore } }
\cs_new_protected:Npn \__driver_literal:n #1
- { \tex_special:D { ps: #1 } }
-\cs_new_protected:Npn \__driver_box_use_clip:N #1
{
- \__driver_state_save:
- \__driver_literal:n
+ \tex_special:D
{
- /savedmatrix~matrix~currentmatrix~def~
- currentpoint~translate~
- Resolution~72~div~VResolution~72~div~scale
+ ps:
+ currentpoint~
+ currentpoint~translate~
+ #1 ~
+ neg~exch~neg~exch~translate
}
+ }
+\cs_new_protected:Npn \__driver_literal_direct:n #1
+ { \tex_special:D { ps:: #1 } }
+\cs_new:Npn \__driver_absolute_lengths:n #1
+ {
+ /savedmatrix~matrix~currentmatrix~def~
+ Resolution~72~div~VResolution~72~div~scale~
+ DVImag~dup~scale~
+ #1 ~
+ savedmatrix~setmatrix
+ }
+\cs_new_protected:Npn \__driver_box_use_clip:N #1
+ {
+ \__driver_state_save:
\__driver_literal:n
{
- 0~
- \__dim_strip_bp:n { \box_dp:N #1 } ~
- \__dim_strip_bp:n { \box_wd:N #1 } ~
- \__dim_strip_bp:n { - \box_ht:N #1 - \box_dp:N #1 } ~
- rectclip
+ \__driver_absolute_lengths:n
+ {
+ 0~
+ \__dim_strip_bp:n { \box_dp:N #1 } ~
+ \__dim_strip_bp:n { \box_wd:N #1 } ~
+ \__dim_strip_bp:n { - \box_ht:N #1 - \box_dp:N #1 } ~
+ rectclip
+ }
}
- \__driver_literal:n { savedmatrix~setmatrix }
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_state_restore:
\skip_horizontal:n { \box_wd:N #1 }
@@ -87,13 +102,11 @@
\fp_set:Nn \l__box_angle_fp { round ( \l__box_angle_fp , 5 ) }
\__driver_literal:n
{
- currentpoint~
- currentpoint~translate~
\fp_compare:nNnTF \l__box_angle_fp = \c_zero_fp
{ 0 }
{ \fp_eval:n { - \l__box_angle_fp } }
- \c_space_tl rotate~
- neg~exch~neg~exch~translate
+ \c_space_tl
+ rotate
}
}
\cs_new_eq:NN \__driver_box_rotate_end: \__driver_state_restore:
@@ -104,11 +117,9 @@
\fp_set:Nn \l__box_scale_y_fp { round ( \l__box_scale_y_fp , 5 ) }
\__driver_literal:n
{
- currentpoint~
- currentpoint~translate~
\fp_use:N \l__box_scale_x_fp \c_space_tl
- \fp_use:N \l__box_scale_y_fp \c_space_tl scale~
- neg~exch~neg~exch~translate
+ \fp_use:N \l__box_scale_y_fp \c_space_tl
+ scale
}
}
\cs_new_eq:NN \__driver_box_scale_end: \__driver_state_restore:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
index 58cd3eba906..40c33448806 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3expan.dtx Copyright (C) 1990-2013 The LaTeX3 project
+%% File: l3expan.dtx Copyright (C) 1990-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3expan.dtx 4584 2013-08-17 15:37:05Z joseph $
+\GetIdInfo$Id: l3expan.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Argument expansion}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
index b304cbda2d0..5ec5c9c034c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
@@ -25,7 +25,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3fp.dtx Copyright (C) 2011-2013 The LaTeX3 Project
+%% File: l3fp.dtx Copyright (C) 2011-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -59,7 +59,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3fp.dtx 4633 2013-12-31 17:28:46Z joseph $
+\GetIdInfo$Id: l3fp.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Floating points}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
index ff822e0f362..4746f4e17b4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3names.dtx Copyright (C) 1990-2013 The LaTeX3 project
+%% File: l3names.dtx Copyright (C) 1990-2014 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}[2012/07/15]
-\GetIdInfo$Id: l3names.dtx 4630 2013-12-29 21:04:05Z joseph $
+\GetIdInfo$Id: l3names.dtx 4640 2014-01-04 16:03:52Z joseph $
{L3 Namespace for primitives}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -497,6 +497,10 @@
\tex_let:D \luatex_pagedir:D \luatexpagedir
\tex_let:D \luatex_pardir:D \luatexpardir
\tex_let:D \luatex_textdir:D \luatextextdir
+\etex_ifdefined:D \pdftex_strcmp:D
+\tex_else:D
+ \tex_let:D \pdftex_strcmp:D \pdf@strcmp
+\tex_fi:D
%%
%%
%% End of file `l3names.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index ef13e1888a2..d6054191278 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3drivers.dtx Copyright(C) 2011-2013 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -47,7 +47,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3drivers.dtx 4632 2013-12-31 17:09:37Z joseph $
+\GetIdInfo$Id: l3drivers.dtx 4641 2014-01-04 17:05:41Z joseph $
{L3 Experimental drivers}
\ProvidesExplFile
{l3pdfmode.def}{\ExplFileDate}{\ExplFileVersion}
@@ -66,6 +66,8 @@
}
\cs_new_protected:Npn \__driver_literal:n #1
{ \pdftex_pdfliteral:D {#1} }
+\cs_new_protected:Npn \__driver_literal_direct:n #1
+ { \pdftex_pdfliteral:D direct {#1} }
\cs_if_exist:NTF \pdftex_pdfsetmatrix:D
{
\cs_new_protected:Npn \__driver_matrix:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
index a4120116cfe..53b96ee65c3 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3prg.dtx Copyright (C) 2005-2013 The LaTeX3 Project
+%% File: l3prg.dtx Copyright (C) 2005-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3prg.dtx 4587 2013-08-25 21:30:10Z joseph $
+\GetIdInfo$Id: l3prg.dtx 4642 2014-01-04 17:28:32Z joseph $
{L3 Control structures}
%%
\ProvidesExplPackage
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
index cc5c9beb713..3cb19f3088d 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
@@ -13,7 +13,7 @@
%%
%% Do not distribute a modified version of this file.
%%
-%% File: l3drivers.dtx Copyright(C) 2011-2013 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2014 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -47,38 +47,35 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3drivers.dtx 4632 2013-12-31 17:09:37Z joseph $
+\GetIdInfo$Id: l3drivers.dtx 4641 2014-01-04 17:05:41Z joseph $
{L3 Experimental drivers}
\ProvidesExplFile
{l3xdvidpfmx.def}{\ExplFileDate}{\ExplFileVersion}
{L3 Experimental driver: xdvipdfmx}
\__expl_package_check:
\cs_new_protected_nopar:Npn \__driver_state_save:
- { \tex_special:D { pdf:bcontent } }
+ { \tex_special:D { pdf:literal~q } }
\cs_new_protected_nopar:Npn \__driver_state_restore:
- { \tex_special:D { pdf:econtent } }
+ { \tex_special:D { pdf:literal~Q } }
\cs_new_protected:Npn \__driver_literal:n #1
{ \tex_special:D { pdf:literal~ #1 } }
+\cs_new_protected:Npn \__driver_literal_direct:n #1
+ { \tex_special:D { pdf:literal~direct~ #1 } }
\cs_new_protected:Npn \__driver_matrix:n #1
- { \__driver_literal:n { direct~ #1 \c_space_tl 0~0~cm } }
+ { \__driver_literal:n { #1 \c_space_tl 0~0~cm } }
\cs_new_protected:Npn \__driver_box_use_clip:N #1
{
- \__driver_literal:n { q }
+ \__driver_state_save:
\__driver_literal:n
{
- direct~
0~
\__dim_strip_bp:n { - \box_dp:N #1 } ~
\__dim_strip_bp:n { \box_wd:N #1 } ~
\__dim_strip_bp:n { \box_ht:N #1 + \box_dp:N #1 } ~
re~W~n
}
- \__driver_matrix:n { -1~0~0~-1 }
- \__driver_literal:n { q }
- \__driver_matrix:n { -1~0~0~-1 }
\hbox_overlap_right:n { \box_use:N #1 }
- \__driver_literal:n { Q }
- \__driver_literal:n { Q }
+ \__driver_state_restore:
\skip_horizontal:n { \box_wd:N #1 }
}
\cs_new_protected_nopar:Npn \__driver_box_rotate_begin: