summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/ncctools/extdash.dtx155
-rw-r--r--Master/texmf-dist/source/latex/ncctools/nccmath.dtx24
-rw-r--r--Master/texmf-dist/source/latex/ncctools/nccsect.dtx38
3 files changed, 161 insertions, 56 deletions
diff --git a/Master/texmf-dist/source/latex/ncctools/extdash.dtx b/Master/texmf-dist/source/latex/ncctools/extdash.dtx
index 52e192a811d..597ef17cd74 100644
--- a/Master/texmf-dist/source/latex/ncctools/extdash.dtx
+++ b/Master/texmf-dist/source/latex/ncctools/extdash.dtx
@@ -1,14 +1,15 @@
% \iffalse
%%
-%% File: extdash.dtx Copyright (C) 1998-2005 by Alexander I. Rozhenko
+%% File: extdash.dtx Copyright (C) 1998-2018 by Alexander I. Rozhenko
%%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{extdash}
-%<package> [2005/01/29 v1.2 Extended Dash Package (NCC)]
+%<package> [2018/06/24 v1.3 Extended Dash Package (NCC)]
%
% \changes{v1.0}{1998/12/20}{Initial version}
% \changes{v1.1}{2004/11/23}{Minor corrections of the documentation}
% \changes{v1.2}{2005/01/29}{Change spaces surround em-dash}
+% \changes{v1.3){2018/06/24}{Add more em-dash configuring options by request from Frank Mittelbach}
%
%<*driver>
\let\makeindex\relax
@@ -38,7 +39,7 @@
% \DescribeMacro{\Hyphdash}
% \DescribeMacro{\Hyphdash*}
% The main purpose of the |extdash| package is to allow hyphenation
-% of compound words. When the word |something-something| occur the only
+% of compound words. When the word |something-something| occurs, the only
% hyphenation point after the dash is available. To allow hyphenation
% of both words joint by dash you can write
% \begin{center}
@@ -46,19 +47,19 @@
% |something\-/something|
% \end{center}
% (the last case is available if\/ you use the package |extdash|
-% with |shortcuts| option). Some times the line break immediately after
-% the dash is inadmissible. To avoid it you can write
+% with |shortcuts| option). Sometimes the line break immediately after
+% the dash is inadmissible. To avoid this, you can write
% \begin{center}
% |something\Hyphdash* something|\quad or easier\quad
% |something\=/something|
% \end{center}
-% (the last case is also shortcut). An example is the word
-% \emph{$L$-approximation} which can't be broken at the dash.
+% (the last case is also a shortcut). An example is the word
+% \emph{$L$-approximation} which can't be broken at the dash.\pagebreak
%
% \DescribeMacro{\Endash}
% \DescribeMacro{\Endash*}
-% Analogously, you can use |\Endash| command (may be with star) to join
-% words by \emph{en-dash}. Shortcuts for it are |\--| and |\==|.
+% Analogously, you can use |\Endash| command (and its star version) to join
+% words with \emph{en-dash}. Shortcuts for it are |\--| and |\==|.
%
% \DescribeMacro{\Emdash}
% \DescribeMacro{\Emdash*}
@@ -69,8 +70,8 @@
% \DescribeMacro{\Halfspace*}
% half of the ordinary interword space. The |\Halfspace| command
% produces the \emph{elastic} horizontal space and its |*|-form
-% produces the unbreakable elastic space. All these commands have
-% shortcuts, named
+% produces the nonbreakable elastic space. All these commands have
+% shortcuts
% \begin{center}
% |\---|\qquad |\===|\qquad |\-,|\qquad |\=,|
% \end{center}
@@ -78,29 +79,30 @@
% When |\Emdash| appears at the beginning of a paragraph (the direct
% speech) the space after it will be rigid and unbreakable.
%
-% The standard em-dash is longer that it is required by Russian
-% typesetting rules. To decrease its length to required one you have
-% to use |extdash| package with |cyremdash| option.
+% The standard em-dash is longer that it is required by Russian and German
+% typesetting rules. To decrease its length to the required one, you can
+% use this package with |shortemdash| option
+% (the |cyremdash| option is also supported for compatibility with the previous
+% version).
%
-% \section{The Package Options}
+% Note: Some more options are available from the version 1.3. They control
+% the spacing around |\Emdash| and the breaking strategy to be applied
+% before it.
+%
+% \section{Package Options}
+%
+% \subsection{Shortcuts}
%
-% The |extdash| package provides two options, |shortcuts| and
-% |cyremdash|:
% \begin{center}
-% |\usepackage[shortcuts,cyremdash]{extdash}|
+% |\usepackage[shortcuts]{extdash}|
% \end{center}
%
-% First option redefines \LaTeX{} commands |\-| and |\=| in
+% The |shortcuts| option redefines \LaTeX{} commands |\-| and |\=| in
% such a way to recognize shortcut sequences. If\/ no shortcut
-% recognized the corresponding original command will be called.
-% In other words, when no shortcut recognized the command |\-|
+% recognized, the corresponding original command will be called.
+% In other words, when no shortcut recognized, the command |\-|
% sets extra hyphenation point and |\=| means the accent command.
%
-% The last option redefines |\Emdash| to be shorter than the standard
-% em-dash.
-%
-% \section{The Shortcuts Table}
-%
% \begin{center}
% \begin{tabular}{l@{\qquad}l@{\qquad\qquad}l@{\qquad}l}
% Command & Shortcut & Command & Shortcut \\
@@ -113,9 +115,47 @@
%
% \emph{All described commands and shortcuts are robust.}
%
+% \subsection{Breaks before em-dash}
+%
+% All dash commands defined in this package disallow line breaks before a dash.
+% For em-dash this rule can be changed. To allow breaks before a em-dash, please
+% use the option
+%
+% \begin{center}
+% |\usepackage[allowbreakbefore]{extdash}|
+% \end{center}
+%
+% \subsection{Shorter em-dash}
+%
+% \begin{center}
+% |\usepackage[shortemdash]{extdash}|
+% \end{center}
+%
+% This option redefines |\Emdash| to be shorter than the standard
+% em-dash (0.8~em).
+%
+% \subsection{Spaces around em-dash}
+%
+% By default, the half-space is inserted before and after em-dash.
+% This behavior can be changed with option
+%
+% \begin{center}
+% |\usepackage[wordspacearound]{extdash}|
+% \end{center}
+%
+% \noindent or
+%
+% \begin{center}
+% |\usepackage[nospacearound]{extdash}|
+% \end{center}
+%
+% The first option provides interword spaces around em-dash and the
+% last one removes spaces around em-dash. Of course, these two
+% options are mutually exclusive.
+%
% \StopEventually{}
%
-% \section{The Basic Implementation Part}
+% \section{The Implementation}
%
% \begin{macro}{\EXD@test}
% \begin{macro}{\EXD@break}
@@ -142,7 +182,7 @@
\DeclareRobustCommand{\Endash}{\EXD@test{\EXD@dash{--}}}
\DeclareRobustCommand{\Emdash}{\EXD@test{\EXD@emd@sh}}
\DeclareRobustCommand{\Halfspace}{\@tempcnta\z@
- \@ifstar{\nobreak\EXD@space\ignorespaces}{\EXD@space\ignorespaces}%
+ \@ifstar{\EXD@nobreak\EXD@space\ignorespaces}{\EXD@space\ignorespaces}%
}
% \end{macrocode}
% \end{macro}
@@ -151,20 +191,28 @@
% \end{macro}
% \begin{macro}{\EXD@dash}
% \begin{macro}{\EXD@emd@sh}
+% \begin{macro}{\EXD@nobreak}
+% \begin{macro}{\EXD@embreakbefore}
+% \begin{macro}{\EXD@spacecalc}
% \begin{macro}{\EXD@space}
% and then the basic commands
% \begin{macrocode}
+\def\EXD@nobreak{\ifvmode\leavevmode\else\nobreak\fi}
\def\EXD@dash#1{%
- \nobreak\leavevmode\hbox{#1}\EXD@break\hskip\z@skip \ignorespaces
+ \EXD@nobreak\hbox{#1}\EXD@break\hskip\z@skip \ignorespaces
}
+\def\EXD@emnobreak{\nobreak}
\def\EXD@emd@sh{%
\ifvmode
- \EXD@emdash\nobreak\hskip.35em
+ \leavevmode\EXD@emdash\nobreak\hskip.35em
\else
- \unskip\nobreak\@tempcnta\m@ne
+ \unskip\EXD@emnobreak \@tempcnta\m@ne
\EXD@space \EXD@emdash \EXD@break \EXD@space
\fi \ignorespaces
}
+\DeclareOption{allowbreakbefore}{%
+ \let\EXD@emnobreak\@empty
+}
% \end{macrocode}
% The |\@tempcnta| specifies the width of half-space. It can have
% the following values: |-1|, |0|, or |+1|. The negative value
@@ -173,39 +221,59 @@
% means a half-space after em-dash (the space is wider at this point).
% This trick compensates a visual effect of wider space before an em-dash
% especially if the punctuation mark goes before.
+%
+% The meaning of negative and positive values of |\@tempcnta|
+% is redefined with |wordspacearound| and |nospacearound| options.
% \begin{macrocode}
-\def\EXD@space{%
+\def\EXD@spacecalc{%
\edef\@tempa{%
\ifnum\@tempcnta<\z@ .4\else \ifnum \@tempcnta=\z@ .5\else .6\fi\fi
}%
- \hskip \@tempa\fontdimen2\font \@plus .5\fontdimen3\font
+ \def\@tempb{.5}%
+}
+\def\EXD@space{%
+ \EXD@spacecalc
+ \hskip \@tempa\fontdimen2\font \@plus \@tempb\fontdimen3\font
\@minus \@tempa\fontdimen4\font
\@tempcnta -\@tempcnta
}
+\DeclareOption{wordspacearound}{%
+ \def\EXD@spacecalc{%
+ \edef\@tempa{\ifnum \@tempcnta=\z@ .5\fi}%
+ \let\@tempb\@tempa
+ }
+}
+\DeclareOption{nospacearound}{%
+ \def\EXD@spacecalc{%
+ \edef\@tempa{\ifnum \@tempcnta=\z@ .5\else0\fi}%
+ \let\@tempb\@tempa
+ }
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\EXD@emdash}
% The last basic command is the default \emph{em-dash}. It could be
-% redefined later in |cyremdash| option.
+% redefined later in |shortemdash| option.
% \begin{macrocode}
-\def\EXD@emdash{\leavevmode\hbox{---}}
+\def\EXD@emdash{\hbox{---}}
% \end{macrocode}
% \end{macro}
%
-% \section{Shortcuts}
-%
% \begin{macrocode}
\DeclareOption{shortcuts}{%
% \end{macrocode}
%
% \begin{macro}{\HyphOrDash}
% \begin{macro}{\BarOrDash}
-% The commands |\HyphOrDash| and |\BarOrDash| will be called by |\-| and
-% |\=| commands. They choose the corresponding shortcut or the original
-% commands saved in |\EXD@hyph| and |\EXD@dash|.
+% The commands |\HyphOrDash| and |\BarOrDash| are called by |\-| and |\=| commands
+% and can appear in aux file. They choose the corresponding shortcut or the original
+% command saved in |\EXD@hyph| and |\EXD@bar|.
% \begin{macrocode}
\DeclareRobustCommand{\HyphOrDash}{%
\let\EXD@break\@empty
@@ -247,11 +315,12 @@
}
% \end{macrocode}
%
-% \section{Cyrillic Em-dash}
-%
% \begin{macrocode}
+\DeclareOption{shortemdash}{%
+ \def\EXD@emdash{\hb@xt@.8\fontdimen6\font{--\hss--}}
+}
\DeclareOption{cyremdash}{%
- \def\EXD@emdash{\leavevmode\hb@xt@.8\fontdimen6\font{--\hss--}}
+ \def\EXD@emdash{\hb@xt@.8\fontdimen6\font{--\hss--}}
}
\ProcessOptions\relax
%</package>
diff --git a/Master/texmf-dist/source/latex/ncctools/nccmath.dtx b/Master/texmf-dist/source/latex/ncctools/nccmath.dtx
index 5007e8e92b4..23030e7b647 100644
--- a/Master/texmf-dist/source/latex/ncctools/nccmath.dtx
+++ b/Master/texmf-dist/source/latex/ncctools/nccmath.dtx
@@ -1,10 +1,10 @@
% \iffalse
%%
-%% File: nccmath.dtx Copyright (C) 2002--2005 by Alexander I. Rozhenko
+%% File: nccmath.dtx Copyright (C) 2002--2006 by Alexander I. Rozhenko
%%
%<package>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<package>\ProvidesPackage{nccmath}
-%<package> [2005/02/21 v1.2 Additional Math Commands (NCC)]
+%<package> [2006/01/20 v1.3 Additional Math Commands (NCC)]
%
% \changes{v1.01}{2002/01/20}{This version is uploaded to CTAN}
% \changes{v1.02}{2002/02/19}{|\Eq|, |\Eqs|, and |\Eqalign| are removed}
@@ -16,6 +16,7 @@
% \changes{v1.2}{2005/02/15}{Introduce |mediummath|}
% \changes{v1.2}{2005/02/16}{Remove redefinition of equations tag}
% \changes{v1.2}{2005/02/21}{Avoid conflicts with the |array| package}
+% \changes{v1.3}{2006/01/20}{Introduce |\dmulticolumn| to use within |darray|}
%
%<*driver>
\let\makeindex\relax
@@ -121,6 +122,10 @@
% The |darray| environment is implemented independently on the
% |array| environment to avoid conflicts with the |array| package.
%
+% \DescribeMacro{\dmulticolumn}
+% |\dmulticolumn|\marg{count}\marg{preamble}\marg{formula}
+% is used in |darray| instead of |\multicolumn|.
+%
% \DescribeMacro{\useshortskip}
% In \TeX, two types of skips above display formulas are used: the
% normal skip defined in the |\abovedisplayskip| register and the
@@ -878,6 +883,21 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\dmulticolumn}
+% To produce multi-columns in |darray|, the |\dmulticolumn|
+% command is used.
+% \begin{macrocode}
+\newcommand\dmulticolumn[3]{\multispan{#1}%
+ \begingroup
+ \NCC@mkpream{#2}%
+ \def\@sharp{#3}\set@typeset@protect
+ \@preamble
+ \endgroup
+ \ignorespaces
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\NCC@mkpream}
% The |darray| environment
% is independent from |array| to avoid conflicts with
diff --git a/Master/texmf-dist/source/latex/ncctools/nccsect.dtx b/Master/texmf-dist/source/latex/ncctools/nccsect.dtx
index 0729288c8ea..f1521679e76 100644
--- a/Master/texmf-dist/source/latex/ncctools/nccsect.dtx
+++ b/Master/texmf-dist/source/latex/ncctools/nccsect.dtx
@@ -4,7 +4,7 @@
%%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{nccsect}
-%<package> [2006/01/19 v1.5 Extended Section, Caption, and TOC Handling (NCC)]
+%<package> [2006/01/20 v1.6 Extended Section, Caption, and TOC Handling (NCC)]
%
% \changes{v1.00}{2002/02/01}{This version is uploaded to CTAN}
% \changes{v1.01}{2002/02/08}{\NCC@thetocchapter hook added}
@@ -54,6 +54,7 @@
% \changes{v1.5}{2006/01/19}{Introduce |centerlast| section style}
% \changes{v1.5}{2006/01/19}{Introduce |\sectiontagsuffix| command}
% \changes{v1.5}{2006/01/19}{Introduce |\captiontagsuffix| command}
+% \changes{v1.6}{2006/01/20}{Improve |\NCC@secflush| to work in |rightlast| style}
%
%<*driver>
\let\makeindex\relax
@@ -236,7 +237,6 @@
% If the \meta{type} parameter is omitted, the command acts on
% all subsequent sections expect those having a specialized tag suffix.
%
-% \bigskip
% \DescribeMacro\indentaftersection
% \DescribeMacro\noindentaftersection
% The paragraph indentation after a display section is controlled with
@@ -277,11 +277,11 @@
% Otherwise, this command is ignored.
%
% \bigskip
-% \textbf{Modifiers.} The customization of a number tag and running head of a concrete
+% \textbf{Modifiers.} The customization of a number tag and running head of a particular
% section is provided with so-call \textit{modifiers}. A modifier
% is a command acting on the nearest sectioning command going after it.
% Usually, the modifiers are placed just before a sectioning command.
-% All modifiers act with non-starred versions of sections.
+% All modifiers act on non-starred versions of sections.
% If the next sectioning command is starred, modifiers are ignored.
%
% \DescribeMacro\norunninghead
@@ -443,6 +443,11 @@
% |\newplainsectionstyle{center}{0pt}[c]{0pt plus 1fil}{0pt plus 1fil}|\\
% |\newplainsectionstyle{centerlast}{0pt}[c]{0pt plus 1fil}{0pt plus -1fil}|
% \end{quote}
+% Analogously to the |centerlast| style, the |rightlast| style (last line is adjusted
+% to the right) can be easy created:
+% \begin{quote}
+% |\newplainsectionstyle{rightlast}{0pt}[r]{0pt plus 1fil}{0pt plus -1fil}|
+% \end{quote}
%
% \DescribeMacro\newhangsectionstyle
% The command
@@ -2410,18 +2415,29 @@
% \begin{macro}{\NCC@secflush}
% |\NCC@secflush|\marg{tag} applies a section style saved in the
% |\NCC@secsave| macro and adjusts |\rightskip| and |\parfillskip|
-% if left and right margins have no stretchability in sum.
-% To adjust the right skip, we do the same tricks as in
-% |\NCC@adjsecmargins|.
+% if the left and right margins have no stretchability in sum.
% \begin{macrocode}
\def\NCC@secflush#1{\NCC@secsave{#1}%
\@tempskipa\leftskip \advance\@tempskipa\rightskip
\advance\@tempskipa -1\@tempskipa
+% \end{macrocode}
+% There are three general cases in which the
+% correction of right margin is required:
+% \begin{center}\small\catcode`|=12
+% \begin{tabular}{|l|c|c|c|}\hline
+% \tc{\cbox{Case}} & \cbox{\tt\string\leftskip} & \cbox{\tt\string\rightskip}
+% & \cbox{\tt\string\parfillskip} \\\hline
+% \Strut/.7/
+% Left last &\tt x &\tt y &\tt 0pt plus 1fil \\
+% Center last &\tt x plus 1fil &\tt y plus -1fil &\tt 0pt plus 2fil \\
+% Right last &\tt x plus 1fil &\tt y plus -1fil &\tt 0pt plus 1fil \\\hline
+% \end{tabular}
+% \end{center}
+% In all these cases the correction is simple: we need to add |\parfillskip|
+% to the |\rightskip| and set |\parfillskip| to zero.
+% \begin{macrocode}
\NCC@ifzeroskip\@tempskipa{%
- \@tempskipa 1\rightskip \advance\@tempskipa -\rightskip
- \advance\@tempskipa \@flushglue
- \advance\rightskip \@tempskipa
- \advance\parfillskip -\@tempskipa
+ \advance\rightskip \parfillskip \parfillskip \z@skip
}{}%
\ignorespaces
}