diff options
author | Karl Berry <karl@freefriends.org> | 2018-04-02 21:16:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-04-02 21:16:13 +0000 |
commit | 1610548529befd1cb7d72da00a3a889261436642 (patch) | |
tree | 04d20de3c80be1f24b619689213ebb794979c0ee /Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx | |
parent | 635bc4f06033428fe01440c71f242ec9b68fe092 (diff) |
koma-script (2apr18)
git-svn-id: svn://tug.org/texlive/trunk@47249 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx | 235 |
1 files changed, 163 insertions, 72 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx index ec3a6f2ea1e..3115e727f4a 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx @@ -1,4 +1,4 @@ -% \CheckSum{639} +% \CheckSum{659} % \iffalse meta-comment % ====================================================================== % scrkernel-miscellaneous.dtx @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-miscellaneous.dtx 2658 2017-06-25 14:32:43Z kohm $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 2712 2017-11-21 09:27:02Z kohm $ %<init>%%% (run: init) %<option>%%% (run: option) %<execoption>%%% (run: execoption) @@ -65,9 +65,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2017-06-25 16:32:43 +0200 (Sun, 25 Jun 2017) $ + \filedate$Date: 2017-11-21 10:27:02 +0100 (Tue, 21 Nov 2017) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 2658 $ + \filerevision$Revision: 2712 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-miscellaneous.dtx}% @@ -154,6 +154,10 @@ % \fi % \subsection{Test auf die eine \KOMAScript-Klasse} % +% Hier haben wir zunächst ein paar Definitionen speziell für das Paket +% \textsf{scrletter}, die genau dann benötigt werden, wenn das Paket nicht mit +% einer \KOMAScript-Klasse verwendet wird. +% % \begin{macrocode} %<*package&letter> \scr@ifundefinedorrelax{KOMAClassName}{% @@ -195,42 +199,23 @@ % \end{macrocode} % % \begin{macro}{\scr@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung}^^A +% \changes{v3.20}{2014/04/10}{neu Anweisung}^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A % Wird wie \cs{renewcommand} verwendet, verzögert die Umdefinierung aber bis % zu einem optionalen Zeitpunkt. Dazu wird intern % \cs{scrletter@extra@\meta{macro}} definiert. % \begin{macro}{\@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A +% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A % \begin{macro}{\do@renewforletter@list} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A +% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A % Die do-Liste der später umzudefinierenden Anweisungen. % \begin{macro}{\do@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A +% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A % Definiert die in der do-Liste gespeicherten Anweisungen um. % \begin{macrocode} -\newcommand*{\scr@renewforletter}{% - \kernel@ifstar {\@renewforletter*}% - {\@renewforletter{}}% -} -\newcommand*{\@renewforletter}[2]{% - \g@addto@macro\do@renewforletter@list{\do#2}% - \edef\reserved@a{% - \noexpand\newcommand\noexpand#1\expandafter\noexpand - \csname scrletter@extra@\string#2\endcsname - }% - \expandafter\reserved@a -} -\newcommand*{\do@renewforletter@list}{} -\newcommand*{\do@renewforletter}{% - \begingroup - \def\do##1{% - \aftergroup\let\aftergroup##1 - \expandafter\aftergroup\csname scrletter@extra@\string##1\endcsname - }% - \do@renewforletter@list - \endgroup - \let\do@renewforletter@list\@empty -} %</package&letter> % \end{macrocode} % \end{macro} @@ -246,17 +231,18 @@ % \subsection{Optionen für Entwürfe} % % \begin{option}{draft} -% \changes{v2.95}{2002/12/05}{mit \textsl{keyval} reimplementiert}^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}^^A +% \changes{v2.95}{2002/12/05}{mit \textsl{keyval} reimplementiert}^^A +% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}^^A +% \changes{v3.25}{2017/11/21}{Beachtung von Option \texttt{overfullrule}}^^A % \begin{option}{final} -% \changes{v2.95}{2002/12/05}{obsolete Option}^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt} -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A -% \changes{v3.02c}{2008/02/17}{optionales Argument im Fall von -% \textsf{scrextend} gesetzt} -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}% +% \changes{v2.95}{2002/12/05}{obsolete Option}^^A +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} +% ersetzt} +% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A +% \changes{v3.02c}{2008/02/17}{optionales Argument im Fall von +% \textsf{scrextend} gesetzt} +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}% % Der einzige Unterschied zwischen Entwürfen und Endversionen ist aus % Sicht der Klassen, ob Zeilenüberhänge mit einem schwarzen Balken % angezeigt werden sollen oder nicht. @@ -270,12 +256,20 @@ %<class> \KOMAClassFileName %<package&extend> scrextend.\scr@pkgextension }{draft}{@tempswa}% + \KOMA@kav@replacebool{.% +%<class> \KOMAClassFileName +%<package&extend> scrextend.\scr@pkgextension + }{overfullrule}{@tempswa}% \setlength{\overfullrule}{5pt}% \else \KOMA@kav@replacebool{.% %<class> \KOMAClassFileName %<package&extend> scrextend.\scr@pkgextension }{draft}{@tempswa}% + \KOMA@kav@replacebool{.% +%<class> \KOMAClassFileName +%<package&extend> scrextend.\scr@pkgextension + }{overfullrule}{@tempswa}% \setlength{\overfullrule}{\z@}% \fi \fi @@ -291,8 +285,52 @@ {final}{draft=false} %</class|extend> % \end{macrocode} -% \end{option} -% \end{option} +% \begin{option}{overfullrule} +% \changes{v3.25}{2017/11/21}{new option}^^A +% \selectlanguage{english}^^A +% Because option \texttt{draft} can result in unwanted effects I've added a +% new option to explicite only change the overfull rule setting. However for +% \textsf{scrextend} and the \KOMAScript{} classes the result is the same. +% \begin{macrocode} +%<*class|extend> +\KOMA@key{overfullrule}[true]{% + \KOMA@set@ifkey{overfullrule}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \KOMA@kav@replacebool{.% +%<class> \KOMAClassFileName +%<package&extend> scrextend.\scr@pkgextension + }{draft}{@tempswa}% + \KOMA@kav@replacebool{.% +%<class> \KOMAClassFileName +%<package&extend> scrextend.\scr@pkgextension + }{overfullrule}{@tempswa}% + \setlength{\overfullrule}{5pt}% + \else + \KOMA@kav@replacebool{.% +%<class> \KOMAClassFileName +%<package&extend> scrextend.\scr@pkgextension + }{draft}{@tempswa}% + \KOMA@kav@replacebool{.% +%<class> \KOMAClassFileName +%<package&extend> scrextend.\scr@pkgextension + }{overfullrule}{@tempswa}% + \setlength{\overfullrule}{\z@}% + \fi + \fi +} +%<class>\KOMA@kav@add{.\KOMAClassFileName}{overfullrule}{false} +%<*package&extend> +\KOMA@kav@xadd{.scrextend.\scr@pkgextension}{overfullrule}{% + \ifdim\overfullrule>\z@ true\else false\fi +} +%</package&extend> +%</class|extend> +% \end{macrocode} +% \selectlanguage{ngerman}^^A +% \end{option}^^A overfullrule +% \end{option}^^A final +% \end{option}^^A draft % % % \subsection{Optionen für Gleichungen} @@ -695,12 +733,13 @@ % \subsection{Definitionen für tiefer gestellten Text} % % \begin{macro}{\textsubscript} -% \changes{v2.8h}{2001/07/19}{neu}% +% \changes{v2.8h}{2001/07/19}{neu}^^A % \begin{macro}{\@textsubscript} -% \changes{v2.8h}{2001/07/19}{neu (intern)}% -% \changes{v3.10}{2011/09/05}{\cs{providecommand} statt \cs{newcommand}, -% damit das auch noch funktioniert, wenn \textsf{scrextend} nach -% \textsf{fixltx2e} geladen wird}% +% \changes{v2.8h}{2001/07/19}{neu (intern)}^^A +% \changes{v3.10}{2011/09/05}{\cs{providecommand} statt \cs{newcommand}, +% damit das auch noch funktioniert, wenn \textsf{scrextend} nach +% \textsf{fixltx2e} geladen wird}^^A +% \changes{v3.25}{2017/11/15}{wird nur noch definiert, wenn nicht vorhanden}^^A % Im \LaTeX-Kern wird zwar ein Makro \cs{textsuperscript} definiert, % um Texte hochstellen zu können, die entsprechende Anweisung zum % Tiefstellen fehlt jedoch. Das wird hier nachgeholt, wobei nahezu @@ -708,8 +747,16 @@ % wird. % \begin{macrocode} %<*class|extend> -\DeclareRobustCommand*\textsubscript[1]{% - \@textsubscript{\selectfont#1}% +\scr@ifundefinedorrelax{textsubscript}{% + \DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}% + }% +}{% + \scr@ifundefinedorrelax{textsubscript }{% + \DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}% + }% + }{}% } \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% @@ -720,6 +767,26 @@ % \end{macro} % % +% \subsection{Unsichtbare Stütze} +% \label{sec:strut} +% +% \begin{macro}{\scr@endstrut} +% \changes{v3.25}{2017/11/15}{neu (intern)}^^A +% Wird am Ende eines vermutlich horizontalen Materials eine unsichtbare Stütze +% der Art \cs{strut} eingebaut, werden Leerzeichen, die davor stehen plötzlich +% zu Leerzeichen in der Ausgabe, auch wenn das gar nicht erwünscht wird. Das +% kann man verhindern, indem man \cs{unskip} davor setzt. Dummer Weise hat +% eine solche Stütze dann aber das Problem, dass das letzte Wort davor nicht +% mehr getrennt wird. Verrückter Weise kann man das wiederum mit \cs{nobreak} +% lösen. Das sollte dann auch nur im horizontalen Modus gemacht werden. +% \begin{macrocode} +%<*class|letter|extend> +\providecommand*{\scr@endstrut}{\unskip\ifhmode\nobreak\strut\fi} +%</class|letter|extend> +% \end{macrocode} +% \end{macro} +% +% % % \subsection{Warnung vor Paketen} % \label{sec:packagewarning} @@ -782,13 +849,6 @@ `cleardoublepage' with one of it's\MessageBreak several values} % \end{macrocode} -% \textsf{parskip} ist nur ein Notfallpaket für Klassen, die selbst keinen -% Absatzabstand unterstützen. -% \begin{macrocode} -\scr@package@not@recommended{parskip}{% - option\MessageBreak - `parskip' with one of it's several values} -% \end{macrocode} % \textsf{fancyhdr} verwendet veraltete Font-Befehle und beachtet die % Font-Einstellungen und diverse andere Befehle und Optionen von \KOMAScript{} % nicht. @@ -804,6 +864,31 @@ `\string\addtokomafont' for the page style elements need\MessageBreak explicite user intervention to work} % \end{macrocode} +% \changes{v3.23}{2017/02/04}{Verwendung von \textsf{minitoc} kann nicht +% empfohlen werden}^^A +% \textsf{minitoc} definiert u.\,a. \cs{@sect} hart um und zerstört so diverse +% Erweiterungen von \KOMAScript. Es ist nicht abschließend untersucht, was das +% Paket noch alles zerstört. Derzeit gibt es nur einen Workaround für das +% genannte Problem mit \cs{@sect} (siehe: +% Abschnitt~\ref{sec:packageworkarounds}). +% \begin{macrocode} +\scr@package@not@recommended{minitoc}{} +% \end{macrocode} +% \textsf{parskip} ist nur ein Notfallpaket für Klassen, die selbst keinen +% Absatzabstand unterstützen. +% \begin{macrocode} +\scr@package@not@recommended{parskip}{% + option\MessageBreak + `parskip' with one of it's several values} +% \end{macrocode} +% \changes{v3.16}{2015/01/21}{Verwendung von \textsf{titleps} kann nicht +% empfohlen werden}^^A +% \textsf{titleps} beachtet die Font-Einstellungen und diverse andere Befehle +% und Optionen von \KOMAScript{} nicht. +% \begin{macrocode} +\scr@package@not@recommended{titleps}{% + package `scrlayer-scrpage'} +% \end{macrocode} % \textsf{titlesec} beschädigt diverse \KOMAScript{} Erweiterungen und % benötigt eigene Workarounds (siehe Abschnitt~\ref{sec:packageworkarounds}), % so dass es einfach nicht gut mit \KOMAScript{} harmoniert. @@ -815,22 +900,28 @@ the extended optional argument of the section\MessageBreak commands} % \end{macrocode} -% \changes{v3.16}{2015/01/21}{Verwendung von \textsf{titleps} kann nicht -% empfohlen werden}^^A -% \textsf{titleps} beachtet die Font-Einstellungen und diverse andere Befehle -% und Optionen von \KOMAScript{} nicht. -% \begin{macrocode} -\scr@package@not@recommended{titleps}{% - package `scrlayer-scrpage'} -% \end{macrocode} -% \changes{v3.23}{2017/02/04}{Verwendung von \textsf{minitoc} kann nicht -% empfohlen werden}^^A -% \textsf{minitoc} definiert u.\,a. \cs{@sect} hart um und zerstört so diverse -% Erweiterungen von \KOMAScript. Es ist nicht abschließend untersucht, was das -% Paket noch alles zerstört. Derzeit gibt es nur einen Workaround für das -% genannte Problem mit \cs{@sect}. +% \selectlanguage{english}^^A +% \changes{v3.25}{2017/11/21}{Usage of \textsf{tocbibind} not recommended}^^A +% \textsf{tocbibind} does several things, that break \KOMAScript, i.e.: +% \begin{itemize} +% \item usage of \cs{MakeUppercase} within running heads, +% \item usage of hard codes \texttt{toc} for the ToC entries, +% \item hard redefinition of \texttt{thebibliography}, +% \item hard redefinition of \texttt{theindex}, +% \item hard redefinition of \cs{tableofcontents}, +% \item hard redefinition of \cs{listoftables}, +% \item hard redefinition of \cs{listoffigures}, +% \item hard redefinition of \cs{@makechapterhead} +% \end{itemize} % \begin{macrocode} -\scr@package@not@recommended{minitoc}{} +\scr@package@not@recommended{tocbibind}{% + options like `listof=totoc'\MessageBreak + or `bibliography=totoc', or commands like\MessageBreak + `\string\setuptoc{toc}{totoc}' instead of this package,\MessageBreak + because it breaks several KOMA-Script features of\MessageBreak + the list of figures, list of tables, bibliography,\MessageBreak + index and the running head% +} %</class> % \end{macrocode} % \end{macro}^^A \scr@package@not@recommended |