From 899df8057d5769250db18b1f57dc1757fc2a0fe7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 15 Sep 2011 23:30:05 +0000 Subject: new latex package delim (15sep11) git-svn-id: svn://tug.org/texlive/trunk@23974 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/delim/README | 8 + Master/texmf-dist/doc/latex/delim/delim.pdf | Bin 0 -> 298877 bytes Master/texmf-dist/source/latex/delim/delim.dtx | 224 +++++++++++++++++++++++ Master/texmf-dist/source/latex/delim/delim.ins | 50 +++++ Master/texmf-dist/tex/latex/delim/delim.sty | 46 +++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/delim.tlpsrc | 0 8 files changed, 330 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/delim/README create mode 100644 Master/texmf-dist/doc/latex/delim/delim.pdf create mode 100644 Master/texmf-dist/source/latex/delim/delim.dtx create mode 100644 Master/texmf-dist/source/latex/delim/delim.ins create mode 100644 Master/texmf-dist/tex/latex/delim/delim.sty create mode 100644 Master/tlpkg/tlpsrc/delim.tlpsrc diff --git a/Master/texmf-dist/doc/latex/delim/README b/Master/texmf-dist/doc/latex/delim/README new file mode 100644 index 00000000000..d84ade3abb5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/delim/README @@ -0,0 +1,8 @@ +delim.sty: + Simplifies formatting of delimiters in mathematical expressions, by + providing a syntactically cleaner alternative to \left, \middle, \right + and their fixed-size counterparts like \bigl etc. + +This material is subject to the LaTeX Project Public License. See +http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the +details of that license. diff --git a/Master/texmf-dist/doc/latex/delim/delim.pdf b/Master/texmf-dist/doc/latex/delim/delim.pdf new file mode 100644 index 00000000000..4fde1efb44e Binary files /dev/null and b/Master/texmf-dist/doc/latex/delim/delim.pdf differ diff --git a/Master/texmf-dist/source/latex/delim/delim.dtx b/Master/texmf-dist/source/latex/delim/delim.dtx new file mode 100644 index 00000000000..b4ce90aebfe --- /dev/null +++ b/Master/texmf-dist/source/latex/delim/delim.dtx @@ -0,0 +1,224 @@ +% \iffalse meta-comment +% +% Copyright 2010 by Stefan Majewsky +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% of this license or (at your option) any later version. +% The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% \fi +% +% \iffalse +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{delim} +% [2011/09/13 1.0 Typesetting of mathematical delimiters] +% +%<*driver> +\documentclass{ltxdoc} + \usepackage[english]{babel} + \usepackage[utf8]{inputenc} + \usepackage[T1]{fontenc} + \usepackage{delim,calc} + + \newenvironment{pexample} + {\vspace{1em}\begin{tabular}{@{\hspace{1em}}l}} + {\end{tabular}\par} + \newenvironment{example}[1] + {\vspace{1em}\begin{tabular}{@{\hspace{1em}}p{#1\linewidth}@{\hspace{3em}}l}} + {\end{tabular}\vspace{1em}} + + \setlength\parindent{0pt} + \EnableCrossrefs + \CodelineIndex + \RecordChanges + \begin{document} + \DocInput{delim.dtx} + \end{document} +% +% +% \fi +% +% \CheckSum{66} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \changes{v1.0}{2011/09/13}{Simplified user interface} +% \changes{v0.2}{2010/05/13}{Much simpler implementation without ifthen package} +% \changes{v0.1}{2010/05/06}{Initial Version} +% +% \GetFileInfo{delim.sty} +% +% \DoNotIndex{} +% +% \title{The \textsf{delim} package\thanks{This document +% corresponds to \textsf{delim}~\fileversion, +% dated~\filedate.}} +% \author{Stefan Majewsky \\ \texttt{majewsky@gmx.net}} +% +% \maketitle +% \begin{abstract} +% This package simplifies typesetting of variable-size delimiters (like +% parentheses) in mathematical expressions. +% \end{abstract} +% +% {\LaTeX} provides some commands for the correct typesetting of delimiters in +% mathematical expressions. Consider the following equation: +% +% \begin{example}{0.15} +% $\displaystyle(a + \frac bc) \cdot d$ & +% |(a + \frac bc) \cdot d| +% \end{example} +% +% By default, the parentheses will not scale up correctly. The |\left| and |\right| commands fix this problem: +% +% \begin{example}{0.15} +% $\displaystyle\left(a + \frac bc\right) \cdot d$ & +% |\left(a + \frac bc\right) \cdot d| +% \end{example} +% +% But because it's cumbersome to write |\left| and |\right| every time, we +% define and use a macro: +% +% \delimdef\p#1{\dleft(#1\dright)} +% \begin{pexample} +% |\delimdef\p#1{\dleft(#1\dright)}| +% \end{pexample} +% \begin{example}{0.15} +% $\displaystyle\p{a + \frac bc} \cdot d$ & +% |\p{a + \frac bc} \cdot d| +% \end{example} +% +% \DescribeMacro{\delimdef} +% \DescribeMacro{\dleft} \DescribeMacro{\dmiddle} \DescribeMacro{\dright} +% We did not use |\def|, but |\delimdef| which is defined by this package. +% Also, we substituted |\dleft| and |\dright| for |\left| and |\right|. There's +% also |\dmiddle|, as in this example: +% +% \delimdef\braket#1#2{\dleft\langle#1\dmiddle\vert#2\dright\rangle} +% \begin{pexample} +% |\delimdef\braket#1#2{\dleft\langle#1\dmiddle\vert#2\dright\rangle}| +% \end{pexample} +% \begin{example}{0.15} +% $\displaystyle\braket{\psi_n(t)}\psi$ & +% |\braket{\psi_n(t)}\psi| +% \end{example} +% +% But why wouldn't we want to use |\def|? Because |\left|, |\middle| and +% |\right| are not always what you want. For example, if you want the delimiters +% to be a bit bigger in the last example, you would substitute |\bigl|, |\bigm| +% and |\bigr| for |\left|, |\middle| and |\right|. This is not possible with +% a simple |\def| macro. Macros defined by |\delimdef| can substitute |\dleft| +% etc. for any common set of delimiter commands, by using a \emph{size prefix}: +% +% \begin{example}{0.15} +% $\displaystyle\mbig\braket{\psi_n(t)}\psi$ & +% |\mbig\braket{\psi_n(t)}\psi| +% \end{example} +% +% Let's look at another example: +% +% \begin{example}{0.15} +% $\displaystyle\p{\underbrace{a_1 + a_2}_{=b}}$ & +% |\p{\underbrace{a_1 + a_2}_{=b}}| +% \end{example} +% +% We want to use our |\p| macro, but the parentheses should be reset to their +% normal size. The size prefix |\mnorm| does just that: +% +% \begin{example}{0.15} +% $\displaystyle\mnorm\p{\underbrace{a_1 + a_2}_{=b}}$ & +% |\mnorm\p{\underbrace{a_1 + a_2}_{=b}}| +% \end{example} +% +% \DescribeMacro{\mnorm} \DescribeMacro{\mbig} \DescribeMacro{\mBig} +% \DescribeMacro{\mbigg} \DescribeMacro{\mBigg} \DescribeMacro{\mauto} +% The following size prefixes are defined by this package: +% +% \begin{example}{0.15} +% $\displaystyle\mnorm\p{\frac ab}$ & |\mnorm| (normal character size) \\[1em] +% $\displaystyle\mbig\p{\frac ab}$ & |\mbig = \bigl| etc. \\[1em] +% $\displaystyle\mBig\p{\frac ab}$ & |\mBig = \Bigl| etc. \\[1em] +% $\displaystyle\mbigg\p{\frac ab}$ & |\mbigg = \biggl| etc. \\[1em] +% $\displaystyle\mBigg\p{\frac ab}$ & |\mBigg = \Biggl| etc. \\[1.5em] +% $\displaystyle\mauto\p{\frac ab}$ & |\mauto = \left| etc. (default behavior) +% \end{example} +% +% \DescribeMacro{\delim@load} +% If no prefix is given, |\mauto| is used. New size prefixes can be defined +% using the |\delim@load| macro; refer to the implementation of the existing +% prefixes for details. +% +% \clearpage\section*{Implementation} +% +% \begin{macro}{\delim@load} +% Size prefixes use this macro to enter a new delimiter level and define the +% delimiter commands for that level. |\delim@loaded| signals that delimiter +% commands have been provided for this level. Its exact content is irrelevant, +% only the fact that it is defined is needed (see below). +% \begin{macrocode} +\def\delim@load#1#2#3{% + \begingroup% + \def\dleft{#1}% + \def\dmiddle{#2}% + \def\dright{#3}% + \def\delim@loaded{}% +}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\mauto}\begin{macro}{\mnorm}\begin{macro}{\mbig}\begin{macro}{\mBig}\begin{macro}{\mbigg}\begin{macro}{\mBigg} +% The size prefixes are defined using |\delim@load|. +% \begin{macrocode} +\newcommand\mauto{\delim@load\left\middle\right}% +\newcommand\mnorm{\delim@load\relax\relax\relax}% +\newcommand\mbig{\delim@load\bigl\bigm\bigr}% +\newcommand\mBig{\delim@load\Bigl\Bigm\Bigr}% +\newcommand\mbigg{\delim@load\biggl\biggm\biggr}% +\newcommand\mBigg{\delim@load\Biggl\Biggm\Biggr}% +% \end{macrocode} +% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro} +% \begin{macro}{\delimdef} +% This defines a new delimiter macro. The macro substitution text is +% extended by a grouping level, with additional logic being collected in +% |\delim@begingroup|. +% \begin{macrocode} +\def\delimdef#1#{\delim@def{#1}}% +\def\delim@def#1#2{\def#1{\delim@begingroup#2\endgroup}}% +% \end{macrocode} +% Special thanks go to Martin Scharrer for pointing out to me the capabilities +% of |\def| used in this implementation (see +% |http://tex.stackexchange.com/questions/28207/|). +% \end{macro} +% \begin{macro}{\delim@begingroup} +% |\delim@begingroup| ensures that delimiters are loaded (default is |\mauto|) +% and the |\delim@loaded| flag is cleared (for cascaded delimiter macros to work +% properly). The |\begingroup| is contained in the delimiter macro, see the +% definition of |\delim@load|. +% \begin{macrocode} +\def\delim@begingroup{% + \ifx\delim@loaded\undefined\mauto\fi% + \let\delim@loaded\undefined% +}% +% \end{macrocode} +% \end{macro} +% +% \Finale diff --git a/Master/texmf-dist/source/latex/delim/delim.ins b/Master/texmf-dist/source/latex/delim/delim.ins new file mode 100644 index 00000000000..2f2e9e234b8 --- /dev/null +++ b/Master/texmf-dist/source/latex/delim/delim.ins @@ -0,0 +1,50 @@ +%% +%% Copyright 2011 Stefan Majewsky +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.2 of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.2 or later is part of all distributions of +%% LaTeX version 1999/12/01 or later. +%% +\input docstrip.tex +\keepsilent +\usedir{tex/latex/delim} + +\preamble + +This is a generated file. + +Copyright 2011 Stefan Majewsky +This file may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.2 of this license or (at your option) any later +version. The latest version of this license is in: + + http://www.latex-project.org/lppl.txt + +and version 1.2 or later is part of all distributions of +LaTeX version 1999/12/01 or later. + +\endpreamble + +\generate{\file{delim.sty}{\from{delim.dtx}{package}}} + +\Msg{*********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the} +\Msg{* following file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space delim.sty} +\Msg{*} +\Msg{* To produce the documentation run the file delim.dtx} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/delim/delim.sty b/Master/texmf-dist/tex/latex/delim/delim.sty new file mode 100644 index 00000000000..b72272c5a55 --- /dev/null +++ b/Master/texmf-dist/tex/latex/delim/delim.sty @@ -0,0 +1,46 @@ +%% +%% This is file `delim.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% delim.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright 2011 Stefan Majewsky +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.2 of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.2 or later is part of all distributions of +%% LaTeX version 1999/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{delim} + [2011/09/13 1.0 Typesetting of mathematical delimiters] +\def\delim@load#1#2#3{% + \begingroup% + \def\dleft{#1}% + \def\dmiddle{#2}% + \def\dright{#3}% + \def\delim@loaded{}% +}% +\newcommand\mauto{\delim@load\left\middle\right}% +\newcommand\mnorm{\delim@load\relax\relax\relax}% +\newcommand\mbig{\delim@load\bigl\bigm\bigr}% +\newcommand\mBig{\delim@load\Bigl\Bigm\Bigr}% +\newcommand\mbigg{\delim@load\biggl\biggm\biggr}% +\newcommand\mBigg{\delim@load\Biggl\Biggm\Biggr}% +\def\delimdef#1#{\delim@def{#1}}% +\def\delim@def#1#2{\def#1{\delim@begingroup#2\endgroup}}% +\def\delim@begingroup{% + \ifx\delim@loaded\undefined\mauto\fi% + \let\delim@loaded\undefined% +}% +\endinput +%% +%% End of file `delim.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 37a63d006ad..7144a1a916e 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -117,7 +117,7 @@ my @TLP_working = qw( dancers dashbox dashrule dashundergaps datatool dateiliste datenumber datetime dblfloatfix dcpic de-macro decimal decorule dehyph-exptl dejavu - delimtxt dfgproposal + delim delimtxt dfgproposal diagmac2 diagnose dichokey dictsym digiconfigs din1505 dinat dinbrief dingbat directory dirtree dirtytalk disser dk-bib dlfltxb dnaseq doc-pictex docmfp docmute doi doipubmed diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index a1fd8e66f04..6c039e6b057 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -156,6 +156,7 @@ depend datetime depend dblfloatfix depend decimal depend decorule +depend delim depend delimtxt depend diagnose depend dichokey diff --git a/Master/tlpkg/tlpsrc/delim.tlpsrc b/Master/tlpkg/tlpsrc/delim.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3