summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-03-11 23:24:28 +0000
committerKarl Berry <karl@freefriends.org>2013-03-11 23:24:28 +0000
commit240300000e086212731e8d3698d2503a69179681 (patch)
tree84063d1aad96a8cbfbdc3f0580465ab6fb86f22e /Master/texmf-dist/source
parent006780247c6134dde2eadbcd2f23a15d9598e2fe (diff)
lualatex-math (11mar13)
git-svn-id: svn://tug.org/texlive/trunk@29346 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.dtx262
-rw-r--r--Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.ins2
2 files changed, 186 insertions, 78 deletions
diff --git a/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.dtx b/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.dtx
index a4d2ea921f8..aad394b9896 100644
--- a/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.dtx
+++ b/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 2011, 2012 by Philipp Stephani
+% Copyright 2011–2013 by Philipp Stephani
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,16 +16,22 @@
%
% \iffalse
%<*driver>
-\documentclass[a4paper, 10pt]{phst-doc}
+\documentclass[a4paper, 10pt, ngerman, american]{phst-doc}
\usepackage{lualatex-math}
\newcommand*{\thispackage}{\textsf{lualatex-math}\xspace}
+%<!english>\excludecomment{english}
+%<!german>\excludecomment{german}
+%<!english>\OnlyDescription
+
\begin{document}
+%<german>\selectlanguage{ngerman}
+
\DocInput{lualatex-math.dtx}
\PrintChanges
-\PrintIndex
+%<english>\PrintIndex
\end{document}
%</driver>
@@ -50,14 +56,29 @@
% Right brace \} Tilde \~}
%
%
-% \changes{v0.1}{2011/04/22}{Initial version}
-% \changes{v0.3a}{2011/09/13}{Updated for changes in \pkg{l3kernel}}
-% \changes{v1.0}{2012/08/27}{Switched to \pkg{l3docstrip}}
+% \begin{english}
+% \changes{v0.1}{2011/04/22}{Initial version}
+% \changes{v0.3a}{2011/09/13}{Updated for changes in \pkg{l3kernel}}
+% \changes{v1.0}{2012/08/27}{Switched to \pkg{l3docstrip}}
+% \end{english}
+%
+% \begin{german}
+% \changes{v0.1}{2011/04/22}{Erste Version}
+% \changes{v0.3a}{2011/09/13}{Aktualisierung nach inkompatiblen Änderungen in \pkg{l3kernel}}
+% \changes{v1.0}{2012/08/27}{Umstellung auf \pkg{l3docstrip}}
+% \end{german}
%
% \GetFileInfo{lualatex-math.sty}
%
-% \title{The \thispackage package\thanks{This document corresponds to
-% \thispackage{}~\fileversion, dated~\filedate.}}
+% \begin{english}
+% \title{The \thispackage package\thanks{This document corresponds to
+% \thispackage{}~\fileversion, dated~\filedate.}}
+% \end{english}
+% \begin{german}
+% \title{Das Paket \thispackage\thanks{Dieses Dokument beschreibt
+% \thispackage{}~\fileversion vom~\filedate.}}
+% \end{german}
+%
% \author{Philipp Stephani \\ \texttt{p.stephani2@gmail.com}}
% \date{\filedate}
%
@@ -66,68 +87,150 @@
% \tableofcontents
%
%
-% \section{Introduction}
-%
-% \Hologo{LuaTeX} brings major improvements to all areas of \hologo{TeX}
-% typesetting and programming. They are made available through new primitives
-% or the embedded Lua interpreter, and combining them with existing
-% \hologo{LaTeX2e} packages is not a task the average \hologo{LaTeX} user
-% should have to care about. Therefore a multitude of \hologo{LaTeX2e}
-% packages have been written to bridge the gap between documents and the new
-% features. The \thispackage package focuses on the additional possibilities
-% for mathematical typesetting. The most eminent of the new features is the
-% ability to use Unicode and OpenType fonts, as provided by \Robertson’s
-% \pkg{unicode-math} package. However, there is a smaller group of changes
-% unrelated to Unicode: these are to be dealt with in this package. While in
-% principle most \hologo{TeX} documents written for traditional engines should
-% work just fine with \hologo{LuaTeX}, there is a small number of breaking
-% changes that require the attention of package authors. The \thispackage
-% package tries to fix some of the issues encountered while porting traditional
-% macro packages to \hologo{LuaLaTeX}.
-%
-% The decision to write patches for existing macro packages should not be made
-% lightly: monkey patching done by somebody different from the original package
-% author ties the patching package to the implementation details of the patched
-% functionality and breaks all rules of encapsulation. However, due to the
-% lack of alternatives, it has become an accepted way of providing new
-% functionality in \hologo{LaTeX}. To keep the negative impact as small as
-% possible, the \thispackage package patches only the \hologo{LaTeX2e} kernel
-% and a small number of popular packages. In general, this package should be
-% regarded as a temporary kludge that should be removed once the math-related
-% packages are updated to be usable with \hologo{LuaTeX}. By its very nature,
-% the package is likely to cause problems; in such cases, please refer to the
-% issue tracker\footnote{\url{https://github.com/phst/lualatex-math/issues}}.
-%
-%
-% \section{Interface}
-%
-% The \thispackage package can be loaded with \cmd{\usepackage} or
-% \cmd{\RequirePackage}, as usual. It has no options and no public interface;
-% the patching is always done when the package is loaded and cannot be
-% controlled. As a matter of course, the \thispackage package needs
-% \hologo{LuaLaTeX} to function; it will produce error messages and refuse to
-% load under other engines and formats. The package depends on the \pkg{expl3}
-% bundle, the \pkg{etoolbox} package, the \pkg{luatexbase} bundle and the
-% \pkg{filehook} package. The \thispackage package is independent of the
-% \pkg{unicode-math} package; the fixes provided here are valid for both
-% Unicode and legacy math typesetting.
-%
-% Currently patches for the \hologo{LaTeX2e} kernel and the \pkg{amsmath},
-% \pkg{amsopn}, \pkg{mathtools} and \pkg{icomma} packages are provided. It is
-% not relevant whether you load these packages before or after \thispackage.
-% They should work as expected (and ideally you shouldn’t notice anything), but
-% if you load other packages that by themselves overwrite commands patched by
-% this package, bad things may happen, as it is usual with \hologo{LaTeX}.
-%
-% One user-visible change is that the new
-% \DescribeMacros{\mathstyle\luatexmathstyle}\cmd{\mathstyle} primitive
-% (usually called \cmd{\luatexmathstyle} in \hologo{LuaLaTeX}) should work in
-% all cases after the \thispackage package has been loaded, provided you use
-% the high-level macros \DescribeMacros{\frac\binom\genfrac}\cmd{\frac},
-% \cmd{\binom}, and \cmd{\genfrac}. The fraction-like \hologo{TeX} primitives
-% like \cmd{\over} or \cmd{\atopwithdelims} and the \hologo{plainTeX} leftovers
-% like \cmd{\brack} or \cmd{\choose} cannot be patched, and you shouldn’t use
-% them.
+% \begin{english}
+% \section{Introduction}
+%
+% \Hologo{LuaTeX} brings major improvements to all areas of \hologo{TeX}
+% typesetting and programming. They are made available through new primitives
+% or the embedded Lua interpreter, and combining them with existing
+% \hologo{LaTeX2e} packages is not a task the average \hologo{LaTeX} user
+% should have to care about. Therefore a multitude of \hologo{LaTeX2e}
+% packages have been written to bridge the gap between documents and the new
+% features. The \thispackage package focuses on the additional possibilities
+% for mathematical typesetting. The most eminent of the new features is the
+% ability to use Unicode and OpenType fonts, as provided by \Robertson’s
+% \pkg{unicode-math} package. However, there is a smaller group of changes
+% unrelated to Unicode: these are to be dealt with in this package. While in
+% principle most \hologo{TeX} documents written for traditional engines should
+% work just fine with \hologo{LuaTeX}, there is a small number of breaking
+% changes that require the attention of package authors. The \thispackage
+% package tries to fix some of the issues encountered while porting traditional
+% macro packages to \hologo{LuaLaTeX}.
+%
+% The decision to write patches for existing macro packages should not be
+% made lightly: monkey patching done by somebody different from the original
+% package author ties the patching package to the implementation details of
+% the patched functionality and breaks all rules of encapsulation. However,
+% due to the lack of alternatives, it has become an accepted way of providing
+% new functionality in \hologo{LaTeX}. To keep the negative impact as small
+% as possible, the \thispackage package patches only the \hologo{LaTeX2e}
+% kernel and a small number of popular packages. In general, this package
+% should be regarded as a temporary kludge that should be removed once the
+% math-related packages are updated to be usable with \hologo{LuaTeX}. By
+% its very nature, the package is likely to cause problems; in such cases,
+% please refer to the issue
+% tracker\footnote{\url{https://github.com/phst/lualatex-math/issues}}.
+% \end{english}
+%
+% \begin{german}
+% \section{Einführung}
+%
+% \Hologo{LuaTeX} bringt zahlreiche Verbesserungen für alle Gebiete des
+% Satzes und der Programmierung mit \hologo{TeX} mit sich. Diese
+% Verbesserungen werden in Form von neuen primitiven Befehlen oder durch den
+% eingebetteten Lua-Interpreter zur Verfügung gestellt, und normale
+% \hologo{LaTeX}-Benutzer sollten sich nicht damit beschäftigen müssen, sie
+% in \hologo{LaTeX2e} zu integrieren. Aus diesem Grund ist eine Vielzahl von
+% \hologo{LaTeX2e}-Paketen entstanden, um die Lücke zwischen existierenden
+% Dokumenten und den neuen Möglichkeiten zu schließen. Das Paket
+% \thispackage beschäftigt sich mit den zusätzlichen Möglichkeiten für den
+% Mathematiksatz. Die wichtigste davon ist die Möglichkeit, Unicode und
+% OpenType-Schriften zu benutzen, was durch \Robertson{}s
+% \pkg{unicode-math}-Paket ermöglicht wird. Allerdings gibt es ein paar
+% Änderungen, die nicht in Bezug zu Unicode stehen: um diese kümmert sich das
+% vorliegende Paket. Während prinzipiell die meisten \hologo{TeX}-Dokumente,
+% die zur Verwendung mit den althergebrachten Engines verfasst wurden, ohne
+% Probleme auch mit \hologo{LuaTeX} funktionieren sollten, gibt es ein paar
+% wenige inkompatible Änderungen, die die Aufmerksamkeit von Paketautoren
+% einfordern. Das \thispackage-Paket versucht, einige der Probleme zu lösen,
+% die bei der Übertragung einiger vorhandener Makropakete nach
+% \hologo{LuaLaTeX} festgestellt wurden.
+%
+% Im Allgemeinen sollte man nur nach sorgfältiger Abwägung Patches für
+% vorhandene Makropakete verfassen: das Patchen von Code durch jemand anderen
+% als den ursprünglichen Autor macht den neuen Code von der Implementation
+% der gepatchten Funktionalität abhänging, was dem Kapselungsprinzip
+% widerspricht. Dennoch ist diese Art der Programmierung mangels
+% Alternativen zu einer akzeptierten Herangehensweise beim Implementieren
+% neuer Funktionalität für \hologo{LaTeX} geworden. Um die negativen
+% Auswirkungen so gering wie möglich zu halten, verändert das
+% \thispackage-Paket nur den \hologo{LaTeX2e}-Kern und einige wenige bekannte
+% Pakete. Generell sollte das vorliegende Paket als eine Zwischenlösung
+% angesehen werden, die zu entfernen ist, sobald die mathematiksatzbezogenen
+% Pakete aktualisiert wurden und korrekt unter \hologo{LuaTeX} funktionieren.
+% Aufgrund seiner Natur ist es wahrscheinlich, dass dieses Paket Probleme
+% verursacht; in diesen Fall benutze bitte den
+% Bugtracker\footnote{\url{https://github.com/phst/lualatex-math/issues}}.
+% \end{german}
+%
+%
+% \begin{english}
+% \section{Interface}
+%
+% The \thispackage package can be loaded with \cmd{\usepackage} or
+% \cmd{\RequirePackage}, as usual. It has no options and no public
+% interface; the patching is always done when the package is loaded and
+% cannot be controlled. As a matter of course, the \thispackage package
+% needs \hologo{LuaLaTeX} to function; it will produce error messages and
+% refuse to load under other engines and formats. The package depends on the
+% \pkg{expl3} bundle, the \pkg{etoolbox} package, the \pkg{luatexbase} bundle
+% and the \pkg{filehook} package. The \thispackage package is independent of
+% the \pkg{unicode-math} package; the fixes provided here are valid for both
+% Unicode and legacy math typesetting.
+%
+% Currently patches for the \hologo{LaTeX2e} kernel and the \pkg{amsmath},
+% \pkg{amsopn}, \pkg{mathtools} and \pkg{icomma} packages are provided. It
+% is not relevant whether you load these packages before or after
+% \thispackage. They should work as expected (and ideally you shouldn’t
+% notice anything), but if you load other packages that by themselves
+% overwrite commands patched by this package, bad things may happen, as it is
+% usual with \hologo{LaTeX}.
+%
+% One user-visible change is that the new
+% \DescribeMacros{\mathstyle\luatexmathstyle}\cmd{\mathstyle} primitive
+% (usually called \cmd{\luatexmathstyle} in \hologo{LuaLaTeX}) should work in
+% all cases after the \thispackage package has been loaded, provided you use
+% the high-level macros \DescribeMacros{\frac\binom\genfrac}\cmd{\frac},
+% \cmd{\binom}, and \cmd{\genfrac}. The fraction-like \hologo{TeX}
+% primitives like \cmd{\over} or \cmd{\atopwithdelims} and the
+% \hologo{plainTeX} leftovers like \cmd{\brack} or \cmd{\choose} cannot be
+% patched, and you shouldn’t use them.
+% \end{english}
+%
+% \begin{german}
+% \section{Schnittstelle}
+%
+% Das \thispackage-Paket kann wie üblich mit Hilfe von |\usepackage| oder
+% |\RequirePackage| geladen werden. Es besitzt weder Optionen noch eine
+% öffentliche Schnittstelle; der Patchprozess wird automatisch durchgeführt,
+% sobald das Paket geladen wird. Selbstverständlich funktioniert das
+% \thispackage-Paket nur unter \hologo{LuaLaTeX}; für andere Engines oder
+% Formate bricht das Laden mit einer Fehlermeldung ab. Das Paket hängt von
+% der \pkg{expl3}-Sammlung, dem \pkg{etoolbox}-Paket, der
+% \pkg{luatexbase}-Sammlung und dem \pkg{filehook}-Paket ab. Das
+% \thispackage-Paket ist unabhängig vom \pkg{unicode-math}-Paket; die hier
+% zur Verfügung gestellten Korrekturen sind sowohl für Unicode"~ als auch für
+% herkömmlichen Mathematiksatz gültig.
+%
+% Aktuell werden Patches für den \hologo{LaTeX2e}-Kern sowie für die Pakete
+% \pkg{amsmath}, \pkg{amsopn}, \pkg{mathtools} und \pkg{icomma} angeboten.
+% Es spielt keine Rolle, ob diese Pakete vor oder nach \thispackage geladen
+% werden. Sie sollten funktionieren wie erwartet (und idealerweise sollte
+% überhaupt keine Änderung bemerkbar sein), aber falls du andere Pakete, die
+% selbst Befehle überschreiben, die von dem vorliegenden Paket gepatcht
+% werden, lädst, können Probleme auftreten, wie bei \hologo{LaTeX} üblich.
+%
+% Eine für den Benutzer sichtbare Änderung besteht darin, dass der neue
+% primitive Befehl \DescribeMacros{\mathstyle\luatexmathstyle}|\mathstyle|
+% (in \hologo{LuaLaTeX} allgemein als |\luatexmathstyle| bekannt) in allen
+% Fällen funktionieren sollte, nachdem \thispackage geladen wurde, unter der
+% Bedingung, dass die High-Level-Makros
+% \DescribeMacros{\frac\binom\genfrac}|\frac|, |\binom| und |\genfrac|
+% benutzt werden. Die bruchartigen primitiven \hologo{TeX}-Befehle wie
+% |\over| oder |\atopwithdelims| und die Makros aus dem
+% \hologo{plainTeX}-Format wie |\brack| oder |\choose| können nicht gepatcht
+% werden und sollten allgemein vermieden werden.
+% \end{german}
%
% \StopEventually{}
%
@@ -141,7 +244,7 @@
%<@@=lltxmath>
\NeedsTeXFormat{LaTeX2e}[2009/09/24]
\RequirePackage{expl3}[2012/08/14]
-\ProvidesExplPackage{lualatex-math}{2012/10/13}{1.1}%
+\ProvidesExplPackage{lualatex-math}{2013/01/13}{1.2}%
{Patches for mathematics typesetting with LuaLaTeX}
\RequirePackage { etoolbox } [ 2007/10/08 ]
\RequirePackage { luatexbase } [ 2010/05/27 ]
@@ -212,7 +315,7 @@
% \begin{l3message}{wrong-meaning}
% Issued when trying to patch a macro with an unexpected meaning. The first
% argument must be the detokenized macro name; the second argument must be
-% the actual detokenized meaning; and the thied argument must be the expected
+% the actual detokenized meaning; and the third argument must be the expected
% detokenized meaning.
% \begin{macrocode}
\msg_new:nnn { lualatex-math } { wrong-meaning } {
@@ -509,9 +612,10 @@
% will fail. If \pkg{amsmath} has already been loaded, there is nothing we
% can do, therefore we use the non-starred version of
% \cmd{\AtBeginOfPackageFile}.
+% \changes{v1.2}{2013/01/13}{Replace removed macro \cs{chk_if_free_cs:N}}
% \begin{macrocode}
-\chk_if_free_cs:N \l_@@_minus_mathchar
-\chk_if_free_cs:N \l_@@_equal_mathchar
+\tl_new:N \l_@@_minus_mathchar
+\tl_new:N \l_@@_equal_mathchar
\AtBeginOfPackageFile { amsmath } {
\@@_set_mathchar:NN \l_@@_minus_mathchar \-
\@@_set_mathchar:NN \l_@@_equal_mathchar \=
@@ -1272,23 +1376,25 @@ end
% \enquote{math groups} in \hologo{LaTeX} parlance). Therefore we should still
% be able to allocate 252 families. We do this alternately with \cmd{\newfam},
% \cmd{\new@mathgroup} and \cmd{\DeclareSymbolFont}.
+% \changes{v1.2}{2013/01/13}{Replace removed macro \cs{chk_if_free_cs:N}}
+% \changes{v1.2}{2013/01/13}{Track renaming of \cs{int_step_inline:nnnn}}
% \begin{macrocode}
%<*test-kernel-alloc>
\usepackage{lualatex-math}
\makeatletter
\ExplSyntaxOn
-\prg_stepwise_inline:nnnn { \c_four } { \c_one } {
+\int_step_inline:nnnn { \c_four } { \c_one } {
\c_two_hundred_fifty_five - \c_one
} {
- \prg_case_int:nnn { \int_mod:nn { #1 } { \c_three } } {
+ \int_case:nnn { \int_mod:nn { #1 } { \c_three } } {
{ \c_zero } {
- \chk_if_free_cs:N \g_@@_family_int
+ \int_new:N \g_@@_family_int
\newfam \g_@@_family_int
\AssertIntEqual { \g_@@_family_int } { #1 }
\cs_undefine:N \g_@@_family_int
}
{ \c_one } {
- \chk_if_free_cs:N \g_@@_mathgroup_int
+ \int_new:N \g_@@_mathgroup_int
\new@mathgroup \g_@@_mathgroup_int
\AssertIntEqual { \g_@@_mathgroup_int } { #1 }
\cs_undefine:N \g_@@_mathgroup_int
diff --git a/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.ins b/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.ins
index ffc3097af88..ddb6c0b28be 100644
--- a/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.ins
+++ b/Master/texmf-dist/source/lualatex/lualatex-math/lualatex-math.ins
@@ -48,6 +48,8 @@ LaTeX version 2009/09/24 or later.
\file{test-unicode.tex}{\from{lualatex-math.dtx}{test,test-unicode}}
\file{test-icomma.tex}{\from{lualatex-math.dtx}{test,test-icomma}}
\file{test-icomma-unicode.tex}{\from{lualatex-math.dtx}{test,test-icomma-unicode}}
+ \file{lualatex-math.drv}{\from{lualatex-math.dtx}{driver,english}}
+ \file{lualatex-math-de.drv}{\from{lualatex-math.dtx}{driver,german}}
}
\def\MetaPrefix{--}