summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkfont.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-08-20 00:02:10 +0000
committerKarl Berry <karl@freefriends.org>2006-08-20 00:02:10 +0000
commit524b07990fd2040ab6ce24b015b9a2bd4544a3c1 (patch)
tree93d7c1e1089e6c5df66ce81b57ed93482321baaa /Master/texmf-dist/source/latex/koma-script/scrkfont.dtx
parentaffc79c45bfab740028ac1e6b8480c5465a42b01 (diff)
koma-script 2.95b, using provided texmf zip
git-svn-id: svn://tug.org/texlive/trunk@1990 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkfont.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkfont.dtx479
1 files changed, 479 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkfont.dtx b/Master/texmf-dist/source/latex/koma-script/scrkfont.dtx
new file mode 100644
index 00000000000..8cca1c263d4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/scrkfont.dtx
@@ -0,0 +1,479 @@
+% \CheckSum{261}
+% \iffalse meta-comment
+% ======================================================================
+% scrkfont.dtx
+% Copyright (c) Markus Kohm, 2002-2006
+%
+% This file is part of the LaTeX2e KOMA-Script bundle.
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3b of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3b or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% The Current Maintainer and author of this work is Markus Kohm.
+%
+% This work consists of all files listed in manifest.txt.
+% ----------------------------------------------------------------------
+% scrkfont.dtx
+% Copyright (c) Markus Kohm, 2002-2006
+%
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3b, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3b ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+%
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+%
+% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
+%
+% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
+% ======================================================================
+% \fi
+%
+% \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 \~}
+%
+% \iffalse
+%%% From File: scrkfont.dtx
+%<*driver>
+% \fi
+\ProvidesFile{scrkfont.dtx}[2006/07/30 v2.95b KOMA-Script (font selection)]
+% \iffalse
+\documentclass[halfparskip-]{scrdoc}
+\usepackage[english,ngerman]{babel}
+\usepackage[latin1]{inputenc}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{scrkfont.dtx}
+\title{\KOMAScript{} \partname\ \texttt{\filename}%
+ \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}}
+\date{\filedate}
+\author{Markus Kohm}
+
+\begin{document}
+ \maketitle
+ \tableofcontents
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \changes{v2.95}{2002/06/25}{%
+% erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
+%
+% \section{Schriftauswahl}
+%
+% Dieser Bereich befasst sich mit allem, was zur Schriftauswahl
+% gehört. Die einzelnen Elemente, für die eine Schriftauswahl möglich
+% ist, sind jedoch in den Dateien definiert, in denen diese Elemente
+% auftreten.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*option>
+% \fi
+%
+%
+% \subsection{Option zur Auswahl der Größe der Grundschrift}
+%
+% \begin{option}{10pt}
+% \begin{option}{11pt}
+% \begin{option}{12pt}
+% Diese Optionen existieren nicht mehr als explizite Optionen, sondern
+% werden in \texttt{scrtarea.dtx} über \cs{DeclareOption*}
+% ausgewertet.
+% \begin{macro}{\@ptsize}
+% Wir definieren \cs{@ptsize} als Grundschriftgrößee minus 10\,pt.
+% Hier wird die Standardeinstellung 11\,pt für alle Klassen außer der
+% Briefklasse gewählt.
+% \begin{macrocode}
+\newcommand*\@ptsize{%
+%<!letter> 1%
+%<letter> 2%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{option}
+% \end{option}
+% \end{option}
+%
+% \begin{macro}{\@pt@scan}
+% \changes{v2.6}{2000/01/04}{neu (intern)}
+% \begin{macro}{\@pt@@scan}
+% \changes{v2.6}{2000/01/04}{neu (intern)}
+% Das Macro \cs{@pt@scan} wird benötigt, um die Schriftgröße nach der alten
+% Methode zu erkennen.
+% \begin{macrocode}
+\newcommand*{\@pt@scan}{%
+ \expandafter\@pt@@scan\CurrentOption pt\@pt@@scan%
+}
+\newcommand*{\@pt@@scan}{}
+\def\@pt@@scan #1pt#2\@pt@@scan{%
+ \ifstr{#2}{pt}{%
+ \ifnumber{#1}{%
+ \KOMA@UseObsolete{option}{\PackageInfo}{#1#2}{fontsize=#1#2}%
+ }{\@headlines}%
+ }{\@headlines}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{option}{fontsize}
+% Hier nun die Option, die tatsächlich verwendet wird. Es sei darauf
+% hingewiesen, dass damit auch Schriftgrößen wie \texttt{10.3pt} denkbar
+% wären.
+% \begin{macrocode}
+\KOMA@key{fontsize}{%
+ \begingroup
+ \setlength{\@tempdima}{#1}%
+ \addtolength{\@tempdima}{-10\p@}%
+ \edef\@tempa{\endgroup\noexpand\renewcommand*\noexpand\@ptsize{%
+ \strip@pt\@tempdima}}%
+ \@tempa
+}
+\@onlypreamble\KV@KOMA@fontsize
+% \end{macrocode}
+% \end{option}
+%
+%
+%
+% \iffalse
+%</option>
+%<*body>
+% \fi
+%
+% \subsection{Einlesen der Schriftgrößendatei}
+%
+% \changes{v2.6}{2000/01/04}{Einlesen der Schriftgrößen-Options-Datei
+% funktioniert nun mit diversen Größen}
+%
+% Dies\marginline{Geplant!} soll in einer zukünftigen Version von
+% \KOMAScript{} komplett überflüssig werden. Stattdessen werden
+% Standardeinstellung berechnet, wobei die Möglichkeit bestehen wird,
+% Abweichungen davon in einer Konfigurationsdatei abzulegen.
+% \begin{macrocode}
+\@tempcnta=10
+\advance\@tempcnta by\@ptsize
+\xdef\@tempa{%
+%<!book> size%
+%<book> bk%
+ \the\@tempcnta.clo}
+\InputIfFileExists{\@tempa}{}{%
+%<*book>
+ \xdef\@tempb{size\the\@tempcnta.clo}%
+ \InputIfFileExists{\@tempb}{%
+ \ClassWarning{\KOMAClassName}{%
+ File `\@tempa' not found!\MessageBreak
+ Used `\@tempb' instead%
+ }%
+ }{%
+%</book>
+ \ClassError{\KOMAClassName}{%
+ File `\@tempa' not found!\MessageBreak
+ This error is fatal!%
+ }{%
+ To every fontsize you want to select by class
+ option,\MessageBreak
+ you need a corresponding
+%<book> bk-class-option-file or\MessageBreak at least a
+ size-class-option-file declaring all\MessageBreak
+ the macros based on fontsize.\MessageBreak
+ Ask a wizzard for more information or use another
+ fontsize.\MessageBreak
+ You cannot continue!%
+ }%
+ \batchmode \csname @@end\endcsname \end
+%<book> }%
+}
+% \end{macrocode}
+%
+%
+% \subsection{"`Alte"' Font-Auswahlbefehle}
+%
+% \begin{macro}{\rm}
+% \begin{macro}{\sf}
+% \begin{macro}{\tt}
+% \begin{macro}{\bf}
+% \begin{macro}{\it}
+% \begin{macro}{\sl}
+% \begin{macro}{\sc}
+% \begin{macro}{\sfb}
+% \changes{v2.2c}{1995/05/25}{nicht mehr mathematisch}
+% \changes{v2.3a}{1995/07/08}{keine Unterscheidung mehr für den
+% Kompatibilitätsmodus}
+% Um die Umstellung von \LaTeX\ auf \LaTeXe\ zu erleichtern, gibt es
+% die alten Font-Auswahlbefehle \cs{rm}, \cs{sf}, \cs{tt}, \cs{bf},
+% \cs{it}, \cs{sl} und \cs{sc} auch in den Klassen. Es ist zu
+% beachten, dass diese Befehle hier nach dem alten
+% Fontauswahlverfahren arbeiten. Es werden also immer alle Parameter
+% zugleich geändert. Somit ist zu empfehlen, dass statt dieser Befehle
+% zukünftig in der Regel die neuen \cs{text\dots}-Befehle verwendet
+% werden.
+%
+% Der aus der \textsf{Script 2.0}-Familie bekannte Befehl \cs{sfb} ist
+% hier ebenfalls definiert.
+% \begin{macrocode}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{%
+ \@nomath\sfb}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\cal}
+% \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}
+% Der Befehl ist in \LaTeX{} nicht mehr definiert. Deshalb wird er nun
+% neu und gleich robust deklariert. Dafür fällt \cs{pcal} weg.
+% \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}
+% \begin{macro}{\mit}
+% \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}
+% Der Befehl ist in \LaTeX{} nicht mehr definiert. Deshalb wird er nun
+% neu und gleich robust deklariert. Dafür fällt \cs{pmit} weg.
+% \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}
+%
+% Die beiden Befehle \cs{cal} und \cs{mit} war bis zur \LaTeX-Version
+% vom 1.12.1994 patch level 3 noch im Kernal definiert. Jetzt sind die
+% beiden den Klassen überlassen. Hier ist die Definition aus den
+% Standard-classes übernommen.
+% \begin{macrocode}
+\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Setzen der Schrift eines Elements}
+%
+% \begin{macro}{\setkomafont}
+% \changes{v2.8o}{2001/09/14}{neu}
+% Mit Hilfe dieses Makros kann die Schriftart von
+% \KOMAScript-Elementen gesetzt werden.
+% \begin{macrocode}
+\newcommand*{\setkomafont}[2]{%
+ \@ifundefined{scr@fnt@#1}{%
+ \@ifundefined{scr@fnt@instead@#1}{%
+ \ClassError{\KOMAClassName}{%
+ font of element `#1' can't be set}{%
+ You've told me to redefine the font selection of the
+ element,\MessageBreak%
+ but either no such element is known by
+ KOMA-Script\MessageBreak%
+ or the element does not use a special font selection%
+ }%
+ }{%
+ \ClassInfo{\KOMAClassName}{%
+ You've told me to redefine the font selection of the\MessageBreak
+ element `#1' that is an alias of element\MessageBreak
+ `\csname scr@fnt@instead@#1\endcsname'%
+ }%
+ \expandafter\setkomafont\expandafter{%
+ \csname scr@fnt@instead@#1\endcsname}{#2}%
+ }%
+ }{%
+ \expandafter\expandafter\expandafter\def\csname scr@fnt@#1\endcsname{#2}%
+ }%
+ \@ifundefined{scr@fnt@wrn@#1}{}{%
+ \ClassWarning{\KOMAClassName}{%
+ \csname scr@fnt@wrn@#1\endcsname{#1}%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\addtokomafont}
+% \changes{v2.8p}{2001/09/22}{neu}
+% Dieses Makro funktioniert fast wie obiges, allerdings fügt es der
+% vorhandenen Definition etwas an.
+% \begin{macro}{\l@addto@macro}
+% \changes{v2.8p}{2001/09/22}{neu (intern)}
+% Damit dies lokal möglich ist, wird eine lokal arbeitende Variante
+% von \cs{g@addto@macro} benötigt, wie sie hier vorgestellt wird.
+% \changes{v2.95}{2006/06/02}{korrigiert, damit es sich bezüglich
+% Erweiterung um Makrodefinitonen mit Argumenten wie \cs{g@addto@macro}
+% verhält}
+% \begin{macrocode}
+\ifundefined{unexpanded}{%
+ \newcommand*{\g@addto@macro@temp}{}%
+ \newcommand{\l@addto@macro}[2]{%
+ \begingroup%
+ \toks@\expandafter{#1#2}%
+ \xdef\g@addto@macro@temp{\the\toks@}%
+ \endgroup
+ \let#1\g@addto@macro@temp
+ }%
+}{%
+ \newcommand{\l@addto@macro}[2]{%
+ \edef#1{\unexpanded\expandafter{#1#2}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\newcommand*{\addtokomafont}[2]{%
+ \@ifundefined{scr@fnt@#1}{%
+ \@ifundefined{scr@fnt@instead@#1}{%
+ \ClassError{\KOMAClassName}{%
+ font of element `#1' can't be extended%
+ }{%
+ You've told me to extend the font selection of the
+ element,\MessageBreak
+ but either no such element is known by
+ KOMA-Script\MessageBreak
+ or the element does not use a special font selection%
+ }%
+ }{%
+ \ClassInfo{\KOMAClassName}{%
+ You've told me to extend the font selection of the\MessageBreak
+ element `#1' that is an alias of element\MessageBreak
+ `\csname scr@fnt@instead@#1\endcsname'%
+ }%
+ \expandafter\addtokomafont\expandafter{%
+ \csname scr@fnt@instead@#1\endcsname}{#2}%
+ }%
+ }{%
+ \expandafter\expandafter\expandafter\l@addto@macro
+ \csname scr@fnt@#1\endcsname{#2}%
+ }%
+ \@ifundefined{scr@fnt@wrn@#1}{}{%
+ \ClassWarning{\KOMAClassName}{%
+ \csname scr@fnt@wrn@#1\endcsname{#1}%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\usekomafont}
+% \changes{v2.8p}{2001/09/28}{neu}
+% Mit Hilfe dieses Makros kann auf die Schriftart von
+% \KOMAScript-Elementen umgeschaltet werden.
+% \begin{macrocode}
+\newcommand*{\usekomafont}[1]{%
+ \@ifundefined{scr@fnt@#1}{%
+ \@ifundefined{scr@fnt@instead@#1}{%
+ \ClassError{\KOMAClassName}{%
+ font of element `#1' can't be used%
+ }{%
+ You've told me to use the font selection of the
+ element,\MessageBreak
+ but either no such element is known by
+ KOMA-Script\MessageBreak
+ or the element does not use a special font selection%
+ }%
+ }{%
+ \ClassInfo{\KOMAClassName}{%
+ You've told me to use the font selection of the
+ element\MessageBreak
+ `#1' that is an alias of element `\csname
+ scr@fnt@instead@#1\endcsname'\MessageBreak
+ }%
+ }%
+ \@nameuse{scr@fnt@instead@#1}%
+ }{%
+ \@nameuse{scr@fnt@#1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Um dann ein Element zu definieren, definiert man zunächst ein
+% Makro, das die Schriftart enthält. Dann definiert man
+% \cs{scr@fnt@\emph{Elementname}}. Wobei der Inhalt dieses Makros das
+% Makro ist, das die Schriftart speichert. Damit ist das Element
+% definiert. Soll ein Element durch ein anderes Element gesteuert
+% werden, so definiert man stattdessen
+% \cs{scr@fnt@instead@\emph{Elementname}}, wobei der Inhalt des Makros
+% dann der Name jenes anderen Elements ist. Soll beim Ändern der
+% Schrift eines Elements eine zusätzliche Warnung ausgegeben werden,
+% so kann der Text dieser Warnung in
+% \cs{scr@fnt@wrn@\emph{Elementname}} abgelegt werden. Also alles
+% eigentlich ganz einfach. Damit es noch einfacher wird, ein paar
+% Hilfsmakros:
+%
+% \begin{macro}{\newkomafont}
+% \changes{v2.95}{2004/07/21}{neu}
+% Mit \cs{newkomafont} wird ein neues Element definiert. Das erste optionale
+% Argument ist dabei die optionale Warnung. Ist dieses nicht gesetzt oder
+% \cs{relax}, so wird keine Warnung definiert. Das erste obligatorische
+% Argument ist der Name des Elements. Als letztes folgt die Voreinstellung für
+% die Schrift dieses Elements. Als Fontmakro wird übrigens
+% \cs{@\emph{Elementname}font} definiert.
+% \begin{macrocode}
+\newcommand*{\newkomafont}[3][\relax]{%
+ \expandafter\newcommand\expandafter*\csname @#2font\endcsname{#3}%
+ \expandafter\expandafter\expandafter\newcommand
+ \expandafter\expandafter\expandafter*%
+ \expandafter\csname scr@fnt@#2\expandafter\endcsname\expandafter{%
+ \csname @#2font\endcsname%
+ }%
+ \ifx\relax#1\relax\else
+ \expandafter\newcommand\expandafter*\csname scr@fnt@wrn@#2\endcsname{#1}%
+ \fi
+}
+% \end{macrocode}
+% \begin{macro}{\aliaskomafont}
+% \changes{v2.95}{2004/07/21}{neu}
+% Mit \cs{aliaskomafont} wird hingegen einfach ein Alias definiert. Dieser
+% Befehlt kennt zwei Argumente: der Name des Elements und der Names des
+% Elements, das stattdessen verwendet werden soll.
+% \begin{macrocode}
+\newcommand*{\aliaskomafont}[2]{%
+ \expandafter\newcommand\expandafter*\csname scr@fnt@instead@#1\endcsname{%
+ #2%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \iffalse
+%</body>
+% \fi
+%
+% \Finale
+%
+\endinput
+%
+% end of file `scrkfont.dtx'
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End: