diff options
author | Karl Berry <karl@freefriends.org> | 2006-08-20 00:02:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-08-20 00:02:10 +0000 |
commit | 524b07990fd2040ab6ce24b015b9a2bd4544a3c1 (patch) | |
tree | 93d7c1e1089e6c5df66ce81b57ed93482321baaa /Master/texmf-dist/source/latex/koma-script/scrkfont.dtx | |
parent | affc79c45bfab740028ac1e6b8480c5465a42b01 (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.dtx | 479 |
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: |