diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/german/ogfuda |
Initial commit
Diffstat (limited to 'info/german/ogfuda')
-rw-r--r-- | info/german/ogfuda/LIESMICH | 92 | ||||
-rw-r--r-- | info/german/ogfuda/a4-9.sty | 323 | ||||
-rw-r--r-- | info/german/ogfuda/arm.tex | 49 | ||||
-rw-r--r-- | info/german/ogfuda/biblio.tex | 322 | ||||
-rw-r--r-- | info/german/ogfuda/bilder.tex | 87 | ||||
-rw-r--r-- | info/german/ogfuda/blackbrd.sty | 78 | ||||
-rw-r--r-- | info/german/ogfuda/drucker.tex | 45 | ||||
-rw-r--r-- | info/german/ogfuda/floats.tex | 194 | ||||
-rw-r--r-- | info/german/ogfuda/layout.tex | 717 | ||||
-rw-r--r-- | info/german/ogfuda/nummern.tex | 349 | ||||
-rw-r--r-- | info/german/ogfuda/ogfuda.ind | 249 | ||||
-rw-r--r-- | info/german/ogfuda/ogfuda.sty | 83 | ||||
-rw-r--r-- | info/german/ogfuda/ogfuda.tex | 128 | ||||
-rw-r--r-- | info/german/ogfuda/prelude.tex | 46 | ||||
-rw-r--r-- | info/german/ogfuda/tabellen.tex | 147 | ||||
-rw-r--r-- | info/german/ogfuda/trennung.tex | 761 | ||||
-rw-r--r-- | info/german/ogfuda/verbatim.sty | 178 |
17 files changed, 3848 insertions, 0 deletions
diff --git a/info/german/ogfuda/LIESMICH b/info/german/ogfuda/LIESMICH new file mode 100644 index 0000000000..84e48adeaa --- /dev/null +++ b/info/german/ogfuda/LIESMICH @@ -0,0 +1,92 @@ +*************************************************************** +* OGFUDA ist public domain. Es darf nur vollst"andig verteilt* +* werden. Eine vollst"andige Dateiliste finden Sie weiter * +* unten. * +* * +* F"ur diese Verteilung darf kein Geld verlangt * +* werden. Wenn das Dokument ver"andert wird oder wenn Teile * +* von ihm in anderen Dokumenten benutzt werden, so mu"s die * +* Autorenliste die Liste der Originalautoren mit enthalten * +* zusammen mit denjenigen Autoren, die den Text ver"andert * +* haben. Sollten Sie nicht alle o.g. erhalten haben, * +* beschweren Sie sich! * +*************************************************************** + +Werte LaTeXler, + +die erste Version von OGFUDA liegt nun vor. Hierin werden +oft gestellte Fragen zu LaTeX aufgegriffen und beantwortet. + + OGFUDA ist in weiten Bereichen keine Anleitung f"ur +(La)TeX-Anf"anger; daf"ur gibt es bereits reichlich +Literatur. Besonders zu empfehlen ist hier die LaTeX +Kurzanleitung lkurz sowie Layout-"Anderungen mit LaTeX, +layout.tex, beide von H. PARTL. Vielmehr werden aber in +OGFUDA oft gestellte Fragen, von Anf"angern und von +Fortgeschrittenen, beantwortet. + + Vorausgesetzt wird eine TeX-Version von 3.0 oder h"oher +und LaTeX 2.09 vom 25. M"arz 1992 oder sp"ater. Spezielle +.sty-Dateien sind der Verteilung beigelegt. OGFUDA sollte nur +mit den angegebenen .sty-Dateien, insbesonder a4-9.sty und in +12pt "ubersetzt werden, da sonst einige spezielle Effekte nicht +sichtbar werden. Au"serdem erweist sich OGFUDA zugleich als ein +Test, ob Sie aktuelle german.sty- bzw. LaTeX-Versionen verwenden +(das ist aber unbeabsichtigt). + +!!!!!!!!!!!!!!!!!!!!!!!!!! WICHTIG !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!! +! ! +! Beim Uebersetzen k"onnen die folgenden Probleme auftreten: ! +! ! +! (1) (La)TeX h"angt sich auf. ! +! - Ursache: Ihre LaTeX-Version ist vor dem 25-MAR-1992 datiert. ! +! - Abhilfe: Neue Version besorgen! ! +! ! +! (2) TeX meckert "uber einen unbekannten Z"ahler names USenglish. ! +! - Ursache: Sie verwenden eine german.sty-Version, die kleiner ! +! ist als 2.4a. ! +! - Abhilfe: Eine neue Version besorgen oder alle in trennung.tex ! +! auftretenden `USenglish' durch `english' ersetzen. ! +! ! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!! + + Es werden die folgenden Themen besprochen: + + * das blackboard-Problem; + * Druckereien, die .dvi-Dokumente drucken; + * bewegliche Textbestandteile (``floats''); + * Layoutfragen; + * Z"ahler und dergleichen; + * Tabellenprobleme; + * Umbruch und Trennung; + * Graphikeinbindung. + +Folgende Dateien sind in der Version enthalten: + + a4-9.sty + a4-9.doc + blackbrd.sty 12-DEZ-1992 + ogfuda.sty 01-FEB-1993 + verbatim.sty 20-JAN-1992 + + arm.tex 01-FEB-1993 + biblio.tex 01-FEB-1993 + bilder.tex 01-feb-1993 + drucker.tex 01-FEB-1993 + floats.tex 01-FEB-1993 + layout.tex 01-FEB-1993 + nummern.tex 01-FEB-1993 + tabellen.tex 01-FEB-1993 + trennung.tex 01-FEB-1993 + + ogfuda.ind 01-FEB-1993 + +Kritik, Verbesserungsvorschl"age und dergl. richten Sie +bitte an + + ____________________________________________________________ + *===R.M.S. / Das Repetitorium der Mathematik & Statistik===* + * Michael Hoppe / Schwertstrasse 22 / W-5650 Solingen 1 * + * eMail: michael_hoppe@k2.maus.de / Voice: +49-212-205 206 * + ------------------------------------------------------------ +- eof - diff --git a/info/german/ogfuda/a4-9.sty b/info/german/ogfuda/a4-9.sty new file mode 100644 index 0000000000..98ef55a3d4 --- /dev/null +++ b/info/german/ogfuda/a4-9.sty @@ -0,0 +1,323 @@ +% This is A4-9.DOC as of 10 Oct 89 +%--------------------------------------------------------- +% (c) 1989 by J.Schrod. copy conditions see below. + +% +% Macro package for a non-arbitrary A4 page layout +% LaTeX style option +% MAKEPROG is needed +% + +% +% DATE PERSON REMARK +% 89-10-05 -js first version +% + +% author's current address: +% +% Detig$\,\cdot\,$Schrod \TeX{}sys +% Joachim Schrod +% Kranichweg 1 +% +% D-6074 R\"odermark-Urberach +% FR Germany +% +% Tel. (+6074) 1617 +% Bitnet: XITIJSCH@DDATHD21 + + +% should be progtex... +%%%% +%%%% +%%%% These TeX macros were documented with the documentation system +%%%% MAKEPROG and automatically converted to the current form. +%%%% If you have MAKEPROG available you may transform it back to +%%%% the original input: Remove every occurence of three percents +%%%% and one optional blank from the beginning of a line and remove +%%%% every line which starts with four percents. The following lex +%%%% program will do this: +%%%% +%%%% %% +%%%% +%%%% ^%%%\ ? ; +%%%% ^%%%%.*\n ; +%%%% +%%%% MAKEPROG may be obtained over the net from the Bitnet-Listserver +%%%% LISTSERV@DHDURZ1 (filelist WEBWARE), from tuglib@science.utah.edu, +%%%% or via ftp from june.cs.washington.edu. +%%%% +%%%% +%%% \documentstyle[progltx,a4-9]{article} + + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% % +%%% % local macros +%%% % + +%%% \let\mc=\ninrm % for names like GNU + +%%% \def\WEB{{\tt WEB\/}} +%%% \def\DVI{{\tt DVI\/}} +%%% \def\GNU{{\mc GNU}} + +%%% \chardef\bs=`\\ + +%%% \def\fract#1/#2.{% % fraction a/b within text +%%% \leavevmode % borrowed from D. Knuth's manmac +%%% \kern .1em +%%% \raise .5ex \hbox{\the\scriptfont0 #1}% +%%% \kern -.1em/\kern -.15em +%%% \lower .25ex \hbox{\the\scriptfont0 #2}% +%%% } + +%%% % +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%% \begin{document} + + +%%% \title{ +%%% A non-arbitrary A4 page layout\\ +%%% The {\tt a4-9\/} style option +%%% } +%%% \author{\sc Joachim Schrod} + +%%% \maketitle + + +%%% \sect This macro file is the |a4-9| document style option for \LaTeX{} +%%% that produces a {\it well designed\/} A4 page layout. This style +%%% option works with all standard \LaTeX{} styles and should work with +%%% all other well written ones, too. It should not be used with an +%%% underlined headings page style (see below for an explanation). + +%%% But what does this mean: ``a {\it well designed\/} page layout''? +%%% Mostly it means that the design is not chosen by accident but +%%% within a {\it non-arbitrary process}. To my knowledge this theme +%%% has first been covered by Jan Tschichold in his famous article of +%%% 1962: ``Willk\"urfreie Ma\ss{}verh\"altnisse der Buchseite und +%%% des Satzspiegels'' (look for references at the end). This style +%%% option implements his design (I'm no designer\,\dots) + +%%% If you are interested in typography and you do not know anything of +%%% Jan Tschichold, you should---he and Stanley Morrison were probably the +%%% two most important typographers in this century. He received as one +%%% of very few Europeans the gold medal of the American Institute of +%%% Graphic Arts, was a honorary member of the Double Crown Club, London, +%%% and of the Soci\'et\'e typographique de France. Furthermore he was +%%% appointed as Honorary Royal Designer for Industry by the Royal Society +%%% of Arts, London. In 1965 he got the Gutenberg-Preis of the city +%%% Leipzig (which celebrated its 800th~birthday in this year), the most +%%% important typographic award in Europe. + + +%%% \sect This program is free software; you can redistribute it and/or +%%% modify it under the terms of the \GNU{} General Public License as +%%% published by the Free Software Foundation; either version~1, or (at your +%%% option) any later version. + +%%% This program is distributed in the hope that it will be useful, but +%%% {\bf without any warranty\/}; without even the implied warranty of +%%% {\bf merchantability\/} or {\bf fitness for a particular purpose}. See +%%% the \GNU{} General Public License for more details. + +%%% %You should have received a copy of the \GNU{} General Public License +%%% %along with this program; if not, write to the Free Software Foundation, +%%% If you have not received a copy of the \GNU{} General Public License +%%% along with this program, write to the Free Software Foundation, +%%% Inc., 675~Mass Ave, Cambridge, MA~02139, USA. + + +%%% \sect This style option implements the partition by nine of the A4 +%%% page as explained by Tschichold. The proportion for a two-sided +%%% layout is shown in Figure~\ref{fig:layout} (the picture is not true to +%%% scale due to the limited features of the \LaTeX{}-{\tt +%%% picture\/}-environment). +%%% % +%%% \begin{figure} +%%% \unitlength=.3mm +%%% \begin{center} +%%% \begin{picture}(420,315) % 420,297 + +%%% % double page (dashed lines) +%%% \multiput(0,0)(210,0){2}{\dashbox{5}(210,315){}} % 210,297 + +%%% % help lines for construction (thin lines) +%%% \put( 0, 0){\line( 4, 3){420}} +%%% \put( 0, 0){\line( 2, 3){210}} +%%% \put( 0,315){\line( 4,-3){420}} +%%% \put(210,315){\line( 2,-3){210}} + +%%% \put(280,315){\line( 0,-1){105}} +%%% \put(140,210){\line( 4, 3){140}} + +%%% % resulting pages (thick lines) +%%% \thicklines +%%% \multiput(46.66666,70)(186.66666,0){2}{\framebox(140,210){}} % 140,198 + +%%% \end{picture} +%%% \end{center} +%%% \caption{Partition by nine of the A4 page according to Tschichold} +%%% \label{fig:layout} +%%% \end{figure} +%%% % +%%% The important fact is that the proportions of the type area and the +%%% margins repeat the proportion of the whole page. The above +%%% construction yields margins with a ratio of $ \sqrt{2} : 1 : 2 : +%%% 2\sqrt{2} $, where 1 is the ninth of the page width, i.e.\ $\rm +%%% 23\fract 1/3. \,mm$. But we do not use this exact value because +%%% the margin will be shortened by bookbinding or filing. We assume a +%%% total need of 8\,mm for such purposes which results in 4\,mm for +%%% each page. This 4\,mm will first be subtracted from the total +%%% margin width of 70\,mm and the remaining 66\,mm will be divided +%%% into one third for the inner margin and two third for the outer +%%% margin. The resulting approximate values are therefore: +%%% +%%% \begin{center} +%%% \begin{tabular}{lr} +%%% \multicolumn1{c}{\sc Dimension}& \multicolumn1{c}{\sc Value}\\[2pt] +%%% page width& 210\,mm\\ +%%% width of type area& 140\,mm\\ +%%% inner margin& 26\,mm\\ +%%% outer margin& 44\,mm\\[1pt] +%%% page height& 297\,mm\\ +%%% height of type area& 198\,mm\\ +%%% top margin& 33\,mm\\ +%%% bottom margin& 66\,mm\\ +%%% \end{tabular} +%%% \end{center} +%%% % +%%% The value for the inner margin consists of 4\,mm for binding and +%%% filing purposes and 22\,mm ``real'' margin. Of course, all values +%%% are measured from the paper edge. + +%%% If the page layout is not for two-sided printing, it can be still +%%% assumed that a margin of c\`a.~4\,mm will be needed for filing. +%%% This remaining margin space of 66\,mm is distributed evenly on the +%%% left and on the right side. Precisely spoken, we use 37\,mm for +%%% the left margin ($\rm = 33\,mm + 4\,mm$) and 33\,mm for the right +%%% margin. The resulting margins have a ratio of $1 : 1 : 1 : +%%% 2\sqrt{2}$. + + +%%% \sect The height of the type area needs a special remark: Usually this +%%% height does neither include the headline nor the footline. But if the +%%% headline is underlined the headline should be taken into +%%% account---that's the reason why this style option cannot be used with +%%% underlined headings. + +%%% The values in the above table are only approximations to the one +%%% we will use in reality. An approximation because the height of the +%%% type area must be a multiple of a line height, i.e.\ it must equal +%%% $ (n-1)|\baselineskip| + |\topskip| $ where $n$ is the number of lines +%%% on one page. If we have to choose we will prefer the longer type area. + + +%%% \sect We assume a starting position of $\rm (2\,cm, 2\,cm)$, i.e., the +%%% \DVI{} driver shall leave a top and a left margin of 2\,cm by his own. +%%% This is +%%% different from the usual 1\,in margin---but the usual margin was made +%%% for legal paper ($\rm 8\,in \times 11.5\,in$). I hope that this +%%% driver margin value---which was presented by Klaus Guntermann and +%%% me at the Euro\TeX88 conference in Exeter---will be accepted +%%% by the \DVI{} driver standards commitee of TUG. + +%%% |\hoffset| and |\voffset| are set to 0\,mm, so that we can proceed on +%%% the assumption of the above margin. If you use a driver which leaves a +%%% margin of 1\,in you should use the changefile |a4-marg.chf|. + +%%% \beginprog +\hoffset=2cm \advance\hoffset by -1in +\voffset=2cm \advance\voffset by -1in +%%% \endprog + + +%%% \sect To get the precise value of |\textheight| we first calculate the +%%% number of lines which may be on the page in full. Then we add another +%%% line and recalculate the value of |\textheight|. + +%%% \beginprog +\normalsize % this sets \baselineskip + +\dimen@=198mm +\count@=\dimen@ % value in sp +\advance \count@ by -\topskip % \topskip and \baselineskip will be +\divide \count@ by \baselineskip % coerced to integer, value is in sp + +\textheight=\count@\baselineskip % \count@ equals the number of lines - 1 +\advance \textheight by \topskip +%%% \endprog + + +%%% \sect Because we have altered the original value of |\textheight| +%%% (198\,mm) we must alter the value of the top margin, too. It will be +%%% just a third of the remaining place on the page. Please note that the +%%% place for the top margin consists of the four values driver +%%% margin, |\topmargin|, |\headheight|, and |\headsep|. + +%%% \beginprog +\topmargin=297mm + \advance \topmargin by -\textheight % place for top and bottom margin + \divide \topmargin by 3 % place for top margin + \advance \topmargin by -20mm % driver margin + \advance \topmargin by -\headheight + \advance \topmargin by -\headsep + +\textwidth=140.1mm +\if@twoside + \oddsidemargin=6mm % 26mm - 20mm (driver margin) + \evensidemargin=24mm % 44mm - 20mm (driver margin) + \marginparwidth=33mm % half of total vertical margin +\else + \oddsidemargin=17mm % 37mm - 20mm (driver margin) + \marginparwidth=22mm % third of total vertical margin + \evensidemargin=\maxdimen % usage should result in an error message +\fi +%%% \endprog + + +%%% \sect We finish the macro file so that garbage (e.g.\ of exchanges +%%% between systems) can come afterwards. + +%%% \beginprog +\endinput +%%% \endprog + + +%%% %%% +%%% \newpage +%%% %%% + +%%% \sect It remains to give a few pointers to the article where the +%%% design which was implemented here has been described: +%%% % +%%% \begin{itemize} + +%%% \item {\sc Jan Tschichold}: +%%% Willk\"urfreie Ma\ss{}verh\"altnisse der Buchseite und des Satzspiegels. +%%% In {\it Typographische Monatsbl\"atter}. +%%% February 1964. + +%%% \item {\sc Jan Tschichold}: +%%% Non-arbitrary proportions of page and type area. +%%% In {\it Print in Britain}. +%%% London: September 1963. + +%%% \item {\sc Jan Tschichold}: +%%% Proportions rationelles du format du livre et de la page imprim\'ee. +%%% In {\it Revue suisse d'imprimerie}, 4. +%%% St-Gall 1964. + +%%% \end{itemize} +%%% % +%%% The original paper is a private edition which can not be bought, it +%%% was published in 1962. It appeared in seven different publications +%%% in german language, three times in french, two times in dutch. +%%% Besides being translated to english, it was translated to danish, +%%% norwegian, finn, italian, and hungarian. + + +%%% \end{document} + diff --git a/info/german/ogfuda/arm.tex b/info/german/ogfuda/arm.tex new file mode 100644 index 0000000000..046f7490f5 --- /dev/null +++ b/info/german/ogfuda/arm.tex @@ -0,0 +1,49 @@ +\def\filename{arm.tex} +\def\filedate{01-FEB-1993} +\def\fileversion{1.0} +\meldedich + +\section{Mathematische Mengensymbole} + +\r H"aufig werde ich gefragt, wie man die typischen mathematischen +Mengensymbole (die mit dem Doppelstrich) unter \LaTeX\ realisieren +kann. Dann verweise ich gew"ohnlich darauf, da"s \TeX\ bereits einen +ordentlichen Zeichensatz f"ur diese Darstellung besitzt, n"amlich +cmmib. Dieser Zeichensatz enth"alt {\em fette\/} mathematische +Buchstaben und Zeichen; meiner Meinung nach ist das die angemessene +Art und Weise, Mengen zu bezeichnen. + +\p Da bin ich ganz Ihrer Meinung. Falls Sie das \AmS\LaTeX\ benutzen, +k"onnen Sie bekanntlich den Befehl \cs{boldsymbol} anwenden, um eben +ein Symbol in einem fetten Schriftgrad zu erzeugen. + +\r L"angst benutze ich das \AmS\LaTeX\ +\index{AMSLaTeX@\AmS\LaTeX} +und m"ochte es f"ur den +mathematischen Satz nie und nimmer mehr missen; es ist jedem zu +empfehlen, der "uberwiegend mathematische Texte verfa"st. + +\p Sie sprechen mir aus der Seele. Einen Teil dieses umfang- und +segensreichen Makropaketes k"onnen Sie auch nutzen, um die krakeligen +Doppelstrichsymbole zu erhalten. + +\r Gewi"s. Und zwar gibt es den \sty{amssyb}; dazu sind allerdings +gewisse \mf-Dateien erforderlich. Gibt es noch einen anderen Weg. + +\p Dutzende. Da diese Symbole so oft nachgefragt werden, wagten wir, +unserem Gespr"ach einen besonderen Stil, n"amlich \sty{blackbrd} von +{\sc Robert Messer}, beizulegen. Mittels dieser Datei kann man die +Krakel-Symbole mittels \cs{bbA},\dots\cs{bbZ} ansprechen, zus"atzlich +befindet sich noch ein \cs{bbd} f"ur die {\sc Cartan}sche Ableitung +anbei. Das ganze Gestrichel sieht dann etwa so aus. + +$$\bbA,\bbB,\bbC,\bbD,\bbE,\bbF,\bbG,\bbH, +\bbI,\bbJ,\bbK,\bbL,\bbM,\bbN,$$ +$$\bbO,\bbP,\bbQ,\bbR,\bbS,\bbT,\bbU,\bbV, +\bbW,\bbX,\bbY,\bbZ,\bbd$$ + +\r Nunja, "uber Geschmack l"a"st sich nicht streiten: Man hat ihn oder +man hat ihn nicht. Aber wenn \ind{Zwang} vorliegt, kommt uns {\sc +Messer}s Arbeit sehr gelegen. + +\endinput diff --git a/info/german/ogfuda/biblio.tex b/info/german/ogfuda/biblio.tex new file mode 100644 index 0000000000..b3741b5a45 --- /dev/null +++ b/info/german/ogfuda/biblio.tex @@ -0,0 +1,322 @@ +%% biblio.tex -- Teil von OGFUDA +%% +%% Last change: 92/11/29 br +%% +\def\filename{biblio.tex} +\def\filedate{01-FEB-1993} +\def\fileversion{0.99b} + +\meldedich + + +\begin{thebibliography}{99} +\tolerance=6000 \hbadness=3000\relax +%%%%%%%%%%%%%%%%%%%%%%%%% Von Stefan Lindner %%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%% mit Erg"anzungen von Bernd Raichle %%%%%%%%%%%%% + +\bibitem{abdelhamid92} +\buch{Rames Abdelhamid} + {Das Vieweg \LaTeX-Buch: Eine praxisorientierte Einf"uhrung} + {Vieweg-Verlag, Braunschweig, 1992. ISBN 3--528--05145--0} + {Ideal f"ur den Anf"anger geeignet, enth"alt es einen sehr + "ubersichtlichen und verst"andlichen Einstieg in \LaTeX. + Um kompakt zu bleiben, verzichtet der Autor auf die + Vorstellung der zu \LaTeX\ geh"orenden Programme wie Makeindex + und Bib\TeX. Es wird konsequent die Stiloption "`german"' + verwendet, leider ohne genau zu unterscheiden, welche Befehle + nun zu einem Standard-\LaTeX\ geh"oren und welche von + "`german"' zus"atzlich zur Verf"ugung gestellt werden.} + +\bibitem{ab} +\buch{Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry} + {\TeX\ for the Impatient} + {Addison-Wesley Publishing Company, 1990. + ISBN 0--201--51375--7, 384 Seiten} + {Ein Buch "uber plain \TeX\ mit einer recht guten + Befehls"-"ubersicht. Keine Einf"uhrung in \TeX, wie + das \TeX book, erg"anzt es dieses aber sinnvoll.} + +\bibitem{app} +\buch{Wolfgang Appelt}{\TeX\ f"ur Fortgeschrittene} + {Addison-Wesley GmbH, 1988. + ISBN 3--89319--115--1, 189 Seiten} + {Das Buch f"ur Leute, die etwas mehr wissen wollen. Wer + etwas "uber die Philosophie der Texterstellung und + typografische Feinheiten "ubrig hat, ist mit diesem Buch + gut bedient. Es ersetzt weder das \TeX book, noch den + Bechtolsheim, denn es werden nur einige Aspekte herausgepickt, + die daf"ur aber sehr aus"-f"uhrlich und einleuchtend behandelt + werden.} + +\bibitem{becht} +\buch{Stephan von Bechtolsheim}{Another Look at \TeX} + {Springer Verlag, ca.~1990} + {Das definitive Buch zu den plain \TeX-Makros, in erster Linie + f"ur das Schreiben eigener Makros wichtig und f"ur Leute, die + alles ganz genau wissen wollen, unentbehrlich.} + +\bibitem{buer} +\buch{David Buerger}{\LaTeX\ for Engineers and Scientists} + {New York: McGraw-Hill, 1990. 199 Seiten} + {"Uber dieses Buch kann ich nichts n"aheres berichten, ich + kenne es nicht. Dem Verlagstext nach d"urfte es in etwa + dem Buch von Kopka entsprechen, auch wenn es vom Umfang + her, nicht ganz so viel Information bieten d"urfte.} + +\bibitem{cheswick90} +\Autor{Bill Cheswick} +\Titel{A Permuted Index for \TeX\ and \LaTeX} + AT\&T Bell Laboratories, Computing Science Technical + Report No.~145, 1990. 105 Seiten\par + + Dieser Bericht enth"alt eine kompletten Index aller in \TeX, + plain \TeX\ und \LaTeX\ definierten Befehle. Jeder Befehl + enth"alt dazu eine kurze Beschreibung, wobei die Permutation + der Schl"ussel"-w"orter in dieser Beschreibung den + Indexschl"ussel bilden. Damit kann man "uber ein Schl"usselwort, + das einem einf"allt (z.\,B.\ {\em break\/}), alle Befehle finden, + die etwas mit diesem Wort zu tun haben (z.\,B.\ alle Befehle und + Parameter, die eine Zeile oder Seite umbrechen, diesen Umbruch + unter"-dr"ucken oder bestimmen). + Dieser permutierte Index ist eine ideale und n"utzliche + Erg"anzung zum normalen Index eines Nachschlagewerks "uber + \TeX\ oder \LaTeX. + +\bibitem{dante} +\Autor{Dante e.V.} Die \TeX nische Kom"odie. Ab 1988. + + "`Die \TeX nische Kom"odie"' ist die Mitgliedszeitschrift + der DANTE, Deutschsprachige Anwendervereinigung \TeX~e.V., + Postfach 10\,18\,40, 6900 Heidelberg~1 und erscheint + viertelj"ahrlich. + +\bibitem{desa} +\buch{Jacques D\'esarm\'enien (Hrsg.)} + {\TeX\ for Scientific Documentation} + {Springer Verlag, 1986. 224 Seiten} + {Die Aufsatzsammlung zur zweiten Europ"aischen + \TeX-Konferenz, die im Juni~1986 in Stra"sburg stattfand.} + +\bibitem{eijkhout92} +\buch{Victor Eijkhout}{\TeX\ by Topic} + {Addison-Wesley Publishing Company, 1992. + ISBN 0--201--56882--9, 313 Seiten} + {Nach "`Topics"' geordnet, findet man zu einem Themenbereich + "uber \TeX\ und plain \TeX\ Beschreibungen, Informationen + und oft auch Beispiele. Auch als erfahrener \TeX-Anwender + findet man in diesem Buch noch einige Geheimnisse, die tief + in \TeX\ schlummern. Leider fehlen etwas mehr Querverweise, + bis auf sehr wenige Fehler ist dieses Buch als gute + Erg"anzung zum \TeX book zu empfehlen.} + +\bibitem{fisch} +\Autor{Stefan Fisch, Peter Strohschneider} +\Titel{Kleiner Beitrag---Die + Basis des wissenschaftlichen Diskurses: Anmerkungen zu + Peter Reiss, Vorstudien zu einer Theorie der Fu"snote} +\Verlag{(Quelle leider unbekannt, jedenfalls wohl nach 1983)} + +\bibitem{gutenberg} +\Autor{GUTenberg} Cahiers GUTenberg. Ab 1988. + + Die "`Cahier GUTenberg"' ist die Mitgliedszeitschrift + der franz"osischen \TeX-Anwendervereinigung GUTenberg, + BP~21, 78354 Jouy en Josas cedex, France und ist auch + f"ur Nichtmitglieder erh"altlich. + +\bibitem{texb} +\buch{Donald E. Knuth}{The \TeX book} + {Computers and Typesetting, Volume~A. + Addison-Wesley Publishing Company, 1992. 483 Seiten} + {Das Standardwerk "uber \TeX. Wer noch nichts von Knuth + gelesen hat und vor englischer Literatur nicht + zur"uck"-schreckt, sollte sich das Buch besorgen. + Man erf"ahrt alles, was f"ur die Arbeit mit \TeX\ wichtig + ist, aber keine einfachen Kochrezepte. Man mu"s sich den + Inhalt schon ein wenig erarbeiten; dazu dienen zahlreiche + "Ubungen zu jedem Kapitel und deren Auf"|l"osung im Anhang. + Beim Kauf sollte man darauf achten, da"s man die neueste + Auf"|lage erh"alt. Diese ist momentan die "`12th printing"' + f"ur die Hard\-cover-Ausgabe und die "`21th printing"' f"ur + die Paper\-back-Ausgabe.} + +\bibitem{knuth89} +\Autor{Donald E. Knuth} + The errors of \TeX. + {\em Software---Practice and Experience}, Vol.~19(7), + 607--681 (1989).\par + Dieser Artikel wurde von Knuth anl"a"slich des 10.~Geburtstags + von \TeX\ geschrieben. Er enth"alt eine Liste und eine + Diskussion aller vom Autor in der \TeX-Source gefundenen und + begangenen Fehlern. Die Fehlerliste enth"alt auch einige + pers"onliche Anmerkungen, wie z.\,B.\ den Eintrag vom 18.~November + 1982: "`Tomorrow I'm $2^{14}$ days old!"' und eine Menge "uber + die Entstehungsgeschichte von \TeX. + +\bibitem{knuth81} +\Autor{Donald E. Knuth, Michael F. Plass} + Breaking Paragraphs into Lines. + {\em Software---Practice and Experience}, Vol.~11, + 1119--1184 (1981).\par + Dieser Artikel geht n"aher auf den Zeilenumbruchalgorithmus, + der in \TeX\ mit einigen Modifikationen so verwendet wird, ein. + +\bibitem{kopka1} +\buch{Helmut Kopka}{\LaTeX---eine Einf"uhrung} + {Addison-Wesley GmbH, 4.~Auf"|lage, 1992. + ISBN 3--89319--434--7. 462 Seiten} + {Eine leicht verst"andliche Einf"uhrung, gerade f"ur Leute, + die nicht unbedingt wissen wollen, wie der Computer von + innen aussieht; sprich: auch f"ur die Sekret"arin oder den + Erstbenutzer geeignet. Der Kenner wird sich "uber die + wirklich sehr gute Befehls"-"ubersicht freuen. Im + deutschsprachigen Raum {\em das\/} Nachschlagewerk "uber + \LaTeX, das in der 4.~Auf"|lage nochmals stark erweitert + wurde.} + +\bibitem{kopka2} +\buch{Helmut Kopka}{\LaTeX-Erweiterungsm"oglichkeiten} + {Addison-Wesley GmbH, 2.~Auf"|lage, 1991} + {F"ur alle, die etwas tiefer in \LaTeX\ einsteigen wollen + und schon mal den einen oder anderen Dokumentstil "andern + wollen. Das Buch geht weiterhin auf verschiedene + Makropakete wie \PiCTeX\ ein und enth"alt auch eine kurze + Ein"-f"uhrung in \mf. Beim Kauf sollte man auf die Auf"|lage + achten, da Teile, wie z.\,B.\ die Sli\TeX-Beschreibung, in + "`\LaTeX---eine Einf"uhrung"' "ubernommen wurden.} + +\bibitem{latex} +\buch{Leslie Lamport}{\LaTeX, a Document Preparation System} + {Addison-Wesley Publishing Company, 1985. 175 Seiten} + {Analog zum \TeX book das Standardwerk zu \LaTeX. + Nur f"ur Liebhaber von Originalliteratur zu empfehlen und + bisher nicht in einer "uberarbeiteten Auf"|lage erschienen. + Die Aufteilung in die einzelnen Kapitel ist nicht immer + sehr gelungen, nahezu alles wird zweimal erkl"art, einmal + ausf"uhrlich im Einf"uhrungsteil, einmal zusammenfassend + im Referenzteil. Man mu"s sich die Informationen regelrecht + zusammensuchen, daher ist---auch aus Aktualit"at---Kopkas + Einf"uhrung vorzuziehen.} + +\bibitem{luca} +\buch{Dario Lucarella (Hrsg.)} + {\TeX\ for Scientific Documentation} + {Addison-Wesley Publishing Company, 1985. 224 Seiten} + {Eine Sammlung von Aufs"atzen, die w"ahrend der + Europ"aischen \TeX-Konferenz im Mai~1985 in Como (Italien) + pr"asentiert wurden.} + +\bibitem{partl87} +\buch{Hubert Partl u.\,a.}{\LaTeX-Kurzbeschreibung} + {EDV-Zentrum der TU Wien, Handbuch Nr.~H30, 1987} + {Eine sehr gute und kompakte Einf"uhrung in \LaTeX, die + in den meisten F"allen f"ur den Beginner ausreicht, um + erste Dokumente zu erstellen. + Die \LaTeX-Sources dieser Beschreibung ist auf den + meisten \TeX-Servern (meist als {\tt lkurz}) zu finden + und ist empfehlenswert.} + +\bibitem{partl88} +\buch{Hubert Partl}{Layout-"Anderungen mit \LaTeX} + {EDV-Zentrum der TU Wien, Handbuch Nr.~H27.0, 1988. 20 Seiten} + {Dieses Heft ist als Erg"anzung zu Kapitel~5 (``Designing + It Yourself'') des \LaTeX-Manuals von Leslie Lamport + gedacht. Es enth"alt eine sehr gute Beschreibung mit + Beispielen, wie man sehr einfach Layout-"Anderungen in + \LaTeX\ durch"-f"uhrt. + Da die \LaTeX-Sources dieser Beschreibung auf den meisten + \TeX-Servern (meist als {\tt layout.tex}, {\tt layout2.tex} + und {\tt refman.sty}) zu finden ist, sollte man sich dieses + Dokument auf jeden Fall besorgen.} + +\bibitem{reiss} +\Autor{Peter Reiss} +\Titel{Vorstudien zu einer Theorie der Fu"snote} +\Verlag{Berlin/New York, 1983} +("`Zur Notwendigkeit einer wissenschaftlichen Fu"snotenlehre"') + +\bibitem{schu} +\buch{Lothar Schumann} + {Professioneller Buchsatz mit \TeX-Lehrbuch f"ur Anwender} + {Oldenburg Verlag M"unchen, 1991. + ISBN 3--486--21736--4, 352 Seiten} + {Gem"a"s dem Untertitel ein "`Lehrbuch f"ur den Anwender"' + beschreibt es eher ein \LaTeX\ mit speziellen Makros der Firma + "`Informatika"'. Von den 352~Seiten entfallen mehr als + 200~Seiten auf das {\em unvollst"andige\/} Listing des + Quellcodes dieser Makros. Diesem Buch liegt au"serdem eine + veraltete \TeX\ Version aus dem Jahr~1987 zugrunde.} + +\bibitem{schrod91} +\Autor{Joachim Schrod} The Components of \TeX. + {Detig$\,\cdot\,$Schrod \TeX{}sys, M"arz 1991. 9~Seiten.}\par + Dieser Artikel gibt einen kurzen "Uberblick "uber die einzelne + Komponenten eines \TeX-Systems. Er beschreibt das Zusammenspiel + zwischen \TeX, Makropaketen, \TeX\ Utilities, \mf und den + Druckertreibern. + Der Artikel erschien in "`Die \TeX{}nische Kom"odie"' und + "`Baskerville"'. + Da die \LaTeX-Sources dieser Beschreibung auf den meisten + \TeX-Servern (meist als {\tt components-of-tex}) zu finden ist, + sollte man sich dieses Dokument auf jeden Fall besorgen. + +\bibitem{schw} +\buch{Norbert Schwarz}{Einf"uhrung in \TeX} + {Addison-Wesley GmbH, 3.~Auf"|lage, 1991. + ISBN 3--89319--345--6, 272 Seiten} + {Eine leicht lesbare Einf"uhrung in plain \TeX; bei normaler + Benutzung der plain \TeX-Makros bleibt kaum eine Frage, die + im Lauf der Zeit auftaucht, unbeantwortet. + In der 2.~Auf"|lage war dieses Buch leider ein abschreckendes + Beispiel, was schlechte Druckertreiber anrichten k"onnen. + Die 3.~Auf"|lage, die stark erweitert wurde, behandelt auch + die "Anderungen, die \TeX~3 mit sich gebracht hat und die + neuen Zeichens"atze, die auf der europ"aischen \TeX-Tagung + in Cork (Irland) beschlossen wurden.} + +\bibitem{spivac} +\buch{Michael Spivak}{The Joy of \TeX} + {Addison-Wesley Publishing Company, 1986. 308 Seiten} + {F"uhrt haupts"achlich in die Benutzung von AmS\TeX\ ein, + ein weiteres, gr"o"seres Makropaket neben \LaTeX.} + +\bibitem{tschichold87} +\buch{Jan Tschichold}{Ausgew"ahlte Aufs"atze "uber Fragen der + Gestalt des Buches und der Typrographie} + {Birkh"auser Verlag, Basel, 2.~Auf"|lage, 1987} + {Dieses Buch ist keine Anleitung zu \TeX\ oder \LaTeX, + sondern behandelt allgemeine und speziellere Themen der + Typographie und des Buchsatzes. Jedem zu empfehlen, der + seine Dokumente auch im Detail besser gestalten m"ochte.} + +\bibitem{tug} +\Autor{\TeX\ users group} + TUGboat. The \TeX\ Users Group Newsletter. Ab 1980. + + Die "`TUGboat"' ist die Mitgliedszeitschrift der + \TeX\ Users Group, Post Office Box~9506, + Providence, RI~02940, U.S.A. + +\bibitem{warbrick91} +\Autor{Jon Warbrick} Essential \LaTeX. + {Report U05.04--202, April 1991. 13 Seiten.}\par + Eine gute und kompakte Einf"uhrung in \LaTeX f"ur den Anf"anger, + die in etwa Partls "`\LaTeX-Kurzbeschreibung"' entspricht. + Die \LaTeX-Sources dieser Beschreibung ist auf den meisten + \TeX-Servern (meist als {\tt essential.tex}) zu finden. + +\bibitem{wonn} +\buch{Reinhard Wonneberger}{Kompaktf"uhrer \LaTeX} + {Addison-Wesley GmbH, 2.~Auf"|lage, 1988. + ISBN 3--89319--152--6, 155 Seiten} + {Als Spickzettel f"ur Anwender gedacht, die schon ein + aus"-f"uhrliches \LaTeX-Buch gelesen haben und keine + Lust haben, immer in einem dicken W"alzer nachzuschlagen. + F"ur den schmalen Geldbeutel notfalls auch als Anleitung + zu mi"sbrauchen.} + +%%%%%%%%%%%%%%%%%%%%%%% + +\end{thebibliography} + +\endinput diff --git a/info/german/ogfuda/bilder.tex b/info/german/ogfuda/bilder.tex new file mode 100644 index 0000000000..872bbd6b76 --- /dev/null +++ b/info/german/ogfuda/bilder.tex @@ -0,0 +1,87 @@ +\def\filename{bilder.tex} +\def\filedate{01-FEB-1993} +\def\fileversion{1.0} +\meldedich + +\section{\LaTeX{} und Graphik} + +\r \TeX{} ist in erster Linie f"urs Setzen von {\em Text\/} konzipiert; +allerdings besteht der berechtigte Wunsch vieler Anwender, auch +Graphiken in den Text einzubinden. + +\LaTeX{} stellt daf"ur lediglich die rudiment"are \env{picture} zur +Ver"-f"u"-gung; etwas "uberspitzt formuliert k"onnte man behaupten, damit +allenfalls Strich"-m"ann"-chen (wie im \LaTeX-Buch von L.~{\sc Lamport} +vorgef"uhrt) zu produzieren. + +\p Ja, die M"oglichkeiten der \env{picture} sind allerdings +reichlich be"-schr"ankt. +Aber da gibt es ja noch einige Erweiterungen, die teils \TeX-portabel +und teils unportabel sind. + +\subsection{Portabel\protect\dots} + +\r Mir sind als portable L"osungen \sty{epic}, \sty{bezier} +und \PiCTeX{} bekannt, +wobei \PiCTeX{} den weitaus gr"o"seren Funktionsumfang besitzt. Diese +Erweiterungen besitzen aber alle zwei Nachteile: sie verbrauchen sehr +viel Speicher (so da"s eine Big\TeX-Version zum Einsatz kommen +sollte) und sie sind eigentlich nur f"ur Diagramme wie etwa +Balkengraphiken oder Funktionsplots gut. Um "`richtige"' Bilder damit +in ein Dokument einzubinden, scheinen sie ungeeignet. Au"serdem sind +sie umst"andlich in der Handhabung. + +\p Ganz recht. Was aber die Bedienfreundlichkeit angeht, so gibt es +eine ganze Reihe von Programmen (wie etwa \TeX cad oder gnutex), die +die Herstellung derartiger Graphiken erheblich vereinfachen k"onnen. + +\r Oft aber sind bereits fertige Vorlagen in einem der +Standardformate {\tt .IMG}, {\tt .PCX}, {\tt .GIF} und "ahnliche +gegeben; wie kann ich diese in einen Text einbinden? + +\p Da wir uns hier "uber portable L"osungen +(nun ja, wenigstens {\em halbwegs\/} +portable L"osungen, die nicht auf beispielsweise auf +\cs{special}-Befehle eines {\tt .dvi}-Treibers basieren) reden, +k"onnen wir in diesem Fall auf das Programm \ttind{bm2font} +verwenden. + +\r Erl"autern Sie ir bitte dessen Arbeitsweise! + +\p Gerne will ich das tun. \ttind{bm2font} "`versteht"' die +wichtigsten Rastergraphikformate und wandelt eine solche +rechteckweise in +"`Buchstaben"' um, die dann von \mf{} erzeugt werden k"onnen +und hinterher zum kompletten Bild zusammengesetzt werden. + +\r Aha! Eine clevere Idee. Der Vorteil liegt wohl darin, da"s diese +L"osung inner\TeX nisch ist und au"ser eben \ttind{bm2font} keine +speziellen Programme ben"otigt. + +\p Genau. Zudem ist die Ausgebequalit"at gut bis sehr gut. + +\subsection{\protect\dots oder nicht?} + +\r Welche anderen M"oglichkeiten gibt es denn noch? + +\p Hier hei"st ein Zauberwort: PostScript! Hier werden +PostScript-Graphiken mittels des \cs{special}-Befehls in den +Quelltext eingebunden. Die {\tt .dvi}-Datei mu"s dann mittels des +Programms {\tt dvips} in eine PostScript-Datei umgewandelt werden, +die dann von einem PostScript-Interpreter auf ein Ausgabeger"at +geschickt wird. + +\r Das ist aber dann eine au"ser\TeX nische Variante, da hier eben ein +PostScript-Interpreter ben"otigt wird. + +\p Dieser ist aber auf so gut wie allen Systemen verf"ugbar. Die +Ausgabequalit"at ist sehr gut. + +\r Sie erw"ahnten gerade den Befehl \cs{special}; ich wei"s von einigen +Treibern, die ihn f"ur ihre Zwecke nutzen. + +\p Das stimmt. Jedoch sind diese Insell"osungen im h"ochsten Ma"se +unportabel, so da"s ich Ihnen von der Verwendung von \cs{special}s, +die nur von bestimmten Treibern unterst"utzt werden, nur abraten kann. + +\endinput diff --git a/info/german/ogfuda/blackbrd.sty b/info/german/ogfuda/blackbrd.sty new file mode 100644 index 0000000000..1ac5d1bb95 --- /dev/null +++ b/info/german/ogfuda/blackbrd.sty @@ -0,0 +1,78 @@ +% Poor person's blackboard bold. +% January 6, 1988. +% +% Robert Messer +% Department of Mathematics +% Albion College +% Albion, MI 49224 +% Bitnet: RAM@ALBION +% Improved to work together with LaTeX (e.g., `\H' replaced with `\bbH') +% by Michael Hoppe, 12-DEZ-1992. + +\def\bbA{{\rm\kern.22em + \vrule width.02em height0.5ex depth 0ex + \kern-.24em A}} +\def\bbB{{\rm I\kern-.25em B}} +\def\bbC{{\rm\kern.24em + \vrule width.02em height1.4ex depth-.05ex + \kern-.26em C}} +\def\bbD{{\rm I\kern-.25em D}} +\def\bbE{{\rm I\kern-.25em E}} +\def\bbF{{\rm I\kern-.25em F}} +\def\bbG{{\rm\kern.24em + \vrule width.02em height1.4ex depth-.05ex + \kern-.26em G}} +\def\bbH{{\rm I\kern-.25em H}} +\def\bbI{{\rm I\kern-.25em I}} +\def\bbJ{{\rm\kern.19em + \vrule width.02em height1.47ex depth 0ex + \kern-.21em J}} +\def\bbK{{\rm I\kern-.25em K}} +\def\bbL{{\rm I\kern-.25em L}} +\def\bbM{{\rm I\kern-.25em M}} +\def\bbN{{\rm I\kern-.18em N}} +\def\bbO{{\rm\kern.24em + \vrule width.02em height1.4ex depth-.05ex + \kern-.26em O}} +\def\bbP{{\rm I\kern-.25em P}} +\def\bbQ{{\rm\kern.24em + \vrule width.02em height1.4ex depth-.05ex + \kern-.26em Q}} +\def\bbR{{\rm I\kern-.21em R}} +\def\bbS{{\rm\kern.18em + \vrule width.02em height1.47ex depth-.9ex + \kern.12em + \vrule width.02em height0.7ex depth 0ex + \kern-.34em S}} +\def\bbT{{\rm\kern.45em + \vrule width.02em height1.47ex depth 0ex + \kern-.47em T}} +\def\bbU{{\rm\kern.30em + \vrule width.02em height1.47ex depth-.05ex + \kern-.32em U}} +\def\bbV{{\rm\kern.27em + \vrule width.02em height1.47ex depth-.8ex + \kern-.29em V}} +\def\bbW{{\rm\kern.25em + \vrule width.02em height1.47ex depth-.9ex + \kern.34em + \vrule width.02em height1.47ex depth-.9ex + \kern-.63em W}} +\def\bbX{{\rm\kern.30em + \vrule width.02em height1.47ex depth-1ex + \kern.12em + \vrule width.02em height0.4ex depth 0ex + \kern-.46em X}} +\def\bbY{{\rm\kern.25em + \vrule width.02em height1.0ex depth 0ex + \kern-.27em Y}} +\def\bbZ{{\rm\kern.26em + \vrule width.02em height0.5ex depth 0ex + \kern.04em + \vrule width.02em height1.47ex depth-1ex + \kern-.34em Z}} +\def\bbd{{\rm\kern.22em + \vrule width.02em height1.0ex depth0ex + \kern-.24em d}} + +\endinput diff --git a/info/german/ogfuda/drucker.tex b/info/german/ogfuda/drucker.tex new file mode 100644 index 0000000000..4fdc4fb44b --- /dev/null +++ b/info/german/ogfuda/drucker.tex @@ -0,0 +1,45 @@ +%% drucker.tex -- Teil von OGFUDA +%% +\def\filename{drucker.tex} +\def\filedate{01-FEB-1993} +\def\fileversion{1.0} + +\meldedich + +\section{Druckereien, die DVI-Files belichten} + + +\begin{flushleft} +J"urgen Richarz\\ +Richarz Publikationsservice\\ +Bahnstr.~7\\ +D-5205 St.~Augustin 1\\ +Tel.: 0\,22\,41 / 33\,20\,36\\ +Fax: 0\,22\,41 / 33\,20\,38 +\end{flushleft} + +\begin{flushleft} +Lasersatz Thewalt\\ +Kapellenweg 8\\ +D-6901 Wiesenbach\\ +Tel.: 0\,62\,23 / 4\,83\,14 +\end{flushleft} + +\begin{flushleft} +J"urgen Gl"ockner \\ +Philipp-Schmittstr. 8b \\ +D-6902 Sandhausen \\ +Tel.: 0\,62\,24 / 37\,50 +\end{flushleft} + +\begin{flushleft} +R"o"sler \& Partner \\ +Gesellschaft f"ur Kommunikation und Marketing mbH \\ +Haidelmoosweg 52 \\ +D-7750 Konstanz \\ +Tel.: 0\,75\,31 / 7\,59\,71 \\ +Fax: 0\,75\,31 / 7\,37\,74 +\end{flushleft} + + +\endinput diff --git a/info/german/ogfuda/floats.tex b/info/german/ogfuda/floats.tex new file mode 100644 index 0000000000..8d9b28fede --- /dev/null +++ b/info/german/ogfuda/floats.tex @@ -0,0 +1,194 @@ +%% floats.tex -- Teil der OGFUDA +\def\filename{floats.tex} +\def\filedate{01-FEB-1993} +\def\fileversion{1.0} +\meldedich +\section{Gleitende Textbestandteile} + +\r Wie kann man \LaTeX\ dazu bringen, flie"sende Objekte so +anzuordnen, da"s sie auf jeden Fall auf der Seite stehen, auf +der sie definiert wurden? Mir ist zwar die Option \sq{{\tt +[h]}} f"ur "`{\em here}"' bekannt, aber damit macht \LaTeX\ +nicht immer das, was man erwartet, n"amlich den gleitenden +Textbestandteil dort auszugeben, wo er notiert wurde. + +\p Zur Erkl"arung dieses Verhaltens sollte man sich einmal kurz +die Vorgehensweise von \LaTeX\ ansehen. Erscheint im Text ein +flie"sendes Objekt, d.\,h.\ Text innerhalb einer +\ttind{figure}- oder \env{table}, dann wird zuerst der +Platzbedarf dieses Objekt bestimmt. Anschliessend wird anhand +der Plazierungseinschr"ankungen und des verbleibenden Platzes +auf der aktuellen Seite bestimmt, wo das Objekt plaziert wird. + +Durch die Angabe~\sq{{\tt [h]}} im optionalen Argument darf +\LaTeX\ {\it nur\/} noch an der aktuellen Textstelle das Objekt +plazieren. Ist auf der aktuellen Seite nicht mehr genug Platz, +so wird das Objekt gespeichert und erst am Ende des Kapitels +oder Dokuments mit allen anderen verbliebenen flie"senden +Objekte gesetzt. + +\r Mit einer unangenehmen Begleiterscheinung: Da die +Reihenfolge von Gleitobjekten des gleichen Typs (also etwa +aller {\sf table}) nicht ge"andert werden darf, werden auch +alle nach diesem Gleitobjekt erscheinde Objekte desselben Typs +mit verschoben! + +\p Daher stellen wir die Regel auf, im optionalen Argument, +{\em niemals\/} "`{\tt h}"' ohne eine weitere +Plazierungsm"oglichkeit anzugeben. + +"Ubrigens ist die Reihenfolge der Buchstaben im optionalen +Argument nicht von Belang. \LaTeX\ versucht immer in der +festen Reihenfolge, zuerst {\it h\/}ier, dann oben ({\it +t\/}op), anschliessend unten ({\it b\/}ottom) auf der Seite und +als letztes auf einer eigenen Seite ({\it p\/}age) ein +flie"sendes Objekt zu plazieren. + +\r Das ist interessant. Bisher dachte ich, da"s die Buchstaben +der Reihe nach ausgewertet werden. Aber zur"uck zum +eigentlichen Problem. Was mache ich nun mit meinem falsch +plazierten Objekt? + +\p \LaTeX\ h"alt eine Menge Parameter f"ur Gleitobjekte bereit, +die leider in den Standard-Styles nicht mit den optimalen +Werten vorbesetzt werden! + +\r Tats"achlich? Das war mir nicht bekannt! + +\p Tr"osten Sie sich, Sie sind nicht der erste \LaTeX{}niker, +der diese Parameter "ubersehen hat. + +\r Wollen Sie mir die relevanten Parameter darstellen? + +\p Aber gerne! Ich erl"autere Ihnen die Parameter samt ihrer +Belegung in den Standard-Styles und gebe gleich noch ein paar +Anmerkungen dazu, wie man den Wert "andern sollte. + +Bitte beachten Sie auch, da"s die Werte in den Makros {\tt +...fraction} zwischen $0$ und~$1$, und zwar {\it ausschlie"slich}, +liegen m"ussen; die Werte $0$ und $1$ selbst sind also nicht erlaubt. +Werte au"serhalb dieser Grenzen f"uhren neben +Fehlermeldungen zu einem seltsamen Verhalten von \LaTeX. + +\begin{description} +\item[{\tt \string\topfraction};] +Vorbelegung~$0.7$. Das ist der Anteil einer Spalte, der {\em +oben\/} von Gleitobjekten belegt sein darf. Diesen Wert kann +man etwas erh"ohen, wenn man viele Bilder hat. Er mu"s erh"oht +werden, wenn man keine {\it float pages\/} (Buchstabe~{\it +p\/}) zulassen will und gro"se Bilder im Dokument verwendet +werden. + +\item[{\tt topnumber};] +Vorbelegung~$2$. Die maximal erlaubte Anzahl der gleitenden +Objekte {\em oben\/} auf einer Spalte an. Bei vielen Bildern, +besonders wenn diese klein sind, kann man diesen Wert um eins +oder zwei erh"ohen. + +\item[{\tt \string\bottomfraction, bottomnumber};] +Vorbelegung~$0.3$ und~$1$. Analog zu den ersten beiden +betreffen diese Parameter die Werte {\em unten\/} auf der +Spalte. {\tt bottomnumber} man nicht erh"ohen, da zuviele +Bilder unten auf einer Seite den Textzusammenhang mit der +n"achsten Seite st"oren. Will man gr"o"sere Bilder zulassen, +sollte man aber {\tt \string\bottomfraction} erh"ohen. + +\item[{\tt totalnumber};] +Vorbelegung~$3$. Er gibt die maximale Anzahl von Gleitobjekten +pro Seite an. Dieser Wert ist bei Verwendung von vielen +gleitenden Objekten viel zu klein, er erlaubt nur insgesamt +$3$~Objekte pro Seite. Meist bringt eine Erh"ohung allein +dieses Parameters auf 5--10 schon akzeptablere Ergebnisse. + +\item[{\tt \string\textfraction};] +Vorbelegung~$0.2$. Er gibt an, wieviel Text eine Spalte +mindestens enthalten mu"s; im Original d"urfen demnach maximal +80\,\% einer Spalte durch Gleitobjekte unten und oben belegt +werden. Eine Erniedrigung auf $0.1$ ist hilfreich, falls man +bei einem fast spaltenf"ullenden Gleitobjekten noch einige +Zeilen Text auf der Seite w"unscht. + +\item[{\tt\string\floatpagefraction};] +Vorbelegung~$0.5$. Er gibt den Anteil einer Spalte an, der +mindestens durch Gleitobjekte belegt werden mu"s, um eine +eigene Seite mit gleitenden Objekten zu bilden. F"ullen also +bei dieser Einstellung die bisher noch nicht gesetzten +gleitenden Objekte mindestens 50\,\%\ einer Spalte, so wird +eine {\em float page\/} (ohne Text) erzeugt. Dieser Wert ist +zu niedrig, wenn man "`fast leere"' {\em float pages\/} +vermeiden will. Man erh"oht ihn besser auf ca.~0.65--0.75. +Der optimale Wert ist dabei abh"angig von der Anzahl und der +Gr"o"se der im Text existierenden Gleitobjekte. + +\item[{\tt dbltopnumber}, {\tt\string\dbltopfraction};] +Vorbelegung~$2$ und~$0.7$. Entspricht den Parametern {\tt +topnumber} und {\tt \string\topfraction} f"ur Gleitobjekte +"uber beide Spalten bei zweispaltigem Satz. + +\item[{\tt\string\dblfloatpagefraction};] +Vorbelegung~$0.5$. Entspricht dem obigen Parameter {\tt +float\-page\-fraction} f"ur Gleitobjekte im zweispaltigen +Satz, falls die {\tt *}-Form der Gleitanweisung benutzt wird, +der gleitende Textteil also "uber beide Spalten gesetzt wird. +\end{description} +Dabei werden die Befehle {\tt ...fraction} mit +\cs{renewcommand}, die Z"ahler {\tt ...number} mit +\cs{setcounter}{\tt \{...number\}\{}{\it Wert}{\tt \}} +ver"andert.{\tolerance=2000\par} + +\r Sie reden dauernd von Spalten; diese fallen jedoch im +einspaltigen Satz mit Seiten zusammen? + +\p Ja, ganz recht. + +\r Zusammenfassend s"ahen brauchbare Werte etwa so aus. +\begin{ogfudatim} +\setcounter{topnumber}{4} +\renewcommand{\topfraction}{.8} +\setcounter{bottomnumber}{2} +\renewcommand{\bottomfraction}{.7} +\setcounter{totalnumber}{10} +\renewcommand{\textfraction}{.1} +\renewcommand\floatpagefraction{.7} +\end{ogfudatim} +Und wenn das alles nichts hilft? + +\p Sie sollten in jedem Fall zuerst einmal {\em alle\/} +optionalen Parameter entfernen und die oben vorgestellten +Parameter "andern. + +\r Ja, aber dann erscheint ein Gleitobjekt nie dort, wo ich es +hinsetze! + +\p Was Sie ansprechen, ist die Default-Plazierungsangabe, die in +den Standard-Styles mit{\tolerance=2000\par} +\begin{ogfudatim} +\newcommand{\fps@figure}{tbp} +\newcommand{\fps@table}{tbp} +\end{ogfudatim} +so eingeschr"ankt sind, da"s sie nicht "`{\it h\/}ere"' +{\it alleine} plaziert werden. Dies k"onnen Sie in einer Styleoption +mit den Parametern "andern. + +Damit duerfte Sie in den meisten F"allen ohne das optionale +Argument der {\sf figure}- und \env{table} auskommen. + +\r Und wenn das nichts hilft? + +\p Falls das Gleitobjekt eine Seite zu fr"uh oder zu sp"at +erscheint, verschieben Sie das Gleitobjekt im Text etwas nach +vorne oder nach hinten. + +Soll das Gleitobjekt nicht an einer bestimmten Stelle, z.\,B.\ +nicht unten auf der Seite, dann benutzen Sie f"ur dieses und +wirklich nur f"ur dieses Gleitobjekt die +Plazierungseinschr"ankung durch das optionale Argument. + +Diese beiden M"oglichkeiten sind zwar nicht die elegantesten +L"osungen, aber sie funktionieren nach einigem Probieren. Das +Plazierung von Gleitobjekten ist nun mal ein nichttriviales +Problem, in das viele Gesichtspunkte einflie"sen, die \LaTeX\ +nicht beachtet, so da"s Sie hier manchmal etwas korrigierend +eingreifen m"ussen. + +\endinput diff --git a/info/german/ogfuda/layout.tex b/info/german/ogfuda/layout.tex new file mode 100644 index 0000000000..f612cc8e48 --- /dev/null +++ b/info/german/ogfuda/layout.tex @@ -0,0 +1,717 @@ +%% layout.tex---Teil von OGFUDA +%% +\def\fileversion{1.0} +\def\filedate{01-FEB-1993} +\def\filename{layout.tex} + +\meldedich + +\section{Layout-"Anderungen} + + +\subsection{"Uber- und Unterschriften} + +\r Ein Bekannter hat folgendes Problem. Er m"ochte den +\verb|\paragraph{}|-Befehl\indexcs{paragraph} im {\em +article}-Stil einsetzen, um einen gr"o"seren Text in vier +Hierarchiestufen\index{Hierarchiestufen} zu gliedern. + +Leider hat \cs{paragraph} die Eigenschaft, die +Absatz"uberschrift\index{Ueberschrift@\"Uberschrift} vom Text +nicht durch einen Zeilenumbruch abzusetzen. Der Text folgt der +"Uberschrift nur durch ein Geviert (\cs{quad}) getrennt---ein +zus"atzlicher \ind{Zeilenumbruch} bzw.\ \ind{Absatzumbruch} wie +z.\,B.\ bei \verb|\subsubsection| fehlt. Ein \glq\verb|\\|\grq\ +hinter der "Uberschrift zur Erzeugung eines Zeilenumbruchs +f"uhrt ebenso wie \qcs{par}\ oder ein \qcs{linebreak}\ nur zu +Fehlermeldungen\index{Fehlermeldung!von linebreak@von +\verb=\linebreak=}. + +Gibt es eine M"oglichkeit eine vierte \ind{Hierarchiestufe} im +{\em article}-Stil zu benutzen, die genauso wie +\verb|\subsubsection| arbeitet? + +\p Wenn eine \cs{paragraph}-"Uberschrift nicht durch vertikalen +Raum vom Absatz getrennt wird, dann ist das eine +Design-Entscheidung\index{Design-Entscheidung} des Autors von +\sty{article}. Wenn man das anders haben will---und das gilt +generell f"ur fast alle Benutzerw"unsche---sollte man besser +gleich einen eigenen Style definieren, der vielleicht in +gro"sen Teilen dem \sty{article} "ahnlich ist. + +Innerhalb des Dokuments sollte man m"oglichst die vom +Style-Designer vorgesehenen Befehle verwenden, um den Inhalt +entsprechend zu gliedern. Das Erscheinungsbild, das durch +diese Befehle festgelegt wird, sollte man nicht versuchen durch +Low-Level-Befehle wie \glq\verb|\\|\grq\ oder \qcs{linebreak} +zu "andern, sondern man sollte dann besser diese Befehle selbst +"andern. + +\r Sie sprechen damit die Dreiteilung von Autor, Layouter und Setzer +an. + +\p Ganz recht. Die Befehle und Umgebungen von \LaTeX\ sollen +das Konzept einer +m"oglichst klaren Trennung von Inhalt und Layout erm"oglichen. +Dabei ist der Style-Designer f"ur das Layout, der Autor dann +nur noch f"ur den Inhalt und dessen Gliederung verantworlich und \TeX +f"ur den fachgerechten Satz. + +\r Manchmal mu"s diese Trennung vom Autor h"aufig aus sehr +pragmatischen Gr"unden durchbrochen werden. Einerseits kommt +es hin und wieder vor, da"s der Zeilen- oder Seitenumbruch +einmal unbefriedigende Resultate liefert und dies nur durch +Einf"ugen von Low-Level-Befehlen ge"andert werden kann, +andererseits bieten Styles manchmal gew"unschte +Gliederungs"-m"oglichkeiten nicht an, so da"s man diese im +Notbehelf realisieren mu"s. + +\p Und damit sind wir wieder bei Ihrem Problem. +Der einfachste Weg, den man +verwenden kann, ist der einfach nach \cs{paragraph} die Sequenz +\glq\verb|\ \\|\grq\ einzuf"ugen. Dies ist jedoch nur dann +sinnvoll, wenn man dies einmalig---als Ausnahme---einf"ugen +mu"s (falls z.\,B.\ \LaTeX\ nur an dieser Stelle umbrechen sollte, +der Aufwand einer allgemeineren L"osung zu gro"s w"are oder +einfach nur ein Termin eingehalten werden mu"s). + +\r Und wie gehe ich sonst vor? + +\p Will man dagegen nach jedem \cs{paragraph}-Befehl eine neue +Zeile beginnen, sollte man besser diesen Befehl selbst "andern +und im Dokument selbst keine "Anderung vornehmen. Dadurch +spart man sich im Endeffekt eine Menge Zeit und hat sp"ater +immer noch die M"oglichkeit, das Aussehen dieses Befehls erneut +zu "andern, ohne dann diese "Anderung wieder r"uckg"angig +machen zu m"ussen. + +\r Eine "au"sert akzeptable L"osung. + +\p Die sogenannten "`standard styles"' wie {\em article\/} oder +{\em report\/} oder {\em book\/}, die mit \LaTeX\ mitgeliefert +werden, sollte man als {\em Beispiele\/} ansehen, wie man seine +eigenen Styles definieren kann. Au"serdem sind diese Styles +eigentlich nicht f"ur das in Europa "ubliche Papierformat +DIN~A4 gemacht worden, so da"s man daf"ur auf alle F"alle +entsprechende Anpassungen verwenden sollte. + +\r Also "andere ich \sty{article} in entsprechender Weise. + +\p Auf gar keinen Fall! + +\smallskip +\begin{center} +Layout-"Anderungen d"urfen {\bf niemals} in den\\ +Original {\tt .sty}-Dateien vorgenommen werden!\\ +Hierf"ur erstelle man sich besondere {\tt .sty}-Dateien,\\ +die via \cs{documentstyle[...]} eingelesen werden.\\ +{\bf Ver"andern Sie niemals die Originaldateien!} +\end{center} +\smallskip + +Wenn man also \sty{article} "andern will, sollte man entweder +den Style umbenennen oder nur den zu "andernden Teil in einer +Styleoption neu definieren. + +\p Wieso weisen Sie so eindringlich darauf hin, die +Originaldateien nicht abzu"andern? + +\p Weil Sie sich damit in den Abgrund der +Inkompatibilit"at\index{inkompatibel} begeben. + +\r Und wie finde ich die zu "andernden Stellen? + +\p Erfahrene \TeX{}ler bieten die folgende Vorgehensweise an. +\begin{enumerate} +\item Durchforsten Sie das \LaTeX-Manual von L.~{\sc Lamport}! +\item Zu jeder {\tt .sty}-Datei existiert eine dokumentierte +Version mit der Endung {\tt doc}\index{doc-Datei@{\tt +.doc}-Datei}; zu \sty{article} geh"ort also die dokumentierte +Datei {\tt article.doc}. Durchsuchen Sie diese als n"achstes! +\item Falls die bisherige Suche nicht zum Erfolg f"uhrte, +m"ussen Sie {\tt latex.tex} selbst durchforsten. +\item Als letzte Quelle sollte das \TeX{}book von \DEK\ +herangezogen werden. +\end{enumerate} + +\r Ich verfasse also eine {\tt .sty}-Datei mit den gew"unschten +"Anderungen und lese sie wie andere {\tt .sty}-Dateien ein. +Welchen Inhalt sollte sie f"ur diesen Fall besitzen? + +\p Hier hilft uns {\tt art1{\it x}.doc} weiter. Dort finden +wir an entsprechender Stelle die Definition von \cs{paragraph}, +deren Zuweisung von \cs{afterskip} von \glq\verb|0pt|\grq\ auf +\glq\verb|1ex plus .1ex|\grq\ ge"andert wurde.\footnote{In +"alteren Stylefiles fehlt der interne Befehl {\tt +\string\reset@font}. In diesem Fall sollte man \LaTeX-Version +{\it und\/} alle Stylefiles auf den neuesten Stand bringen!} +% +\begin{ogfudatim} +\def\paragraph{\@startsection + {paragraph}% NAME + {4}% LEVEL + {0pt}% INDENTation of heading from left margin + {3.25ex plus1ex minus.2ex}% BEFORESKIP + % (if < 0pt supress indentation + % of following heading) + {1ex plus .1ex}% AFTERSKIP (if <= 0pt => run-in header) + {\reset@font\normalsize\bf}% STYLE +} +\end{ogfudatim} +% +Ob man sich in dem damit gesetzten Dokument dann zwischen den +vielen "Uberschriften noch auskennt, ist allerdings das Problem +des Layout-Designers oder---schlimmer noch---des Lesers. + +\r Sie sagen es: grundlegende "Anderungen des Layouts sollten +professionellen Layoutern vorbehalten bleiben. + +\p Und diese "Anderungen wiederum k"onnen meist nur sachgerecht +von \LaTeX-Profis vorgenommen werden. + +\r Ich gebe Ihnen ganz und gar recht. Jedoch sind manchmal aus +verschiedensten Gr"unden {\em kleinere\/} "Anderungen +vorzunehmen. (So bestehen einige Dozenten auf einen +sogenannten "`doppelten"' +Zeilenabstand\index{Zeilenabstand!doppelter}% +\index{Aendern@\"Andern!des Zeilenabstandes} bei +wissenschaftlichen Arbeiten; "uber die typographische Qualit"at +einer derartigen Verordnung m"ussen wir gewi"s nicht streiten.) + +\p Ganz gewi"s nicht. + +\r In diesen F"allen ist doch gut zu wissen, wie man ungef"ahr +vorzugehen hat, falls einmal kein \LaTeX-Profi greifbar und +dennoch einmal eine Kleinigkeit, wie zum Beispiel Kopf- oder +Fu"szeilen\index{Aendern@\"Andern!von Kopf- und Fu\ss zeilen}, +etwas abzu"andern ist. + +\p Auch diese "Anderungen sind dann in einer eigenen {\tt +.sty}-Datei unterzubringen. F"ur "Anderungen der Kopf- bzw.\ +Fu"szeilen finden wir folgenden Code in \sty{article}. +% +\begin{ogfudatim} +\if@twoside % zweiseitiges Dokument? + \def\ps@headings{\let\@mkboth\markboth + \def\@oddfoot{}\def\@evenfoot{}% Keine Fusszeile auf Seite + \def\@evenhead{\rm\thepage \hfil \sl\leftmark}% Linke + % Kopfzeile + \def\@oddhead{{\sl\rightmark}\hfil \rm\thepage}% Rechte + % Kopfzeile + % \rightmark und \leftmark werden mit \markboth bzw. + % \markright gesetzt. + % \section setzt \leftmark auf #1 und \rightmark auf {} + \def\sectionmark##1{\markboth + {\uppercase{\ifnum\c@secnumdepth>\z@ + \thesection\hskip 1em\relax \fi ##1}}% + {}}% + % \subsection setzt nur \rightmark und #1, + % \leftmark bleibt dabei unveraendert + \def\subsectionmark##1{\markright + {\ifnum\c@secnumdepth>\@ne + \thesubsection\hskip 1em\relax \fi ##1}}} +\else + % bei einseitigem Dokument wird obiges etwas "optimiert" + \def\ps@headings{\let\@mkboth\markboth + \def\@oddfoot{}\def\@evenfoot{}% Leere Fusszeile + \def\@oddhead{{\sl\rightmark}\hfil \rm\thepage}% Kopfzeile + \def\sectionmark##1{\markright + {\uppercase{\ifnum\c@secnumdepth>\z@ + \thesection\hskip 1em\relax \fi ##1}}}} +\fi +\end{ogfudatim} +So k"onnen Sie also durch die Deklaration von +% +\begin{ogfudatim} +\def\@oddfoot{\hfil OGFUDA\hfil} +\def\@evenfoot{\hfil {\sc Rainer Juhser} im Gespr"ach + mit {\sc Pete T.\ Rex} \hfil} +\end{ogfudatim} +% +\makeatletter + % Durch die Redefinition + \def\@oddfoot{\gdef\@oddfoot{}\hfil OGFUDA\hfil} + \def\@evenfoot{\gdef\@evenfoot{}\hfil {\sc Rainer Juhser} + im Gespr"ach mit {\sc Pete T.\ Rex}\hfil} +\makeatother +% +die Fu"szeilen erzeugen, die Sie auf den folgenden beiden +Seiten sehen. Wird f"ur dieses Dokument nur ein Stil f"ur ein +einseitiges Dokument verwendet, so erscheint der in +{\tt \string\@evenfoot} definierte Text nicht, da es dann +keine geraden bzw.\ besser R"uckseiten (``even pages'') gibt. + + +\subsection{"Anderung des Zeilenabstandes} + +\r Ausgezeichnet! Und wie ist dem Problem des zweizeiligen +Zeilenabstandes\index{Zeilenabstand!doppelter} beizukommen? + +\makeatletter +\def\norm@lsize{\@setsize\norm@lsize{18pt}\xiipt\@xiipt} +\norm@lsize +\makeatother + +\p Auf die folgende Art. In \sty{art12} findet sich die +Anweisungsfolge. +% +\begin{ogfudatim} +\def\@normalsize{\@setsize\normalsize{14.5pt}\xiipt\@xiipt[...]} +\end{ogfudatim} +% + +"Andert man den Wert \glq\verb|12pt|\grq\ auf beispielsweise +{\tt 18pt}, so erhalten Sie etwa anderthalbzeiligen +Zeilenabstand\index{Zeilenabstand!anderthalbfacher}. Dieser +Absatz ist mit dieser Einstellung geschrieben.\footnote{Wie Sie +sehen, wirkt der ver"anderte Zeilenabstand% +\index{Zeilenabstand!in Fussnoten@in Fu\ss noten} {\em nicht\/} +in Fu"snoten, da f"ur Fu"snoten eine kleiner Fontgr"o"se +verwendet wird; w"unschen Sie auch hier einen vergr"o"serten +Zeilenabstand, mu"s die Deklaration von {\tt +\string\footnotesize} analog der oben ge"anderten Definition +von {\tt\string\normalsize} erfolgen.} Normalerweise ist der +Zeilenabstand in \sty{art12}, dessen +\makeatletter +\def\foot@notesize{\@setsize\footnotesize{15pt}\xpt\@xpt}% +Stil\footnote{\foot@notesize Hier sehen Sie einen etwa +anderthalbzeiligen Zeilenabstand innerhalb der Fu"snote. Dies +wird erreicht durch eine Neudeklaration von +{\tt\string\footnotesize}.} +\makeatother +hier verwendet wird, $14{,}5$\,pt. + +% wieder zurueckschalten, darauf achten, dass Paragraph +% vorher(!) abgeschlossen wird. +\par\normalsize + +\r Dieser Anblick l"a"st mich grausen\index{Grausen}. + +\p Tja, Sie sprechen mir aus dem Herzen, aber was soll man +machen, wenn h"oherer \ind{Zwang} vorliegt? + +\r Das Beste daraus machen. Aber zwei Fragen stellen sich mir +in diesem Zusammenhang. Zun"achst scheint die von Ihnen +vorgeschlagene L"osung schrift"-gr"o"sen"-abh"angig zu sein. +Wie "ublich fassen wir die vorzunehmende "Anderung in eine +eigene {\tt .sty}-Datei mit dem Namen \sty{grausen}. Falls wir +jetzt aber unser Dokument statt mit +% +\begin{ogfudatim} +\documentstyle[12pt,grausen,...]{article} +\end{ogfudatim} +% +mit +% +\begin{ogfudatim} +\documentstyle[10pt,grausen,...]{article}, +\end{ogfudatim} +% +"ubersetzen, so erhalten wir das Ganze in einer +$10$\,pt-Grundschrift gesetzt, wobei der Zeilenabstand dann +allerdings fast zweizeilig ist; $18$\,pt \ind{Zeilenabstand} +sind hier nicht mehr \ind{anderthalbzeilig}. Vielleicht w"aren +etwa $15$\,pt angebrachter. + +\p Ein ausgezeichneter Einwand! In der Tat sollten wir dann +schon N"agel mit K"opfen machen, und zwar so. Um \sty{grausen} +von der Gr"o"se der \ind{Grundschrift} unabh"angig zu machen, +verwenden wir das interne Makro \verb|\@ptsize|. Es enth"alt +eine $0$, $1$ oder~$2$, falls eine $10$\,pt-, $11$\,pt- oder +eine $12$\,pt-Schriftgr"o"se ausgew"ahlt wurde. + +\r Demnach hat sich also \verb|\@ptsize| die Einerziffer der +jeweils ge"-w"ahlten Grundschrift"-gr"o"se gemerkt. + +\p So ist es. Dies k"onnen wir nun ausnutzen. Die Datei +\sty{grausen} sollte die folgenden Zeilen enthalten. +% +\begin{ogfudatim} +\ifcase \@ptsize + \def\@normalsize{\@setsize\normalsize{15pt}\xpt\@xpt[...]} +\or + \def\@normalsize{\@setsize\normalsize{16.5pt}\xipt\@xipt[...]} +\or + \def\@normalsize{\@setsize\normalsize{18pt}\xiipt\@xiipt[...]} +\fi +\end{ogfudatim} +% +Die mit \glq\verb|[...]|\grq\ bezeichneten Stellen enthalten +jeweils den Originalcode aus der Gr"o"sendatei; dieser betrifft +im wesentlichen die verschiedenen Zeilenabst"ande im +mathematischen Satz (die ihrerseits noch einer Anpassung +bed"urfen). + +\r Aha. Wollten wir zus"atzlich noch den Abstand der +Fu"snotenzeilen ver"andern, k"onnten wir unter der jeweiligen +Definition von \cs{normalsize} die entsprechend ge"anderte +Definition von \cs{footnotesize} notieren. + +\p Wie gesagt, N"agel mit K"opfen zu machen bedeutet hier, +ebenfalls die \cs{small}-, \cs{scriptsize}- und die anderen +Fontdeklarationen anzupassen. Beachten Sie bitte, da"s ein +mittels +% +\begin{ogfudatim} +{\small ...} +\end{ogfudatim} +% +gesetzter Absatz zwingend mit einer Leerzeile enden mu"s, also +etwa so +% +\begin{ogfudatim} +{\small text ... +text. + +} +\end{ogfudatim} +% +zu notieren ist; andernfalls liest \TeX{} den gesamten durch +\glq\verb|{|\grq\ und \glq\verb|}|\grq\ begrenzten Absatz ein +und restauriert hinter der schlie"senden Klammer den Wert von +\cs{baselineskip}, bevor der komplette Absatz umgebrochen wird. +Da als Zeilenabstand eines Absatzes der beim Umbruch aktuelle +Wert des Parameters \cs{baselineskip} verwendet wird, erh"alt +man sonst den Wert der vor der durch \verb|{| begonnenen +Gruppe. + +\r Gut zu wissen! + + +\subsection{Fu"snoten} + + +\r Meine zweite Frage betrifft noch einmal Fu"snoten. Ich habe +bemerkt, da"s Sie den Ausdruck \qcs{footnotesize} innerhalb +einer Fu"snote verwenden; wie ich wei"s, ist jedoch die +Verwendung von \cs{verb} innerhalb von \cs{footnote} nicht +m"oglich. + +\p Ganz recht. Der Grund daf"ur ist, da"s das +\cs{footnote}-Kommando sein Argument auf einen Sitz verschluckt +und \verb|\verb=...=| keine Gelegenheit bekommt, die +Sonderzeichen zu "`entsch"arfen"'. Der {\em category code\/}, +der die syntaktischen Eigenschaften eines +Zeichens festlegt, kann danach nicht mehr ge"andert werden. +Und eben diese werden von \cs{verb} ver"andert, um alle Zeichen +zu inaktivieren. + +\r Und wie haben Sie \qcs{footnotesize} in die Fu"snote +eingeschleust? + +\p Ich notierte \glq\verb|\char`\\|\cs{footnotesize}\grq; +\verb|\char`\\| bzw.\ +\verb|\char'134| bzw.\ \verb|\char92| veranla"st \TeX, das auf +der Position~92 befindliche Zeichen des aktuellen Zeichensatzes +zu verwenden (134 ist der Oktal-, 92 der Dezimalcode des +Zeichens \verb|\|).{\tolerance=6000\par} + +\r Viele Anwender sind auf eine andere Gestaltung der Fu"snoten +angewiesen, als sie \LaTeX\ bietet. Dies betrifft zun"achst +einmal die Einr"uckungen der Fu"snoten. + +\p Sie schneiden da ein "au"serst heikles Thema an! Nicht etwa, +weil Ihr Problem schwierig zu l"osen ist, sondern weil es +gro"se Kontroversen bez"uglich der Fu"snoten "uberhaupt gibt. +Diese Diskussion aufzugreifen, kann aber nicht unsere Sache +sein; vielmehr verweise ich Sie (sofern Sie daran interessiert +sind) auf Reiss Vorstudien~\cite{reiss} und den Anmerkungen von +Fisch und Strohschneider zu diesen +Vorstudien~\cite[S.~447--461]{fisch}. + +\r Ich gebe Ihnen da wohl recht, aber was k"onnen Sie mir nun +in Bezug auf mein Problem berichten? + +\p In {\tt article.doc} finden wir den entscheidenden Hinweis. +Dort findet sich der folgende Kode.\footnote{In dieser Fu"snote +werden die normalen Werte des momentan verwendeten Styles +verwendet.\par Und dies ist ein zweiter Absatz.} +% +\begin{ogfudatim} +\long\def\@makefntext#1{% + \parindent 1em % (1) + \noindent + \hbox to 1.8em% (2) + {\hss$\m@th^{\@thefnmark}$}#1} +\end{ogfudatim} +% +{% +\makeatletter +\long\def\@makefntext#1{\parindent 10em\noindent + \hbox to10pt{\hss$\m@th^{\@thefnmark}$}#1} +\makeatother + +Die mit (1) markierte Stelle% +\footnote{Hier werden in (1) die Werte $10$\,em und in (2) der +Wert $10$\,pt verwendet.\par Etwas ungew"ohnlich, aber dies +soll nur zur Verdeutlichung dienen.} +% +\makeatletter +\long\def\@makefntext#1{\parindent 0em\noindent + \hbox to0pt{\hss$\m@th^{\@thefnmark}$}#1} +\makeatother +% +zieht die erste Zeile eines neuen Absatzes um~$1$\,em% +% +\footnote{F"ur diese Fu"snote wurden alle Werte auf~$0$\,pt +gesetzt, so da"s der Text mit dem linken Rand abschlie"st.\par +Die Fu"snotemarkierung ragt dabei mit der angegeben Definition +in den linken Rand hinaus.} +% +ein und die mit (2) markierte Stelle r"uckt den ersten Absatz +mit der Fu"snotenmarkierung um $10$\,pt ein.} +Ferner k"onnen Sie hier auch das Aussehen der Fu"snotenmarke +"andern. Schreiben Sie in der letzten Zeile obiger Definition +statt +% +\begin{ogfudatim} + \hbox to 1.8em{\hss$\m@th^{\@thefnmark}$}#1} +\end{ogfudatim} +die Erkl"arung +\begin{ogfudatim} + \mbox{(\@thefnmark)} #1}, +\end{ogfudatim} +% +{% +\makeatletter +\long\def\@makefntext#1{\parindent 1em\noindent + \mbox{(\@thefnmark)} #1} +\makeatother +% +so erhalten Sie eine Fu"snotenmarkierung, die +hier\footnote{Eine unsinnige Fu"snote mehr. Beachten Sie den +andersartig gestalteten Fu"snotenz"ahler!} +% +zu sehen ist.} + +"Andern Sie diese beiden Werte gem"a"s Ihren Anforderungen +oder schreiben Sie das Makro komplett um +% +{% +\makeatletter + \long\def\@makefntext#1{\parindent 1em\noindent + \makebox[2em][r]{$\m@th\@thefnmark.\;\;$}#1} +\makeatother +% +und speichern dieses Makro z.\,B.\ unter dem Namen +\sty{myfootnt} ab.% +\footnote{Versuchen Sie auch einmal diese Einstellungen! Diese +finden in einer Stil-Option Einsatz, die es erlaubt, im +zweispaltigen Satz die Fu"snoten ans Ende der rechten Spalten +auszugeben.\par Dieser Stil tr"agt den Namen \sty{ftnright} und +ist auf vielen \TeX-Servern zu finden.}} +% +Diese Datei kann dann bei Bedarf wie andere Stildateien auch +eingelesen werden. Die letzte Fu"snote wurde "ubrigens mit +der Definition +% +\begin{ogfudatim} +\long\def\@makefntext#1{\parindent 1em% + \noindent \makebox[2em][r]{$\m@th\@thefnmark.\;\;$}#1} +\end{ogfudatim} +% +formatiert. + +\r Nun gut, bei n"aherem Hinsehen erschlie"st sich mir der +Kode. Obwohl mir dieser Kode noch nicht ganz klar ist, +verlasse ich mich auf Ihren Rat. + +\p Tja, selbst minimale "Anderungen des Layouts sind in der +vorliegenden \LaTeX-Version h"aufig nur mit Klimmz"ugen und +genaueren Kenntnissen der Internas zu erreichen. Hoffen wir, +da"s sich das in neueren Versionen "andert. Sie sprachen aber +von mehreren Problemen? + +\r Ja, ein weiteres Problem ist die seitenweise Numerierung der +Fu"snoten. Wie ist dies zu bewerkstelligen? + +\p Auf eine einfache Art und Weise nicht. Der Grund daf"ur +liegt daran, da"s die Fu"snotennummern genau zu dem Zeitpunkt +erfolgt, an dem die Fu"snote im Text erscheint. Die Nummer der +Fu"snore kann danach nicht mehr ge"andert werden. Das Problem +ist nun, da"s die Bestimmung der Seitengrenzen erst +"`nachtr"aglich"' (asynchron zum Text) erfolgt. Somit kann es +sein, da"s ein Textst"uck mit einer Fu"snote, deren Nummer +schon festgelegt wurde, auf die n"achste Seite geschoben wird, +da dieses Textst"uck nicht mehr auf die Seite pa"st. In diesen +F"allen m"u"ste man also die Nummern dieser Fu"snoten +nachtr"aglich "andern, was nicht m"oglich ist. + +Rein logisch gesehen, geh"ort die Fu"snotennumerierung zu den +textbezogenen Z"ahlern, unabh"angig davon, ob man sie +seitenweise z"ahlt oder nicht. (Einige \TeX hacker glauben, +dies sei einer der Punkte, die \DEK\ in \TeX\ etwas kurzsichtig +behandelt hat.) + +Eine funktionierende L"osung ist \sty{footnpag} oder auch +\sty{pgefoot}, welche die {\tt .aux}-Datei benutzen, und +deshalb nur bei einer verh"altnism"a"sig kleinen Anzahl von +Fu"snoten angewendet werden k"onnen (falls Sie kein Big\-\TeX\ +verwenden). + +\r Nun verraten Sie mir noch, wie ich Fu"snoten innerhalb einer +\env{tabular} verwenden kann! + +\p In einer \env{tabular} funktioniert das +\cs{footnote}-Kommando nicht mehr. Hier m"ussen Sie schon +selbst Hand anlegen, und zwar mit den \cs{footnotemark}- und +\cs{footnotetext}-Kommando. + +\r Erl"autern Sie mir bitte, wie! + +\p Das \cs{footnotemark}-Kommando macht zweierlei: es setzt +eine Fu"s"-notenmarke wie "ublich an die angegebene Stelle und +erh"oht den Fu"snotenz"ahler {\tt footnote} um~$1$. +\cs{footnotetext} erzeugt den Fu"snotentext mit einer +Markierung, die dem aktuellen Wert des Fu"snotenz"ahlers +entspricht. \cs{footnotetext} ver"andert den Wert des +Fu"snotenz"ahlers {\tt footnote} dabei nicht. + +\r Ich k"onnte also beispielsweise eine Tabelle so eingeben: +% +\begin{ogfudatim} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\\ \hline +\LaTeX & 2.09\footnotemark\\ \hline +\end{tabular} +\footnotetext{Version vom 25. M"arz 1992.} +\end{ogfudatim} +und erhielte das folgende Resultat. + +\begin{center} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\\ \hline +\LaTeX & 2.09\footnotemark\\ \hline +\end{tabular} +\footnotetext{Version vom 25. M"arz 1992.} +\end{center} + +\p Genau. Was aber ist zu tun, wenn Sie mehrere Fu"snoten in +einer Tabelle erzeugen wollen? + +\r Warten Sie bitte\dots Das gibt dann ein Problem, denn wenn ich +zwei Fu"snoten in einer Tabelle so eingebe. +% +\begin{ogfudatim} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\footnotemark\\ \hline +\LaTeX & 2.09\footnotemark\\ \hline +\end{tabular} +\footnotetext{Version vom 16. M"arz 1992 +(f"ur Insider: "`$3{:}16$"').} +\footnotetext{Version vom 25. M"arz 1992.} +\end{ogfudatim} +% +Dann erhalte ich nicht das gew"unschte Ergebnis, da ja jeder +Aufruf des Befehls \cs{footnotemark} den Fu"s"-noten"-z"ah"-ler +um~$1$ erh"oht. Daher w"urde bei beiden Fu"snoten nur die +Marke der zweiten Fu"snoten verwendet. + +\p Genau. Gehen Sie daher so vor. +% +\begin{ogfudatim} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\footnotemark\\ \hline +\LaTeX & 2.09\footnotemark\\ \hline +\end{tabular} +\addtocounter{footnote}{-1} +\footnotetext{Version vom 16. M"arz 1992 +(f"ur Insider: "`$3{:}16$"').} +\stepcounter{footnote} +\footnotetext{Version vom 25. M"arz 1992.} +\end{ogfudatim} +% +Damit erhalten Sie das Gew"unschte: + +\begin{center} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\footnotemark\\ \hline +\LaTeX & 2.09\footnotemark\\ \hline +\end{tabular}. +\addtocounter{footnote}{-1} +\footnotetext{Version vom 16. M"arz 1992 +(f"ur Insider: "`$3{:}16$"').} +\stepcounter{footnote} +\footnotetext{Version vom 25. M"arz 1992.} +\end{center} + +\r Also mu"s in diesem Fall der Schreibende selbst f"ur die +richtige Numerierung der Fu"snoten sorgen. + +\p Leider ist das so. + +\r H"aufig geh"oren aber Fu"snoten sachlich zur Tabelle und +nicht zum umgebenden Text; wie kann ich erreichen, da"s die +Fu"snoten unmittelbar unter die Tabelle gesetzt werden? + +\r Verwenden Sie in einem solchen Fall eine \env{minipage}, in +die Sie die Tabelle stellen, also etwa so: +% +\begin{ogfudatim} +\begin{minipage}{12cm} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\footnote{Version vom 16. M"arz 1992 + (f"ur Insider: "`$3{:}16"'$).}\\ \hline +\LaTeX & 2.09\footnote{Version vom 25. M"arz 1992.}\\ \hline +\end{tabular} +\end{minipage} +\end{ogfudatim} +% +und Sie erhalten das folgende Ergebnis. + +\begin{center} +\begin{minipage}{12cm} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\footnote{Version vom 16. M"arz 1992 + (f"ur Insider: "`$3{:}16$"').}\\ \hline +\LaTeX & 2.09\footnote{Version vom 25. M"arz 1992.}\\ \hline +\end{tabular} +\end{minipage} +\end{center} + +\r Aha. Die \env{minipage} benutzt also ihren eigenen +Fu"snotenz"ahler. Mich st"ort jetzt nur noch etwas die Linie, +die die Tabelle von der Fu"snote abgrenzt. Wie kann ich diese +zum Verschwinden bringen? + +\p Durch eine Neudeklaration des Befehls \cs{footnoterule}. +Allerdings sollte diese Neudeklaration nur {\em lokal\/} +innerhalb der \env{minipage} erfolgen, denn sonst erscheinen im +ganzen Dokument keine Trennlinien mehr zwischen Text und +Fu"snoten. Notieren Sie daher etwa das Folgende. +% +\begin{ogfudatim} +\begin{minipage}{12cm} +\renewcommand{\footnoterule}{} % <<<=== +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\footnote{Version vom 16. M"arz 1992 + (f"ur Insider: "`$3{:}16$"').}\\ \hline +\LaTeX & 2.09\footnote{Version vom 25. M"arz 1992.}\\ \hline +\end{tabular} +\end{minipage} +\end{ogfudatim} +% +Als Ergebnis erhalten Sie dann die folgende Tabelle. + +\begin{center} +\begin{minipage}{12cm} +\renewcommand{\footnoterule}{} +\begin{tabular}{|c|l|}\hline +\TeX & 3.141\footnote{Version vom 16. M"arz 1992 + (f"ur Insider: "`$3{:}16$"').}\\ \hline +\LaTeX & 2.09\footnote{Version vom 25. M"arz 1992.}\\ \hline +\end{tabular} +\end{minipage} +\end{center} + +Sie k"onnen "ubrigens auch hier die Formatierung des +Fu"snotentextes, ganz genau wie oben vorgestellt, durch eine +"Anderung von \verb|\@makefntext| beeinflussen. Dazu verwenden +Sie am besten eine neudefinierte Umgebung, die z.\,B.\ die +\env{minipage} und die neuen Definitionen von \cs{footnoterule} +und \verb|\@makefntext| beinhalten. Wie ich an andere Stelle +schon erw"ahnt habe, sollte das Layout m"oglichst durch Befehle +und Umgebungen in einem Style bzw.\ einer Styleoption und nicht +direkt im Dokument selbst realisiert werden. + +\endinput diff --git a/info/german/ogfuda/nummern.tex b/info/german/ogfuda/nummern.tex new file mode 100644 index 0000000000..767288fc99 --- /dev/null +++ b/info/german/ogfuda/nummern.tex @@ -0,0 +1,349 @@ +%% nummern.tex -- Teil der OGFUDA +%% +\def\filename{nummern.tex} +\def\filedate{01-FEB-1993} +\def\fileversion{1.0} + +\meldedich + +\section{Numerierung}\label{sec:nummern} + +\r \TeX{} geht in verschiedenster Weise mit Numerierungen um. +Lassen Sie uns darauf eingehen! + +\p Nur zu, ich bin bereit. + +\r Was ist zu tun, um die einzelnen Kapitel eines Textes nicht +durchzunumerieren, sondern +durchzubuchstabieren\index{Durchbuchstabieren}? + +\p Was verstehen Sie darunter? + +\r Nun, gew"ohnlich werden die Kapitel, Abschnitte und +Unterabschnitte {\em numerisch\/} gez"ahlt, d.\,h.\ also in der +folgenden Weise. + +\bigskip +{\bf 1.2.3\ \ Ein numerierter Abschnitt} +\bigskip + +\noindent Manchmal sollen aber auch andere Z"ahlungen verwendet +werden, wie etwa so. + +\bigskip +{\bf I.2.c)\ \ Ein numerierter Abschnitt} +\bigskip + +\noindent Wie ist diese Art der Numerierung zu erreichen? + +\p \LaTeX{} kennt f"ur jeden verwendeten Abschnittstyp% +\index{Abschnittstypen} einen eigenen Z"ahler% +\index{Zaehler@Z\"ahler}. Der Name dieses Z"ahlers hei"st +genauso wie der entsprechende Abschnitt; der Z"ahler f"ur +\cs{part} hei"st {\tt part}, der f"ur \cs{chapter} hei"st {\tt +chapter}, ebenso f"ur alle anderen Gliederungsbefehle. Das +Aussehen der jeweiligen Abschnittsnumerierung l"a"st sich mit +dem Befehl \cs{the}{\tt <}{\em Z"ahler}{\tt >}% +\indextt{thepart}\indextt{thechapter}\index{theellipse@{\tt +the\ldots}} beeinflussen. Dazu dienen ferner die Befehle +\cs{arabic}, \cs{roman} und \cs{Roman}, die die Z"ahler in +arabischen, kleinen r"omischen oder gro"sen r"omischen Ziffern +darstellen. Ferner gibt es noch \cs{alph} und \cs{Alph}, die +Zahlen, die kleiner als~27 sind, mit ihrem entsprechenden +kleinen oder gro"sen Buchstaben darstellen. + +\r Demnach erg"abe \glq\verb|\arabic{5}|\grq\ also eine \sq{5}, +\glq\verb|\roman{5}|\grq\ ein \sq{v} und +\glq\verb|\Roman{5}|\grq\ ein \sq{V}. Ferner ergibt +\glq\verb|\alph{5}|\grq ein \sq{e} und \glq\verb|\Alph{5}|\grq\ +ein \sq{E}. + +\p Genau. Schauen wir uns jetzt einmal die Originaldefinition +von \cs{thepart} an. +% +\begin{ogfudatim} +\newcommand{\thepart}{\Roman{part}} % original +\end{ogfudatim} +% +Bevorzugen Sie eine Numerierung mit Gro"sbuchstaben +(vorausgesetzt, sie verwenden weniger als 27~\cs{part}), so +definieren Sie einfach \cs{thepart} neu. +% +\begin{ogfudatim} +\renewcommand{\thepart}{\Alph{part}} +\end{ogfudatim} + +\r Falls meine h"ochste Gliederungsstufe +\cs{chapter}\index{Gliederungsstufe} ist und ich diese mit +gro"sen r"omischen Buchstaben\index{roemische +Buchstaben@r\"omische Buchstaben} kennzeichnen will, +\cs{section} mit arabischen Ziffern und \cs{subsection} mit +kleinen Buchstaben, so habe ich also das folgende neu zu +definieren. +% +\begin{ogfudatim} +\renewcommand{\thechapter}{\Roman{chapter}} +\renewcommand{\thesection}{\Roman{chapter}.\arabic{section}} +\renewcommand{\thesubsection}{\Roman{chapter}.\arabic{section}.% + \alph{subsection}} +\end{ogfudatim} + +\p Wobei das allerdings noch etwas knapper geht. +% +\begin{ogfudatim} +\renewcommand{\thechapter}{\Roman{chapter}} +\renewcommand{\thesection}{\thechapter.\arabic{section}} +\renewcommand{\thesubsection}{\thesection.\alph{subsection}} +\end{ogfudatim} + +\r Nat"urlich; ich h"atte selbst darauf kommen k"onnen. Und +wie kann ich erreichen, da"s auch \cs{paragraph} und +\cs{subparagraph} mitnumeriert werden oder die Numerierung nur +bis \cs{subsection} durchgef"uhrt wird? + +\p Das l"a"st sich getrennt f"ur das +Inhaltsverzeichnis\index{Inhaltsverzeichnis} und f"ur die +Abschnitts"uberschriften% +\index{Abschnittsueberschriften@Abschnitts\"uberschrift} +mit den Z"ahlern\index{Zaehler@Z\"ahler} \ttind{tocdepth} bzw.\ +\ttind{secnumdepth} einstellen. Dabei sind die Zuordnungen der +Abschnitte zum Z"ahler der Tabelle~(\ref{tab:count}) auf +Seite~\pageref{tab:count} in Abschnitt~\ref{sec:nummern} zu +entnehmen. +% +\begin{table} +\begin{center} +\begin{tabular}{|c|c|}\hline +Abschnitt & Nummer\\ \hline +\cs{part}& $-1$\\ \cs{chapter}& $0$\\ +\cs{section}& $1$\\ \cs{subsection}& $2$\\ +\cs{subsubsection}& $3$\\ \cs{paragraph}& $4$\\ +\cs{subparagraph}& $5$\\ \hline +\end{tabular} +\end{center} +\caption{Zuordnung der Abschnittsnamen zu Zahlen} +\label{tab:count} +\end{table} +% +Erkl"art man beispielsweise +% +\begin{ogfudatim} +\setcounter{tocdepth}{5} +\setcounter{secnumdepth}{2} +\end{ogfudatim} +% + +so werden ins Inhaltsverzeichnis\index{Inhaltsverzeichnis} alle +Abchnitte bis einschlie"slich \cs{sub\-paragraph} "ubernommen, +w"ahrend in den jeweiligen Abschnitts"-"uberschriften% +\index{Abschnittsueberschrift@Abschnitts\"uberschrift} +die Numerierung nur bis zu \cs{subsection} erfolgt. (Setzt man +\ttind{tocdepth} und \ttind{secnumdepth} auf den Wert~$-2$, so +wird die Aufnahme ins Inhaltsverzeichnis% +\index{Inhaltsverzeichnis!Unterdrueckung von +Eintraegen@Unterdr\"uckung von Eintr\"agen} und die +"Uberschriftennumerierung v"ollig unter"-dr"uckt.) + +\r Darf ich annehmen, da"s auf "ahnliche Weise die Darstellung +in z"ahlenden Umgebung beeinflu"st werden kann? + +\p Auf {\em etwa\/} "ahnliche Weise. Die Z"ahler in der +\env{enumerate}\index{Zaehler@Z\"ahler!in der {\sf +enumerate}-Umgebung} tragen die Namen \ttind{enumi}, +\ttind{enumii}, \ttind{enumii} und \ttind{enumiv}. Diese +k"onnen analog zur Umdefinition% +\index{Zaehler@Z\"ahler!Neudefinition} der oben genannten +Z"ahler neu erkl"art werden, also etwa so. +% +\begin{ogfudatim} +\renewcommand{\theenumi}{\Alph{enumi}} +\renewcommand{\labelenumi}{(\theenumi)} +\end{ogfudatim} + +\r Die erste Umdefinition betrifft die Repr"asentation des +Z"ahlers\index{Zaehler@Z\"ahler!Repr\"asentation} der Umgebung, +die auch bei der Referenzierung verwendet wird (hier wird: "`A, +B, C,~\ldots"' gez"ahlt) und die zweite die Erscheinung im +Schriftbild (hier erscheinen die Z"ahler so: "`(A), (B), +(C),~\ldots"' im Text). + + +\subsection{Referenzen}\label{sub:ref} + +\p Richtig. Allerdings gibt es hier noch eine weitere +M"og"-lichkeit, die Darstellung des Z"ahlers zu beeinflussen +und zwar, wenn der Z"ahler durch \cs{ref}{\tt\{}{\em +label\/}{\tt\}} referenziert wird.{\tolerance=2000\par} + +\r Ein hochinteressantes Thema! Erkl"aren Sie mir doch +zun"achst, wie die Referenzierung in \LaTeX{} abl"auft; h"aufig +ist es f"ur mich reine +Gl"uckssache\index{Glueckssache@Gl\"uckssache}, da"s +beispielsweise eine mit \verb|\label{tab:count}|\indexcs{label} +gekennzeichnete Tabelle mit dem entspechenden +\verb|\ref{tab:count}|-Kommando\indexcs{ref} richtig +referenziert wird. + +\p Dann lassen Sie uns aus dem Gl"uck +Berechnung\index{Berechnung} machen! + +\r Nur zu gerne. + +\p Nicht jeder Z"ahler ist referenzierbar; die {\em +referenzierbaren Z"ahler\/}% +\index{Zaehler@Z\"ahler!referenzierbare} sind: die {\tt +chapter}- und {\tt section}-Z"ahler, der Gleichungsz"ahler +(beispielsweise innerhalb der \ttind{theorem}- und der +\env{equation}) sowie die oben angesprochenen Z"ahler {\tt +enumi} bis {\tt enumiv} der \env{enumerate}. Bei den von Ihnen +angesprochenen Z"ahlern der \ttind{figure}- und der \env{table} +mu"s man etwas auspassen, worauf wir sp"ater noch zu sprechen +kommen werden. + +\r Welche Z"ahler sind denn nicht referenzierbar? + +\p Der Fu"snotenz"ahler% +\index{Zaehler@Z\"ahler!nichtreferenzierbare}. + +\r Und wieso funktioniert das Referenzieren manchmal falsch? + +\p Es kommt auf die Stellung des \cs{label}-Kommandos in Bezug +auf die Umgebung bzw.\ das zu referenzierende Item an. Dadurch +wird einmal die Seitennummer derjenigen Seite festgehalten, in +der \cs{label} auftaucht. + +\r Und diese kann mit \cs{pageref} abgerufen werden. + +\p Zweitens wird der Wert {\em des zuletzt erh"ohten +referenzierbaren Z"ahlers\/}\indexcs{label!und Z\"ahler} +gespeichert. + +\r Dieser wird dann mit \cs{ref} referenziert. Dann probieren +wir einmal folgenden Text. +% +\begin{quote} +\begin{enumerate} +\item \label{aufz:eins} + Das {\sc Gauss}sche Basisfeld\index{Gauss@{\sc Gauss}} + $\bigl(\frac{\partial}{\partial u_1},\dots, + \frac{\partial}{\partial u_n}\bigr)$ + einer $C^{\infty}$-Karte~$u$ f"ur eine $n$-dimensionale reelle + $C^{\infty}$-Mannigfaltigkeit~$M$ + ist charakterisiert durch +% +\begin{equation}\label{eq:eins} + \frac{\partial}{\partial u_i}\cdot\varphi= + \frac{\partial( \varphi\circ u^{-1})}{\partial x_i}, +\end{equation} +% + wobei $\varphi$ irgendeine $C^{\infty}$-Funktion von~$M$ ist. +\item \label{aufz:zwei} + Daher gilt f"ur jedes Element der zum {\sc Gauss}schen + Basisfeld dualen Basis $(du_1,\dots du_n)$ die Gleichung +% +\begin{equation}\label{eq:zwei} + d_pu_i\bigl(\dot c(0)\bigr)=\frac{d}{dt}(u\circ c)(0), +\end{equation} +% + wobei $c$ ein $C^{\infty}$-Weg in~$M$ ist, f"ur den $c(0)$ im + Definitionsbereich von~$u$ liegt. +\end{enumerate} +\end{quote} +% +Dieser Text wurde wie folgt eingegeben. +% +{\small +\begin{ogfudatim} +\begin{enumerate} +\item \label{aufz:eins} % <<<=== + Das {\sc Gauss}sche Basisfeld [...] ist charakterisiert durch + \begin{equation}\label{eq:eins} % <<<=== + [...] + \end{equation} + wobei [...] ist. + +\item \label{aufz:zwei} % <<<=== + Daher gilt[...] die Gleichung + \begin{equation}\label{eq:zwei} % <<<=== + [...] + \end{equation} + wobei [...] $u$ liegt. +\end{enumerate} +\end{ogfudatim} +} +% +\begin{sloppypar} +Sehen wir uns nun die Werte im einzelnen an: +\verb|\ref{aufz:eins}|:~\ref{aufz:eins}, +\verb|\ref{aufz:zwei}|:~\ref{aufz:zwei}, +\verb|\ref{eq:eins}|:~\ref{eq:eins}, +\verb|\ref{eq:zwei}|:~\ref{eq:zwei}. +\end{sloppypar} + +\p Sie sehen also, da"s jedes neue \cs{item}-Kommando und jede +\env{equation} ihren zugewiesenen Z"ahler um~$1$ erh"oht. Der +Wert des Z"ahlers kann dann durch ein \cs{label}-Kommando einer +Markierung zugewiesen werden. Innerhalb der \env{enumerate} +k"onnen Sie sogar noch das Aussehen des referenzierten Z"ahlers +bestimmen; dies geschieht durch eine Neudeklaration der +Kommandos \verb|\p@enumi| bis \verb|\p@enumiv|\index{penum@{\tt +p"@enum...}}, die durch das Zeichen~\verb|@| im Kommandonamen +nur in einem Styleoptionfile durchgef"uhrt werden kann. +Innerhalb einer geschachtelten \env{enumerate} ist es sinnvoll, +diese Referenz durch +% +\begin{ogfudatim} +\renewcommand{\p@enumii}{\theenumi\theenumii} +\end{ogfudatim} +% +so umzudefinieren, da"s die Schachtelung auch in der Referenz +sichtbar wird. Gilt ferner +% +\begin{ogfudatim} +\renewcommand{\theenumii}{\alph{enumii}} +\renewcommand{\labelenumii}{(\theenumii)} +\end{ogfudatim} +% +so wird innerhalb einer geschachtelten \env{enumerate} +mit~"`1a"' bzw.\ dem entsprechenden Wert referenziert. + +\r Hier sind also spezielle Einstellungen durchf"uhrbar. Und +wie kann ich dem Gl"ucksspiel in gleitenden +Tabellen\index{Gleitobjekte!und Referenzieren} ein Ende setzen? + +\p Dazu m"ussen Sie wissen, da"s nicht die \env{table}- oder +die \env{figure} den referenzierten Wert setzt, sondern dies +das \cs{caption}-Kommando "ubernimmt. Dadurch kann man auch +mehrere kleinere, zusammengeh"orende Bilder mit Unterschriften +in eine \env{figure} setzen. Damit die Referenz mit dem +richtigen Wert erscheint, mu"s \cs{label} {\it +unmittelbar nach} dem +jeweiligen \cs{caption}-Kommando gesetzt werden: +{\tolerance=2000\par} +% +{\small +\begin{ogfudatim} +\begin{table} + % ... Tabelle ... + \caption{Eine Tabellenbezeichnung} + \label{tab:bsp} % <<<=== +\end{table} +\end{ogfudatim} +} + +\r Aha! Jetzt bleiben bez"uglich des Referenzierens keine +Fragen mehr unbeantwortet, lediglich ein fast triviales +Problem. Die erste Seite eines Dokumentes hat eine +Seitennummer, obwohl man \glq\verb|\pagestyle{empty}|\grq\ +bzw.\ \glq\verb|\thispagestyle{empty}|\grq\ angegeben hat. +\indexcs{pagestyle}\indexcs{thispagestyle} + +\p Diese Erscheinung tritt in Verbindung mit \cs{maketitle} +oder mit \cs{chapter} auf und ist so vom Style-Designer +gewollt, auch wenn man "uber diese Entscheidung streiten kann. +Abhilfe schafft hier, \verb|\thispagestyle{empty}| direkt {\em +hinter\/} \cs{maketitle} bzw.\ \cs{chapter} zu setzen. Oder +man "andert in einem eigenen Style bzw.\ einer Styleoption dies +entsprechend ab. + +\endinput diff --git a/info/german/ogfuda/ogfuda.ind b/info/german/ogfuda/ogfuda.ind new file mode 100644 index 0000000000..b7d0433cad --- /dev/null +++ b/info/german/ogfuda/ogfuda.ind @@ -0,0 +1,249 @@ +\begin{theindex} + + \item Absatzumbruch, 5 + \item Abschnittstypen, 17 + \item Abschnitts\"uberschrift, 18 + \item Abschnitts\"uberschrift, 18 + \item \"Andern + \subitem des Zeilenabstandes, 7 + \subitem von Kopf- und Fu\ss zeilen, 7 + \item {\ptt \bslash afterskip}, 7 + \item {\ptt \bslash allow\discretionary {-}{}{}hyphens}, 37 + \item {\ptt \bslash allowhyphens}, 34, 37 + \item {\ptt \bslash Alph}, 17 + \item {\ptt \bslash alph}, 17 + \item \AmS\LaTeX, 45 + \item {\ptt {}amssyb}-Stil, 45 + \item {\ptt {}amstex}-Stil, 42 + \item anderthalbzeilig, 9 + \item {\ptt \bslash arabic}, 17 + \item {\ptt {}array}-Stil, 40, 42, 43 + \item {\ptt {}art12}-Stil, 9 + \item {\ptt {}article}-Stil, 5, 6, 8 + + \indexspace + + \item {\pit {}badness}, 31 + \item {\ptt \bslash baselineskip}, 10, 11 + \item {\ptt \bslash bbA}, 45 + \item {\ptt \bslash bbd}, 45 + \item {\ptt \bslash bbZ}, 45 + \item Berechnung, 19 + \item {\ptt {}bezier}-Stil, 46 + \item {\ptt {}blackbrd}-Stil, 45 + \item {\ptt {}bm2font}, 46 + \item {\ptt \bslash boldsymbol}, 45 + + \indexspace + + \item {\ptt \bslash caption}, 21 + \item {\ptt \bslash chapter}, 17, 18, 22 + + \indexspace + + \item Design-Entscheidung, 5 + \item {\ptt \bslash discretionary}, 36, 37 + \item {\tt .doc}-Datei, 6 + \item {\ptt \bslash documentstyle[...]}, 6 + \item {\ptt \bslash doublehyphendemerits}, 30 + \item Durchbuchstabieren, 17 + + \indexspace + + \item {\ptt \bslash emergencystretch}, 31, 32 + \item {\psf {}enumerate}-Umgebung, 19, 21 + \item {\ptt {}enumi}, 19 + \item {\ptt {}enumii}, 19 + \item {\ptt {}enumiv}, 19 + \item {\ptt {}epic}-Stil, 46 + \item {\psf {}equation}-Umgebung, 19, 21 + \item {\ptt \bslash extrarowheight}, 43 + + \indexspace + + \item Fehlermeldung + \subitem von \verb=\linebreak=, 5 + \item {\psf {}figure}-Umgebung, 21 + \item {\ptt {}figure}, 19, 23 + \item {\ptt \bslash footnote}, 11, 13 + \item {\ptt \bslash footnotemark}, 13, 14 + \item {\ptt \bslash footnoterule}, 15, 16 + \item {\ptt \bslash footnotesize}, 10, 11 + \item {\ptt \bslash footnotetext}, 13 + \item {\ptt {}footnpag}-Stil, 13 + \item {\ptt {}ftnright}-Stil, 12 + + \indexspace + + \item {\sc Gauss}, 20 + \item {\ptt {}german}-Stil, 27, 33, 34, 37, 38, 40 + \item Gleitobjekte + \subitem und Referenzieren, 21 + \item Gliederungsstufe, 18 + \item Gl\"uckssache, 19 + \item Grausen, 9 + \item {\ptt {}grausen}-Stil, 9, 10 + \item Grundschrift, 10 + + \indexspace + + \item {\ptt \bslash hbadness}, 31 + \item {\ptt \bslash hbox}, 27, 31 + \item {\ptt \bslash hfuzz}, 31 + \item Hierarchiestufe, 5 + \item Hierarchiestufen, 5 + \item {\ptt \bslash hsize}, 31 + \item {\ptt \bslash hskip 0pt plus 0pt}, 34 + \item {\ptt \bslash hyphenation}, 35--37 + \subitem und Bindestriche, 37 + \subitem und Umlaute, 36 + \item {\ptt \bslash hyphenchar}, 37 + + \indexspace + + \item Inhaltsverzeichnis, 18 + \subitem Unterdr\"uckung von Eintr\"agen, 19 + \item inkompatibel, 6 + \item {\ptt \bslash item}, 21 + + \indexspace + + \item {\ptt \bslash label}, 19--21 + \subitem und Z\newumlaut ahler, 20 + \item {\ptt \bslash language}, 38 + \item {\ptt \bslash language=0}, 39 + \item {\ptt \bslash language=1}, 38, 39 + \item {\ptt \bslash lefthyphenmin}, 38 + \item {\ptt \bslash linebreak}, 5, 29 + + \indexspace + + \item {\ptt \bslash makeatletter}, 40 + \item {\ptt \bslash makeatother}, 40 + \item {\ptt \bslash maketitle}, 22 + \item {\ptt \bslash mbox}, 28, 37 + \item {\psf {}minipage}-Umgebung, 15, 16 + \item {\ptt {}myfootnt}-Stil, 12 + + \indexspace + + \item {\ptt \bslash normalsize}, 10 + + \indexspace + + \item {\ptt {}overfull}, 31 + + \indexspace + + \item {\ptt \bslash pageref}, 20 + \item {\ptt \bslash pagestyle}, 21 + \item {\ptt \bslash par}, 5 + \item {\ptt \bslash paragraph}, 5--7, 18 + \item {\ptt \bslash part}, 17, 18 + \item {\ptt \bslash penalty-10000}, 29 + \item {\ptt \bslash penalty10000}, 29 + \item {\tt p@enum...}, 21 + \item {\ptt {}pgefoot}-Stil, 13 + \item {\psf {}picture}-Umgebung, 46 + \item {\ptt \bslash pretolerance}, 30 + \item {\ptt \bslash pretolerance=100}, 30 + + \indexspace + + \item {\ptt \bslash quad}, 5 + + \indexspace + + \item {\ptt \bslash ref}, 19, 20 + \item {\ptt \bslash renewcommand}, 25 + \item {\ptt \bslash righthyphenmin}, 38 + \item r\"omische Buchstaben, 18 + \item {\ptt \bslash Roman}, 17 + \item {\ptt \bslash roman}, 17 + \item {\ptt {}rotate}-Stil, 42 + + \indexspace + + \item {\ptt \bslash scriptsize}, 10 + \item {\ptt {}secnumdepth}, 18, 19 + \item {\ptt \bslash section}, 18 + \item {\ptt \bslash selectlanguage}, 41 + \item {\ptt \bslash setcounter}, 25 + \item {\psf {}sloppypar}-Umgebung, 32 + \item {\ptt \bslash small}, 10 + \item {\ptt \bslash special}, 46, 47 + \item Stil + \subitem {\ptt amssyb}, 45 + \subitem {\ptt amstex}, 42 + \subitem {\ptt array}, 40, 42, 43 + \subitem {\ptt art12}, 9 + \subitem {\ptt article}, 5, 6, 8 + \subitem {\ptt bezier}, 46 + \subitem {\ptt blackbrd}, 45 + \subitem {\ptt epic}, 46 + \subitem {\ptt footnpag}, 13 + \subitem {\ptt ftnright}, 12 + \subitem {\ptt german}, 27, 33, 34, 37, 38, 40 + \subitem {\ptt grausen}, 9, 10 + \subitem {\ptt myfootnt}, 12 + \subitem {\ptt pgefoot}, 13 + \subitem {\ptt rotate}, 42 + \subitem {\ptt supertab}, 42 + \subitem {\ptt verbatim}, 4 + \item {\ptt \bslash sub\discretionary {-}{}{}paragraph}, 18 + \item {\ptt \bslash subparagraph}, 18 + \item {\ptt \bslash subsection}, 18, 19 + \item {\ptt \bslash subsubsection}, 18 + \item {\ptt {}supertab}-Stil, 42 + + \indexspace + + \item {\psf {}table}-Umgebung, 19, 21, 23, 26 + \item {\psf {}tabular}-Umgebung, 13, 43 + \item {\ptt \bslash the}, 17 + \item {\ptt {}thechapter}, 17 + \item {\tt the\ldots}, 17 + \item {\ptt {}theorem}, 19 + \item {\ptt \bslash thepart}, 17 + \item {\ptt {}thepart}, 17 + \item {\ptt \bslash thispagestyle}, 21 + \item {\ptt {}tocdepth}, 18, 19 + \item {\ptt \bslash tolerance}, 31, 32 + \item {\ptt \bslash tolerance=10000}, 31 + + \indexspace + + \item \"Uberschrift, 5 + \item Umgebung + \subitem {\psf enumerate}, 19, 21 + \subitem {\psf equation}, 19, 21 + \subitem {\psf figure}, 21 + \subitem {\psf minipage}, 15, 16 + \subitem {\psf picture}, 46 + \subitem {\psf sloppypar}, 32 + \subitem {\psf table}, 19, 21, 23, 26 + \subitem {\psf tabular}, 13, 43 + \item {\ptt {}underfull}, 31 + + \indexspace + + \item {\ptt \bslash vbox}, 27 + \item {\ptt \bslash verb}, 11 + \item {\ptt {}verbatim}-Stil, 4 + + \indexspace + + \item Z\"ahler, 17, 18 + \subitem in der {\sf enumerate}-Umgebung, 19 + \subitem Neudefinition, 19 + \subitem nichtreferenzierbare, 19 + \subitem referenzierbare, 19 + \subitem Repr\"asentation, 19 + \item Zeilenabstand, 9 + \subitem anderthalbfacher, 9 + \subitem doppelter, 7, 9 + \subitem in Fu\ss noten, 9 + \item Zeilenumbruch, 5 + \item Zwang, 9, 45 + +\end{theindex} diff --git a/info/german/ogfuda/ogfuda.sty b/info/german/ogfuda/ogfuda.sty new file mode 100644 index 0000000000..e17a369c11 --- /dev/null +++ b/info/german/ogfuda/ogfuda.sty @@ -0,0 +1,83 @@ +%% ogfuda.sty +%% +%% 1.0a 92/11/10 Michael Hoppe +%% 1.0b 92/11/92 Bernd Raichle +%% 1.0c 01-FEB-1993 Michael Hoppe +%% 1.0d 04-FEB-1993 Michael Hoppe (AL, by proxy) + +\def\fileversion{1.0c} +\def\filedate{01-FEB-1993} +\def\filename{ogfuda.sty} + +\def\meldedich{% +\immediate\write16{^^J% +***************************************^^J% +* LaTeX-OGFUDA, Modul \filename,^^J% +* Version \fileversion\space vom \filedate^^J% +***************************************^^J}} + +\meldedich + +\chardef\bslash=`\\ % p. 424, TeXbook +% \kern\z@ here inhibits hyphenation except at \- + +% control sequence +\def\cs#1{{\tt\bslash\kern\z@#1}\index{#1@{\tt\bslash#1}}} + +% LaTeX documentstyle name +\def\sty#1{{\tt\kern\z@#1.sty}\index{#1@{\tt{}#1}-Stil}% + \index{Stil!#1@{\tt #1}}} + +% LaTeX option name +\def\opt#1{{\tt\kern\z@#1}\index{#1@{\tt{}#1}-Option}} + +% environment name +\def\env#1{{\sf\kern\z@#1}-Umgebung\index{#1@{\sf{}#1}-Umgebung}% +\index{Umgebung!{\sf #1}}} + +% \tt-Index: +\def\ttind#1{{\tt\kern\z@#1}\index{#1@{\tt{}#1}}} + +% \it-Index: +\def\itind#1{{\it\kern\z@#1\/}\index{#1@{\it{}#1}}} + +% to index a control sequence without printing it +\def\indexcs#1{\indexunder#1!]} +\def\indexunder#1!#2]{% + \ifx\relax#2\empty\index{#1@{\tt\bslash#1}} + \else\index{#1@{\tt\bslash#1}!#2}\fi} + +% \tt-Index ohne Ausdruck +\def\indextt#1{\index{#1@{\tt{}#1}}} + +%Sparer: +\def\ind#1{#1\index{#1}} + +\hyphenation{zei-len-um-bruch trenn-al-go-rith-mus} % :-) + +%\font\metafont = logo12 +\def\mf{{\small\sf META\-FONT}} + + +\def\AmS{{\protect\the\textfont2 + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} + +\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} +\def\PiCTeX{\PiC\kern-.11em\TeX} + +% F"ur die Bibliographie: +\newcommand\Autor[1]{{\sc #1},} +\newcommand\Titel[1]{{\em #1},} +\newcommand\Verlag[1]{#1.} +\newcommand\buch[3]{{\sc #1}, {\em #2}. #3.\par} + +\def\r{{\sc Rainer:\ }} +\def\p{{\sc Pete:\ }} +\def\DEK{{\sc dek}} +%\newcommand{\cs}[1]{{\tt \char`\\#1}} +\def\qcs#1{\glq\cs{#1}\grq} +\def\sq#1{\glq #1\grq} + +\newenvironment{ogfudatim}{\verbatim}{\endverbatim} +\renewcommand{\abstractname}{Dankesch"on} +\endinput diff --git a/info/german/ogfuda/ogfuda.tex b/info/german/ogfuda/ogfuda.tex new file mode 100644 index 0000000000..23776a5af5 --- /dev/null +++ b/info/german/ogfuda/ogfuda.tex @@ -0,0 +1,128 @@ +%% Es werden die folgenden .sty-Dateien verwendet: +%% LaTeX Version 2.09 <25 March 1992>; +%% art12 Version vom 14-JAN-1992; +%% verbatim v1.4i; +%% a4-9 <10-OCT-1989>; +%% german v2.4a; +%% ogfuda v1.0 vom 10-NOV-1992; +%% blackbrd vom 6-JAN-1988, modifiziert von mh am 12-DEZ-1992; +%% makeidx; +%% twoside. +%% +%% Die hyphenation pattern stammen aus ghyphenu.tex von N. Schwarz vom +%% 27-SEP-1990, ver"andert im FEB-1991 (5719 patterns). + +\documentstyle[12pt,% + twoside,% + blackbrd,% + verbatim,% + a4-9,% + german, + ogfuda,%% + makeidx]{article} + +\def\fileversion{1.0} +\def\filedate{01-FEB-1993} +\def\filename{ogfuda.tex} + +\pagestyle{headings} + +% Rainer Juhser im Gespr"ach mit Pete T.~Rex +% + +\includeonly{% + prelude,% + layout,% + nummern,% + floats,% + trennung,% + tabellen,% + arm,% + bilder,% + drucker,% + biblio% + } + +\newif\iffinale \finaletrue + +\iffinale \makeindex \fi + +\begin{document} + +\meldedich + +\title{\bf {\Huge OGFUDA}\\[2ex] +{\normalsize\bf das ist:}\\[4ex] +Oft gestellte Fragen und deren Antworten f"ur \LaTeX\\[6ex] +\large {\sc Rainer Juhser} im Gespr"ach mit {\sc Pete T.~Rex}} + +\author{Aufgezeichnet von\\[1ex] {\sc Michael Hoppe}} +\date{Version 1.0\\ 01.~Feb.~1993} +\iffinale + +\maketitle + +\vfill + +\clearpage + +\begin{abstract} + Diese Gespr"ach +erm"oglichten allererst einige Personen, die daher besonderen Dank +verdienen: {\sc Anselm Lingnau} f"ur die Einrichtung einer +Mailing-Liste, mittels derer die $\beta$-Leser erreicht werden +konnten; {\sc Bernd Raichle} f"ur dessen geduldige und fundierte +Hilfestellung, ohne ihn w"are OGFUDA um eine Unzahl Fehler reicher, +zudem besorgte er im wesentlichen das Literaturverzeichnis; +{\sc Ralf Georgi} f"ur dessen wertvolles stilistisches +und interpunktionelles Korrekturlesen; ferner allen anderen +$\beta$-Lesern, die sich die M"uhe gemacht haben, diesen Text so +fehlerfrei wie m"oglich zu machen: +{\sc Thomas Feuerstack, +Tim Geisler, +Michael Gl"asner, +Martin Koser, +Uwe Leinberger, +Marion Neubauer} und +{\sc Thomas Neumann}. + +Da weder Rainer noch Pete einen direkten Netzzugang haben, bitte ich +Korrekturen zu senden an +\begin{center} +\tt Michael\underline{ }Hoppe{\char`\@}k2.maus.de +\end{center} +oder aber an meine Adresse: +\begin{flushleft} +Michael Hoppe\\ +Schwertstra"se 22\\ +W-5650 Solingen 1\\ +Tel.: +49-212-205\,206. +\end{flushleft} +\end{abstract} + +%\thispagestyle{empty} +\newpage + +\tableofcontents + +\else \overfullrule5pt \fi % finale + +\include{prelude} +\include{layout} +\include{nummern} +\include{floats} +\include{trennung} +\include{tabellen} +\include{arm} +\include{bilder} +\appendix +\include{drucker} +\addcontentsline{toc}{section}{Literaturhinweise} +\include{biblio} +\addcontentsline{toc}{section}{Index} + +\printindex + +\end{document} + +\endinput diff --git a/info/german/ogfuda/prelude.tex b/info/german/ogfuda/prelude.tex new file mode 100644 index 0000000000..44809a488f --- /dev/null +++ b/info/german/ogfuda/prelude.tex @@ -0,0 +1,46 @@ +%% prelude.tex -- Teil der OGFUDA +%% +\def\filename{prelude.tex} +\def\filedate{01-FEB-1993} +\def\fileversion{1.0} + + +\section{Wie kann mir OGFUDA schaden?} + + +{\sc Rainer Juhser}, der als Anwender Experte ist und {\sc Pete + T.\ Rex}, der gute Geist der \TeX-Newsgruppen und {\em discussion +lists}, unterhalten sich hier "uber oft gestellte Fragen von +\LaTeX-Anwendern. Es liegt in der Form eines \LaTeX-Dokumentes +vor. + +Diese R"uckbez"uglichkeit, \LaTeX-Fragen in einem +\LaTeX-Dokument zu beantworten, birgt ein gewisses Risiko in +sich, aber auch einen Vorteil. Letzerer besteht darin, da"s +die vorgestellten L"osungen sofort anhand von Beispielen +verdeutlicht werden kann. Der Nachteil ist, da"s der Quelltext +{\bf nicht} als Beispiel vorbildlichen Verfassens eines +\LaTeX-Dokumentes darstellen kann. Um gewisse Dinge zu +demonstrieren, war der Verfasser gen"otigt, an einigen Stellen +weit "uber das hinauszugehen, was man unter einem guten +Schreibstil f"ur \LaTeX-Dokumente versteht. (So kam er +beispielsweise nicht umhin, an einigen Stellen im Quelltext +interne \LaTeX-Befehle zu benutzen, die im Namen das +Zeichen~\verb|@| beinhalten.) + +Viele \LaTeX-Fragen lassen sich mit Hilfe geeigneter Stil-Dateien, +leicht l"osen. Einige, wie etwa \sty{verbatim}, +liegen folgerichtig auch der OGFUDA-Verteilung bei. Deren jeweilige +Versionsnummern kann in der Datei {\tt ogfuda.tex} entnommen werden. + +Dieses Dokument und die angegebenen Beispiele darin ben"otigen +die \LaTeX-Version~2.09 vom M"arz~1992 oder eine neuere +Version. In Stylefiles und Styleoptionfiles aus "alteren +Versionen fehlen einige "Anderungen und Anpassungen. Einige +Abschnitte beschreiben au"serdem Eigenschaften, die erst ab der +\TeX-Version~3.0 vorhanden sind. Falls \TeX\ bzw.\ \LaTeX\ in +niedrigeren (um nicht zu sagen: niederen) Versionen verwendet werden, +empfehlen wir umgehend eine Aktualisierung. + +\endinput + diff --git a/info/german/ogfuda/tabellen.tex b/info/german/ogfuda/tabellen.tex new file mode 100644 index 0000000000..3423f25ada --- /dev/null +++ b/info/german/ogfuda/tabellen.tex @@ -0,0 +1,147 @@ +\def\fileversion{1.0} +\def\filedate{01-FEB-1993} +\def\filename{tabellen.tex} + +\meldedich + +\section{Tabellen} +\r Darf ich Ihnen einige Fragen zum Erstellen von Tabellen in \LaTeX\ +stellen? + +\p Nur zu, ich bitte sogar darum! + +\r Ich habe eine Tabelle, +die ist so gro"s, da"s ich sie quer drucken m"ochte. Kann ich das, und +wenn ja, wie? + +\p Im Prinzip ja, wenn Sie +einen PostScript-Treiber nebst passendem Drucker haben und vor +schmutzigen Tricks nicht zur"uckschrecken, die das Dokument unportabel +machen\dots Das Stichwort lautet hier \sty{rotate}. Allerdings ist +dazu, wie erw"ahnt ein sog.\ PostScript-Treiber vonn"oten. Auf diese +Problematik k"onnen wir hier nicht weiter eingehen; vielleicht +sprechen wir ein anderes mal dar"uber. Und bedenken Sie: Wer quer +schreibt, wird quer gelesen! + +\r Ganz recht. Und was habe ich zu tun, wenn die Tabelle zu lang f"ur +eine Seite ist? + +\p Das k"onnen Sie mit dem \LaTeX-Stil {\tt supertab} beheben. +Ferner kann ich Ihnen nur empfehlen, sich das {\tt array.sty}-Paket +von {\sc F.~Mittelbach} zu besorgen. Hier findet das +Tabellensetzende so gut wie alles, was das Herz begehrt, naemlich +Stile, die +\begin{itemize} +\item Tabelleneintraege von Dezimalzahlzahlen am Komma ausrichten; +\item fast beliebige horizontale und vertikale Linien in Tabellen +setzen; +\item mehrseitige Tabellen erlauben, und zwar anpassungsfaehiger als +der oben genannte \sty{supertab}. +\end{itemize} + +\r Wie Sie meinen. Falls aber ein Problem nur einmalig auftaucht, +lohnt es sich nicht, dieses sicherlich umfangreiche Paket zu +instalieren. Koennen wir auf solche Einzelfragen eingehen? + +\p Nur zu, versuchen wir es! Worum geht es? + +Zunaechst einmal um \sty{array} selbst. Ich habe bei +gleichzeitiger Verwendung von \sty{array} und \sty{amstex} +heftige Probleme bei der Verwendung des \glq\verb|@|\grq-Zeichens +in der Tabellenpraeambel: +\TeX\ wirft mir immer eine ziemlich unverst"andliche Fehlermeldung auf +den Schirm. + +\p Ja, da gibt es in der Tat Kollisionen. Geben Sie deshalb, falls +sie \glq\verb|@|\grq verwenden wollen, folgendes ein. +\begin{ogfudatim} +\makeatletter % <== ,@` zu einem Buchstaben machen +\begin{tabular}{... @ ...} + . + . + . +\end{tabular} +\makeatother % <== und wieder wie vorher +\end{ogfudatim} + +\r H"aufig setze ich Tabellen, die mathematische Ausdr"ucke wie +Br"u"-che, Wurzeln oder Hochzahlen enthalten. Das Ergebnis sieht dann +eher m"a"sig aus, n"amlich so. +% +\begin{center} +\begin{tabular}{|c|c|} +\hline +Ein Stammbruch & $\frac{1}{7}$\\ +\hline +Eine Potenz & $a^7$\\ +\hline +\end{tabular} +\end{center} +% +Sie sehen, die waagrechten Linien sind viel zu nahe an den +Tabelleneintr"agen! Dem kann ich zumindest teilweise abhelfen, indem +ich der Zeile +\begin{ogfudatim} +Ein Stammbruch & \frac{1}{7}\\ +\end{ogfudatim} +ein \glq\verb|[3pt]|\grq\ anf"uge. Das sieht dann so aus. +% +\begin{center} +\begin{tabular}{|c|c|} +\hline +Ein Stammbruch & $\frac{1}{7}$\\[3pt] +\hline +Eine Potenz & $a^7$\\ +\hline +\end{tabular} +\end{center} +% +Das ist immer noch unbefriedigend; ich habe zwar den unteren Abstand +vergr"o"sert, nicht jedoch den oberen! Der Exponent \glq7\grq\ klebt +immer noch an der oberen Linie, ebenso wie die \glq\verb|1|\grq\ +des Z"ahlers. + +\p In diesem Fall k"onnen Sie den Parameter unter \sty{array} den +Parameter \cs{extrarowheight} +verwenden; hier wird der Abstand zur oberen Begrenzung +vergr"o"sert. (Beachten Sie bitte, da"s eine +Zuweisung von \cs{extrarowheight}, welche {\em au"serhalb\/} der +\env{tabular} erkl"art werden mu"s, {\em global\/} wirkt und ich +sie deshalb mittels \glq\verb|{|\grq\ und \glq\verb|}|\grq\ auf die +jeweilige Tabelle begrenze.) Ohne \sty{array} definieren Sie +beispielsweise +% +\def\tabkor{\vphantom{\Bigl(}} %Tabellenhoehen-Korrektur +\def\frackor{{\tabkor\over\tabkor}} +% +\begin{ogfudatim} +\def\tabkor{\vphantom{\Bigl(}} %Tabellenhoehen-Korrektur +\def\frackor{{\tabkor\over\tabkor}} +\end{ogfudatim} +% +und geben zu Beginn einer Zeile, in der Sie die +Korrektur wuen"-schen, diese Sequenz ein: +\begin{ogfudatim} +\begin{center} +\begin{tabular}{|c|c|} +\hline +Ein Stammbruch &$\frackor \frac{1}{7}$\\ +\hline +Eine Potenz &$\tabkor a^7$\\ +\hline +\end{tabular} +\end{center} +\end{ogfudatim} +% +Sie erhalten dann die nachfolgende Tabelle. +\begin{center} +\begin{tabular}{|c|c|} +\hline +Ein Stammbruch &$\frackor \frac{1}{7}$\\ +\hline +Eine Potenz &$\tabkor a^7$\\ +\hline +\end{tabular} +\end{center} + +\endinput diff --git a/info/german/ogfuda/trennung.tex b/info/german/ogfuda/trennung.tex new file mode 100644 index 0000000000..d6de82d70b --- /dev/null +++ b/info/german/ogfuda/trennung.tex @@ -0,0 +1,761 @@ +\def\fileversion{1.0} +\def\filedate{1-FEB-1993} +\def\filename{trennung.tex} + +\meldedich + +\section{Trennungsprobleme} + + \p Die automatische Trennung von W"ortern +beim Zeilenumbruch ist ein nicht-triviales Problem. K"onnen Sie mir +sagen, was Sie in bezug auf \TeX\ bereits dar"uber wissen? + +\r Das will ich gerne tun. Soweit ich wei"s, arbeitet der +Trennalgorithmus von \TeX\ nicht etwa mit einem W"orterbuch, sondern +mit Trenntabellen, die aber je f"ur verschiedene Sprachen neu erstellt +werden m"ussen. F"ur's Deutsche gibt es au"serdem noch \sty{german}. +Ferner kenne ich Anwender, bei denen die Trennung im Deutschen ganz +und gar nicht klappt; sie erhalten laufend "ubervolle \cs{hbox}es. +Au"serdem habe ich manchmal Trennprobleme mit W"ortern, die Umlaute oder +Bindestriche enthalten. Woran liegt das? + +\p Sie sprechen da verschiedene Dinge an, die nicht notwendigerweise +zusammengeh"oren. Um die Zusammenh"ange zu kl"aren, +sollten wir einmal den Trennungsmechanismus von \TeX\ n"aher +betrachten. + +\r Ich bitte darum. + +\p Der Trennalgorithmus wird (unter bestimmten Umst"anden) w"ah"-rend des +Zeilenumbruchs vorgenommen. + +\r Also sollten wir den Zeilenumbruch in groben Z"ugen kl"aren. + +\subsection{\TeX's Zeilenumbruch} + +\p Das wird leider nicht m"oglich sein\dots Vom Umbruchalgorithmus von +\TeX\, behauptet \DEK, er sei der wohl interessanteste Aspekt +des gesamten \TeX-Systems. Wir k"onnen hier nat"urlich nicht auf jedes +Detail dieses komplexen, wahrlichen Meisterwerks der Programmierkunst +eingehen, sondern wollen nur soviel beleuchten, um das von Ihnen +dargelegte Problem hinreichend zu l"osen. Dies wird aber nicht in +groben, sondern nur in gr"obsten Z"ugen gehen. + +\r Nur zu, ich bin ganz Ohr. + +\subsubsection{Die Elemente der horizontalen Liste} + +\p Dies rate ich Ihnen auch. \TeX{} bildet aus jedem von Ihnen +geschrieben Absatz das, was man unter \TeX\ +eine {\em horizontale Liste\/} ({\em +horizontal list}) nennt. Diese horizontale Liste repr"asentiert den +von Ihnen geschriebenen Absatz. Die Bestandteile einer +horizontalen Liste sind: +\begin{enumerate} +\item Boxen ({\em boxes}); entweder solchen mit horizontaler +Ausrichtung (\cs{hbox}) oder solchen mit vertikaler Ausrichtung +(\cs{vbox}); +\item Worttrennstellen ({\em discretionary breakpoints}); + "ublicherweise Trennungsstriche; +\item Kleber ({\em glue}), und zwar "ublicherweise zwischen W"ortern; +\item Unterschneidungs-Elemente ({\em kerns}); "ublicherweise zwischen + Buchstaben; +\item Strafpunkte ({\em penalties}); sie bestimmen die Stellen des +Zeilenumbruch entscheidend mit, wobei Stellen mit negativen +Strafpunkten beim Zeilenumbruch bevorzugt werden, positive hingegen +eher einen Zeilenumbruch verhindern; +\item einige andere, f"ur uns hier nicht wichtige Elemente. +\end{enumerate} +Ein Zeilenumbruch kann nur an {\em glue}-, {\em kern}-, Strafpunkt- sowie +Worttrennstellen erfolgen. + +\r Ich vermisse in Ihrer Aufz"ahlung etwas Wichtiges, n"amlich +Buchstaben! + +\p Buchstaben werden von \TeX\ als Boxen angesehen. + +\r Aber woher kommen denn die ganzen anderen Elemente der horizontalen +Liste? Buchstaben tippe ich selbst ein; Boxen mittels \cs{mbox}; +Trennstellen mitunter auch mittels der Eingabe von +\glq\verb|"-|\grq. + +\p Richtig, aber \TeX\ f"ugt in die horizontale Liste von sich aus +weiter sog.\ "`leere Trennstellen"' ({\em empty discretionaries}) +ein, und zwar nach jedem \glq{\tt -}\grq\ und jeder Ligatur, die mit +einem \glq{\tt -}\grq\ endet. "`Leer"' hei"st diese Trennstelle +deshalb, weil im Falle eines Zeilenumbruches an dieser Stelle kein +Trennungsstrich eingef"ugt wird. + +\r Das erscheint sinnvoll, denn ein Divis ist meistens eine geeignete +Trennstelle, bei der im Falle der Trennung kein weiterer Divis +eingef"ugt werden sollte. Diese leeren Trennstellen sind also neben +Wortzwischenr"aumen erlaubte Trennstellen? + +\p Grob gesprochen ist das so. (Es gibt allerdings noch +Einschr"ankungen und weitere Trennstellen; diese k"onnen wir aber, +da es uns ja lediglich aufs Gr"obste ankommt, nicht n"aher darlegen). + +\r Aber woher kommen {\em glue}, {\em kern\/} sowie Strafpunkte? + +\p Wenn Sie beispielsweise das Wort "`Schrift-Satz"' eingeben, so macht +\TeX\ daraus den folgenden Eintrag in der horizontalen Liste. +\begin{ogfudatim} +\glue 4 plus 2 minus 1.33333 +\cmr/m/n/12 S +\cmr/m/n/12 c +\kern-0.32639 +\cmr/m/n/12 h +\cmr/m/n/12 r +\cmr/m/n/12 i +\cmr/m/n/12 f +\cmr/m/n/12 t +\cmr/m/n/12 - +discretionary +\cmr/m/n/12 s +\cmr/m/n/12 a +\cmr/m/n/12 t +\cmr/m/n/12 z +\glue 4 plus 2 minus 1.33333 +\end{ogfudatim} + +\r Der erste und der letzte {\em glue\/} wird wohl der zwischen W"ortern +sein; {\em discretionary\/} vom Divis. Woher aber kommt der {\em kern}? + +\p Die {\em kern}-Informationen entnimmt \TeX\ aus der zu dem aktuellen +Font geh"orenden {\tt .tfm}-Datei, die ihrerseits w"ahrend der Erzeugung +der Schrift mittels \mf\ abf"allt. Hier hat der Schriftdesigner +entschieden, zwischen dem \glq c\grq\ und dem \glq h\grq\ einen +kleinen negativen Zwischenraum einzuf"ugen, der bewirkt, da"s das +\glq c\grq\ ein wenig n"aher an das \glq h\grq\ ger"uckt wird. ({\em kern\/}s +m"ussen nicht immer negativ sein; so wird beispielsweise zwischen +einem \glq b\grq\ und einem \glq o\grq\ ein kleiner positiver {\em kern\/} +gesetzt.) + +\r Und woher stammen die Strafpunkte? + +\p Eine gute Frage. Wenn Sie Ihrem Dokument den letzten Schliff +geben, so werden Sie schon hin und wieder an passender Stelle +beispielsweise das Kommando \cs{linebreak} benutzt haben\dots + +\r \dots um einen Zeilenumbruch zu forcieren. + +\p Ganz recht. Nun ist aber \cs{linebreak} im wesentlichen die +Ab"-k"ur"-zung f"ur \cs{penalty-10000}, eine f"ur \TeX\ unendlich wenige +Anzahl von Strafpunkte (da \TeX\ alle Strafpunkte von mehr als +10\,000 als unendlich viel und von weniger als $-10\,000$ als +unendlich wenig ansieht). Daher findet an dieser Stelle ein +Zeilenumbruch statt. Wenn Sie einen Zeilenumbruch zwischen zwei +W"ortern unterbinden wollen, verwenden Sie das Band~\glq\verb|~|\grq; +dies ist +eine Abk"ur"-zung f"ur \cs{penalty10000}, also so hoch, da"s \TeX\ an +dieser Stelle nie die Zeile umbricht. + +\r Erl"autern Sie mir den Zusammenhang von Strafpunkten und +Zeilenumbruch bitte n"aher. + +\subsubsection{Absatzweise Optimierung} + +\p Beim Zeilenumbruch wird die umzubrechende Zeile in der Regel +mehr oder weniger entweder gestreckt oder gestaucht. Dabei werden +{\em Dehnpunkte} ({\em badness}) vergeben. +Die Strafpunkte einer Zeile sind neben den Dehnungspunkten +({\em badness}) dieser Zeile sowie besonderen +Spezial-Fehlpunkten der Zeile die bestimmenden Gr"o"sen f"ur den +Zeilenumbruch. Aus beiden werden (mittels +einer hier nicht n"aher vorgestellten Formel) f"ur jede Zeile die sog.\ +"`Fehlpunkte"' ({\em demerits}) errechnet, die die typographische +Qualit"at des Umbruch widerspiegeln. Je weniger Fehlpunkte +\TeX\ errechnet, desto besser ist der Zeilenumbruch. + +\r Minimiert \TeX\ die Fehlpunkte einer Zeile und bricht demgem"a"s die +Zeile um? + +\p Durchaus nicht. \TeX\ macht es sich bei weitem nicht so einfach +wie andere zeilenumbrechende Programme. Es werden die Fehlpunkte +nicht etwa zeilenweise minimiert, sondern {\em absatzweise}. \TeX\ +verwandelt also stets einen kompletten Absatz in eine horizontale +Liste und errechnet denjenigen Zeilenumbruch, der von allen m"oglichen +Zeilenumbr"uchen dieses Absatzes die wenigsten Fehlpunkte aufweist. +(Hier kann \TeX\ beispielsweise die o.\,g.\ Spezial-Fehlpunkte +zuf"ugen: so erh"oht sich beispielsweise, +falls bei einem Umbruch zwei aufeinanderfolgende +Zeilen mit einem Trennungsstrich enden, die Anzahl der Fehlpunkte um +den Wert \cs{doublehyphendemerits}, der in \LaTeX\ auf 10\,000 +gesetzt ist.) + +\r Da hat \TeX\ aber beim Zeilenumbruch eine Menge Arbeit! + +\subsubsection{Der dreistufige Umbruchalgorithmus} + +\p So ist es. Hinzu kommt, da"s der Zeilenumbruch {\em dreistufig\/} +erfolgt. Die erste Stufe versucht einen Absatz {\em ohne +Worttrennung\/} zu realisieren; hier kommen als Trennstellen also im +wesentlichen nur Wortzwischenr"aume und leere Trennstellen in Frage. +Dieser Umbruch wird akzeptiert, falls die Dehnungspunkte jeder +umgebrochenen Zeile einen einstellbaren Wert (\cs{pretolerance}) +nicht "uberschreiten. In \LaTeX\ betr"agt ist \cs{pretolerance=100}. +Ist diese auf einen negativen Wert gesetzt, so wird +dieser erste Versuch nicht ausgef"uhrt. + +\r Wohl um im mehrspaltigen Satz, wo es ohnehin kaum einen Absatz +ohne Worttrennung gibt, Zeit zu sparen. + +\p Genau deshalb. + +\r Was geschieht weiter, falls im ersten Versuch kein Umbruch +gefunden wird, bei dem die Dehnpunkte einer jeden Zeile den +eingestellten Wert \cs{pretolerance} unterschreiten? + +\p Dann versucht \TeX, weitere Umbruchstellen zu finden; als solche +kommen dann zus"atzlich diejenigen Trennstellen in W"ortern hinzu, die +\TeX\ durch seinen Trennalgorithmus findet. Mit diesen zus"atzliche +Trennstellen versucht \TeX, den Absatz derart umzubrechen, da"s die +Dehnungspunkte jeder Zeile den Wert \cs{tolerance} nicht +"uberschreiten. (\cs{tolerance} ist "ublicherweise auf den Wert 200 +gesetzt.) Auf spezielle Probleme, die den Trennalgorithmus von \TeX\ +sowie das Zusammenspiel mit dem Zeilenumbruch betreffen, gehen wir +sp"ater ein. + +\r Gut. Hier macht es aber offensichtlich keinen Sinn, +\cs{tolerance} auf einen negativen Wert zu setzen. + +\p Ganz und gar nicht. Ein negativer Wert von \cs{tolerance} f"uhrt +sogar zu einer Fehlermeldung. Aber wenn Sie \cs{tolerance=10000} oder +h"oher setzen, wird auf den dritten Versuch verzichtet. + +\r Was passiert weiter, wenn auf diesen dritten Versuch verzichtet +wird? + +\p Das h"angt von zwei weiteren einstellbaren Parametern, n"amlich +\qcs{hfuzz} und \qcs{hbadness}, ab. Hierbei wird durch \cs{hfuzz}, +welcher mit 0,1\,pt eingestellt ist, ein "Uberstand einer jeden Zeile +erlaubt; jede Zeile darf also, ohne da"s \TeX{} meckert, 0,1\,pt +l"anger als \cs{hsize} sein. Der Parameter \cs{hbadness} +ist "ublicherweise mit $1\,000$ initialisiert. Wenn eine Zeile einen +gr"o"seren "Uberstand als \cs{hfuzz} aufweist, erhalten Sie eine +Meldung, die Sie auf eine \ttind{overfull}~\cs{hbox} hinweist; +ist {\it badness\/} hingegen gr"o"ser als \cs{hbadness}, so h"alt +\TeX{} die Zeile f"ur \ttind{underfull}. + +\r Das bringt mich auf eine Idee! Wenn ich beispielsweise im +mehrspaltigen Satz mit kleiner Zeilenbreite sichergehen will, da"s +keine Zeile eine \itind{badness} von mehr als 500 aufweisen soll, +setze ich \cs{tolerance} auf einen hohen Wert und +\cs{hbadness} auf 500. \TeX{} w"urde dann keine {\it overfull +boxes\/} produzieren, aber mir eben die {\it underfull boxes\/} +melden. + +\p Ja, aber wenn Sie Wert auf typographische Qualit"at legen\dots + +\r \dots werde ich vielmehr \cs{tolerance} auf einen etwas h"oheren +Wert, sagen wir 500--1\,000, setzen und nichts an \cs{hbadness} +"andern! Dann n"amlich sehe ich, welche +Zeilen zu lang sind und kann den Text entsprechen umformulieren. + +\p Das ist richtig, aber \TeX{} hat ja noch einen dritten Versuch! + +\r Wie geht \TeX\ in diesem dritte und letzten Versuch vor? + +\p Diesen dritten Versuch unternimmt \TeX\ nur in einer +Versionsnummer ab 3.0 und auch nur dann, wenn der Parameter +\cs{emergencystretch} auf einen positiven Wert gesetzt wurde. Diese +L"ange wird zur Dehnungs"-m"og"-lichkeit einer jeden Zeile hinzuaddiert +und ein neuer Umbruch gestartet. +Dadurch werden die Dehnungspunkte jeder Zeile verringert. +Meist hilft schon ein relativ kleiner Wert von ca.\ 10\,pt, +jedoch gibt es mit diesem Parameter bisher noch keine gro"sen +Erfahrungen, so da"s man ruhig ein bi"schen mit dem Wert +herumprobieren sollte. + +\r Und wie verh"alt sich \TeX, falls auch im dritten Versuch keine +geeigneten Umbruchstellen gefunden wurden? + +\p Falls es "uberhaupt zum dritten Versuch kam, war \cs{tolerance} auf +einen kleineren Wert als 10\,000 gesetzt und \cs{emergencystretch} +positiv (andernfalls w"urde ja nach +Stufe~2 kein weiterer Versuch mehr unternommen). In diesem Fall +erhalten Sie wie im zweiten Versuch eine Meldung "uber {\it under-} +oder {\it overfull box}. + +\r Diese Meldung ist mir nur zu vertraut. Und wenn ich in diesem +Fall die \env{sloppypar} verwende, erhalte ich ein +undiskutables Ergebnis, da hier die Wortabst"ande meist "uber +Ge"-b"uhr gro"s sind. + +\p Das liegt daran, da"s innerhalb von {\sf sloppypar} die +\cs{tolerance} auf einen Wert von 10\,000 gesetzt wird\dots + +\r \dots und daher also der dritte Versuch nicht mehr gestartet wird; +daher k"onnen auch Zeilen mit unendlich-vielen Dehnungspunkten beim +Umbruch ber"ucksichtigt werden. + +\p Sicherlich sind Ihnen aber bessere L"osungen bekannt. + +\r Ich kann zus"atzliche Trennstellen mittels \glq\verb|"-|\grq\ angeben +oder die fragliche Stelle umformulieren. (Ich mu"s aber auch zugeben, +da"s manchmal falsch geschriebene W"orter die Ursache daf"ur waren, da"s +\TeX\ ein Wort nicht trennen konnte.) Nun denke ich, ist es an der +Zeit, mehr "uber \TeX's Trennalgorithmus zu erfahren! + +\subsection{\TeX's Trennalgorithmus} + +\p \TeX\ arbeitet, wie Sie vorhin +richtig bemerkten, nicht mit einem Lexikon, +sondern vielmehr mit sog.\ "`Trenntabellen"' (den {\em hyphenation +patterns}). +Trenntabellen werden in den meisten F"allen mit dem Programm {\tt +PatGen} erzeugt, und das hat seinen guten Grund. Es steht in einer +solchen Tabelle ja nicht jedes Wort einzeln, sondern ein Konglomerat +aus Regeln, so z.\,B.: "`wenn dort ein \glq st\grq\ kommt, darfst Du +diese nicht trennen, wenn allerdings davor ein \glq p\grq\ steht, +meistens schon, au"ser es kommt danach ein \glq x\grq, und auch dann +nur, wenn vorne ein z steht."', wobei die verschiedenen Stufen des "`Du +darfst"' bzw.\ "`Du darfst nicht"' durch ansteigende Werte ungerader +bzw. gerader Zahlen dargestellt werden. {\tt PatGen} liest nun eine +Liste korrekt getrennter W"orter ein und erstellt daraus eine solche +Trenntabelle. Wenn man also an einer Tabelle etwas "andern will, dann +am besten an der W"orterliste, aus der die Tabelle entstanden ist, +wobei leider den wenigsten ein Duden auf Platte zur Verf"ugung steht. + +(Wenn ich mich recht entsinne, haben die Polen die Trenntabelle per +Hand erstellt, und zwar weil die polnische Trennung derart regelm"a"sig +ist, da"s man einfacher die Regeln (als Patterns) hinschreiben als ein +W"orterbuch mit {\tt PatGen} erstellen kann.) + +\r Also mu"s f"ur jede Sprache eine neue Trenntabelle erstellt werden? + +\p So ist es. + +\r Ist denn das Erstellen derartiger Trenntabellen nicht eine +zeitraubende Angelegenheit? + +\p Ja, aber gl"ucklicherweise mu"s sich der Anwender nicht darum +k"um"-mern. Flei"sige \TeX{}niker haben das bereits erledigt. Weiter sehen +Sie, da"s \sty{german} nichts mit dem eigentlichen Trennverfahren +zu schaffen hat. Allein in der Trenntabelle befinden sich die f"ur die +Trennung n"otigen Regeln. Die deutsche Trenntabelle tr"agt "ubrigens den +Namen {\tt ghyphen.tex}. + +\r Und wie wendet \TeX\ die Trenntabellen zur Trennung von W"or"-tern an? + +\p Ich will es Ihnen gerne darlegen. Im \TeX Book, Anhang~H erkl"art +\DEK\ die Regeln, mit denen \TeX\ ein trennbares Wort (oder einen +Anteil davon) aus der horizontalen Liste, als der ein Absatz +repr"asentiert wird, herausfischt. \TeX\ versucht dann, die Trennstellen +in diesen Teilen mittels der Trenntabellen zu finden (was bei sehr +kurzen Teilen nicht klappt). + +\r \TeX\ versucht also, wenn ich Sie richtig verstanden habe, den +eingelesenen Text in das zu zerlegen, was es f"ur W"orter h"alt, indem es +all das, was es f"ur Nicht-Wortbestandteile h"alt, +als Begrenzer eines Wortes ansieht +und so, grob gesagt, den Text zerlegt in die jeweils l"angste Abfolge +blo"ser Buchstaben. + +\p So k"onnte man es mit aller Vorsicht formulieren. Grob gesagt +beginnt f"ur \TeX\ ein neues Wort mit einem gew"ohnlichen Buchstaben +hinter {\em glue}. (Allerdings kann +ein Wort, welches \TeX\ zu trennen versucht, auch implizite {\em kerns} +sowie Ligaturen enthalten.) Das zu trennende Wort endet mit dem +ersten darauf"|folgendem Eintrag in der horizontalen Liste, welcher +weder ein Buchstabe, noch eine Ligatur, noch ein impliziter {\em kern\/} ist. + +\r Wieso aber werden W"orter, die Umlaute enthalten, h"aufig nicht oder +fehlerhaft getrennt? Ist etwa der Trennalgorithmus von \TeX\ +mangelhaft? + +\p Durchaus nicht. Das liegt an \sty{german}, dort werden die +Umlaute neu definiert. + +\r Sie verwirren mich! Sie stellten doch eben +fest, da"s die Trennregeln allein in der Trenntabelle zu finden sind, +und nicht etwa in \sty{german}. + +\subsection{Umlaute und Trennung} + +\p Nun, das ist kein Widerspruch. Ich will Ihre Verwirrung gerne +auf"|l"osen. Durch \sty{german} wird vor und nach einem Umlaut +\cs{allowhyphens} eingef"ugt und dieses expandiert zu einem ``{\em glue +item}'' (\cs{hskip 0pt plus 0pt}). Damit kann \TeX\ an dieser Stelle +ein neues "`Wort"', das evtl. getrennt werden kann, beenden bzw.\ +beginnen. Beispiel: \TeX\ macht aus \glq\verb|gew"ohnlich|\grq\ die +Wortfolge \glq\verb|gew|\grq\ {\tt [Umlaut-o]} \glq\verb|hnlich|\grq\ +und versucht dann, \glq\verb|gew|\grq\ und \glq\verb|hnlich|\grq\ zu +trennen. Da es in diesen "`W"ortern"' keine erlaubten Trennungen +findet, wird \glq\verb|gew"ohnlich|\grq\ gar nicht getrennt. + +\r Dann ist also die l"angste Abfolge trennbarer W"orter, die \TeX\ in +der Zeichenfolge \glq\verb|gew"ohnlich|\grq\ findet, einmal +\glq\verb|gew|\grq\ und andererseits \glq\verb|hnlich|\grq, da n"amlich +\glq\verb|"o|\grq\ noch etwas Leim enth"alt und so \TeX\ die o.\,g.\ +Zeichenfolge in drei W"orter zerlegt! + + +\p Genauso ist es. Genauer wird aus der Eingabe von +\glq\verb|gew"ohnlich|\grq\ das Folgende. +% +\begin{ogfudatim} +\cmr/m/n/12 g +\cmr/m/n/12 e +\cmr/m/n/12 w +\penalty 10000 +\glue 0.0 +\kern 0.0 (for accent) +\hbox(7.96431+0.0)x5.87494, shifted 0.47266 +.\cmr/m/n/12 ^^? +\kern -5.87494 (for accent) +\cmr/m/n/12 o +\penalty 10000 +\glue 0.0 +\cmr/m/n/12 h +\cmr/m/n/12 n +\cmr/m/n/12 l +\cmr/m/n/12 i +\cmr/m/n/12 c +\kern-0.32639 +\cmr/m/n/12 h +\end{ogfudatim} +% +Ist Ihnen eine Abhilfe bekannt? + +\r Ja, ich benutze dann, wie auch in den seltenen F"allen, in denen die +Trennung nicht eindeutig ist (wie bei Haus-tier und Hau-stier) bzw.\ +bei den zugegebenerma"sen seltenen falschen Trennungen, die Trennhilfe +\glq\verb|"-|\grq. + +\p Ausgezeichnet, wie w"are also dem Trennproblem von +\glq\verb|gew"ohnlich|\grq\ beizukommen? + +\r Nun, ich gebe einfach \glq\verb|ge"-w"ohn"-lich|\grq\ ein. Die +Behandlung der Umlaute erinnert den Benutzer also schmerzhaft daran, +da"s der Sch"opfer von \TeX\ Amerikaner ist! + +\p Nicht ganz; es erinnert daran, da"s der Zeichensatzgenerator \mf\ +von einem Amerikaner geschrieben wurde! Die verbreitetste +Zeichensatzfamilie, n"amlich die Computer Modern Roman (Sie lesen Sie +gerade), enth"alt von sich aus gar keine Umlaute. Umlaute werden eben +aus zwei Zeichen zusammengesetzt. Es sind aber seit einiger Zeit +Bestrebungen im Gange, eine Zeichensatzkonvention festzulegen und +Zeichens"atze zu entwickeln, bei denen Umlaute (und andere Zeichen, die +nicht als solche in den cmr-Fonts enthalten sind) als ein Zeichen +enthalten sind. Momentan sind diese sog.\ EC- bzw.\ DC-Fonts noch +nicht fertig; wir werden uns mit ihnen besch"aftigen, wenn sie +allgemein verf"ugbar sind. + +\subsection{Fehlerhafte Trennung} + +\r Das sind ja erfreuliche Aussichten. Lassen Sie uns jetzt noch den +Fall einer fehlerhaften Trennung besprechen. Ist es empfehlenswert, +auch hier Trennhilfen anzubringen? + +\p Das w"are eine Notl"osung\dots In den F"allen fehlerhafter Trennung +ist eine andere Methode sachgerechter. + +\r Teilen Sie mir mit, welche Methode Sie f"ur angemessen halten, falls +W"orter fehlerhaft getrennt werden? + +\p Das will ich gerne tun. Die Ausnahmew"orter k"onnen {\em dauerhaft}, +also ohne jedesmal die Trennhilfe \glq\verb|"-|\grq\ anzugeben, +mittels \cs{hyphenation} richtig getrennt werden. So wird +beispielsweise "`Zeilenumbruch"' von \TeX\ fehlerhaft zu +"`Zei-le-num-bruch"' getrennt; Abhilfe +schafft hier ein in der Pr"aambel des Dokumentes eingegebenes +\verb|\hyphenation{zei-len-um-bruch}|. + +\r Dieser Befehl veranla"st \TeX\ also jedesmal, wenn ihm das Wort +"`Zeilenumbruch"' unterkommt, es gem"a"s der im +\cs{hyphenation}-Befehl angegebenen Trennung zu trennen. + +\p Genauso ist es. Sie k"onnen \cs{hyphenation} auch eine durch +Leerzeichen getrennte Liste von Ausnahmetrennungen "ubergeben, also +beispielsweise (da pikanterweise das Wort "`Trennalgorithmus"' in +"`Tren-nal-go-rith-mus"' zerlegt wird): + +\medskip + +\noindent\verb|\hyphenation{mo-nats-um-satz trenn-al-go-rith-mus...}|\dots + +\medskip + +\r \dots statt eben \cs{hyphenation} zweimal zu verwenden: + +\begin{ogfudatim} +\hyphenation{zei-len-um-bruch} +\hyphenation{trenn-al-go-rith-mus} +\hyphenation{...} +\end{ogfudatim} + +\p Leider gibt es da noch einen kleinen Wermutstropfen: W"orter, die +Umlaute enthalten, d"urfen (noch) nicht im \cs{hyphenation}-""Befehl +aufgenommen werden.\indexcs{hyphenation!und Umlaute} + +\r Das ist gut zu wissen. Ich nehme an, das "andert sich, wenn die +DC/EC-Zeichens"atze allgemein verwendet werden. Nun verraten Sie mir +noch, warum \TeX\ W"orter, die einen Bindestrich enthalten, nur am +Bindestrich selbst trennt. + +\subsection{Trennung am Bindestrich} + + +\p Dies ist ein Seiteneffekt einer entweder implizit (als leere +Trennstelle von \TeX\ selbst nach W"ortern, die einen Bindestrich +enthalten oder bei Ligaturen, die mit einem solchen aufh"oren, wie +\sq{--} oder \sq{---}) oder explizit durch Eingabe von +\glq\verb|"-|\grq\ +eingef"ugten \cs{discretionary}: {\em Jede Trennstelle unterdr"uckt +n"amlich die Trennung des Wortteils rechts von der Trennstelle}. + +\r Das erscheint mir in der Regel auch sinnvoll, W"orter mit +expliziten Bindestrichen nicht an anderen Stellen zu trennen, da +die leichte Lesbarkeit durch eine Trennung, die nicht am Bindestrich +erfolgte, empfindlich gest"ort w"urde. + +\p Sie sagen es. Dazu schreibt \DEK\ selbst: +\begin{quote}\selectlanguage{USenglish} +``[\dots] Thus, a box or rule or math formula or discretionary following + too closely upon the trial word will inhibit hyphenation. (Since \TeX\ + inserts empty discretionaries after explicit hyphens, these rules + imply that already-hyphenated compound words will not be further + hyphenated by the algorithm.)'' +\end{quote} + +\r Jedes eingef"ugte +\cs{discretionary} verhindert die Trennung des davorstehenden +Wortes (es ist leider ``too closely''). Was kann man tun? + +\p Da gibt es mindestens zwei M"oglichkeiten: +\begin{enumerate} +\item Man kann \sty{german} benutzen, und zwar vor und nach jedem +Bindestrich ein \cs{allowhyphens} einf"ugen. Das Ganze packt man +dann am besten in ein Makro. Zum Beispiel (beachten Sie bitte, da"s +\glq\verb|""|\grq\ eine Trennhilfe wie \glq\verb|"-|\grq\ darstellt, +das Wort jedoch im Falle der Trennung an der Trennstelle ohne das +Trennungszeichen \glq-\grq\ ausgegeben wird): +\begin{ogfudatim} +\newcommand{\dds}{Donau\allowhyphens-""Dampfschiff}. +\end{ogfudatim} + +\item Man kann einen Font mit einem \cs{hyphenchar} ungleich +\glq\verb|`\-|\grq\ benutzen, damit \TeX\ nicht ein +\cs{discretionary} nach dem Bindestrich einf"ugt. Dadurch kann der +Wortteil vor dem Bindestrich getrennt werden. Damit der Rest auch noch +getrennt wird, mu"s nach dem Bindestrich wieder ein `{\em glue item}' +eingef"ugt werden. Wir werden darauf noch eingehen, wenn die neuen +EC-Fonts ihre $\beta$-Phase beendet haben. + +\end{enumerate} +Man kann aber mit Hilfe von \cs{allowhyphens} und Makros (siehe Punkt +(1)) ganz gut leben. + +\r Und warum kann ich das Donau-Dampfschiff nicht in die +Ausnahmeliste aufnehmen? + +\p Innerhalb des +\cs{hyphenation}-Befehls hat das Zeichen \sq{{\tt- }} {\it immer\/} +die Bedeutung einer Trennstelle. Es ist "uberhaupt nicht m"oglich, +einen Bindestrich als "`normalen"' Wortbestandteil einzugeben. Ein +weiterer kleiner Designfehler in \TeX, den man leider auch durch +Tricks nicht umgehen kann. \indexcs{hyphenation!und Bindestriche} +Wenn Sie aber die L"osung mit \cs{allow\-hyphens} und \verb+""+ +verwenden, k"onnen Sie f"ur die einzelnen Wortteile f"ur sich +die Ausnahmen angeben. + +\r Auf diese Weise also. Nun kann es aber zu "ublen Trennungen bei +Ausdr"ucken wie "`(Sub-)Indizes"' kommen; dieses kann ja eventuell als +"`(Sub-)Indizes"' getrennt werden. + +\p So kann es sein. Abhilfe verspricht in diesem besonderen Fall die +Verwendung einer \cs{mbox}: Schreiben Sie einfach +\glq\verb|{mbox{(Sub-)}Index}|\grq. + +\r Andererseits kann aber auch der Fall eintreten, da"s am Bindestrich +selbst nicht getrennt werden soll, wie z.\,B.\ im Wort \glq +A-H"ornchen\grq. Wie gehe ich hier vor? + +\p Hier k"onnen Sie \glq\verb|A"~H"ornchen| eingeben. \verb|"~| +erzeugt einen expliziten Bindestrich, an dem aber nicht getrennt +werden kann. + +\r Also k"onnte ich das (Sub-)Index-Problem auch mittels +% +\begin{ogfudatim} +(Sub"~)""Index +\end{ogfudatim} +% +l"osen, denn \glq\verb|"~|\grq\ erzeugt einen Bindestrich, an +dem die Trennung unterdr"uckt wird und +\glq\verb|""|\grq\ erzeugt ja eine explizite leere +Trennstelle. Gibt es in \sty{german} noch weitere +Varianten des Trennungsstriches? + +\p Ja, ich stelle Sie Ihnen insgesamt vor. +\begin{enumerate} +\item Da ist zun"achst einmal die Ihnen bekannte Trennhilfe +\glq\verb|"~|\grq. Im Gegensatz zu \glq\verb|\-|\grq\ verhindert sie +jedoch nicht die Trennung an anderen, ohne die Eingabe von +\glq\verb|"-|\grq\ gemachten, Wortstellen. + +\item \glq\verb|""|\grq\ f"ugt eine Trennstelle ein, die im Falle der +Trennung an dieser Stelle allerdings keinen Trennungsstrich erzeugt. + +\item \glq\verb|"~|\grq\ erzeugt, wie wir oben sahen, einen +Bindestrich, an dem nicht getrennt werden kann. + +\item \glq\verb|"=|\grq\ schlie"slich erzeugt einen Bindestrich, +unterdr"uckt jedoch nicht die Trennung an anderen Wortstellen, wie es +ein gew"ohnlicher Bindestrich machen w"urde. +\end{enumerate} + +\r Welche Parameter beeinflussen die Trennung noch? + +\p \TeX\ ab der Version 3.0 +kennt noch zwei weitere wichtige Parameter, die die Trennung eines +Wortes beeinflussen, n"amlich \cs{lefthyphenmin} bzw.\ +\cs{righthyphenmin}. Diese Parameter geben an, wieviele Buchstaben +bei einer Trennung mindestens links bzw.\ rechts vom Trennungsstrich +stehen m"ussen. "Ublicherweise sind diese Parameter in einer deutschen +Version auf \glq2\grq\ gesetzt, so da"s auch ein Wort wie beispielsweise +\glq al-so\grq\ getrennt werden kann. + +\subsection{Trennung in verschiedenen Sprachen} + +\r Nun, das war viel auf einen Schlag; aber ich mu"s noch wissen, woher +denn \TeX\ wei"s, gem"a"s welcher Sprache die W"orter zu trennen sind? + +\p Auch auf diese wichtige Frage will ich Ihnen die Antwort nicht +schuldig bleiben. \TeX\,$3.x$ (und diese Version verwenden Sie ja) +erlaubt es Ihnen im Unterschied zu "alteren \TeX-Versionen, Trennmuster +f"ur verschiedene Sprachen in einem Dokument zu benutzen. \TeX\ mit +einer Versionsnummer 3.0 oder h"oher besitzt einen neuen internen +Z"ahler namens \cs{language}, der eine von bis zu 256 Trenntabellen +ausw"ahlt. Nach \cs{language=1} wird die Trenntabelle verwendet, die +auf Position~1 im Ini\TeX-Lauf geladen wurde. Wurden f"ur eine +Position {\em keine\/} Patterns geladen, so wird nicht mehr getrennt. +(Wie sollte \TeX\ denn auch?!) \sty{german} setzt nun auch beim +Sprachwechsel diesen neuen Counter mit um und nimmt dabei an, da"s f"ur +\cs{language=0} die US-amerikanische (englischen) und f"ur +\cs{language=1} die deutsche Trenntabelle geladen wurden. Daher +sind beim Erzeugen des Formatfiles noch folgende lokale Modifikationen +vorzunehmen. + +\begin{ogfudatim} +\language=0 +\lefthyphenmin=2 \righthyphenmin=3 % disallow x- or -xx breaks +\input ehyphen + +\language=1 +\lefthyphenmin=2 \righthyphenmin=2 +\input ghyphen +\language=0 +\end{ogfudatim} + +\r Lokale Modifikationen? Was verstehen Sie darunter? + +\p Nun, bei meiner Implementierung verh"alt es sich so: Es existiert +eine Datei namens {\tt lplain.tex}, die eine an \LaTeX\ angepa"ste +Version der {\sc Knuth}schen {\tt plain.tex}-""Makrodatei enth"alt. Am +Ende dieser Datei finden Sie die Zeilen: +\begin{ogfudatim} +\typeout{Input any local modifications here.}. +\end{ogfudatim} +Und eben nach diesen Zeilen f"ugen Sie o.\,g.\ lokalen Modifikationen +ein. (Das ist "ubrigens auch der Ort, an dem s"amtliche andere +Modifikationen, wie zum Beispiel das Einlesen von \AmS-\LaTeX\ und +\PiCTeX, durchzuf"uhren sind.) Da wir gerade bei den Modifikationen +sind, mu"s ich Sie auf Folgendes aufmerksam machen. In {\tt +latex.tex} wird dem Symbol \glq\verb|@|\grq\ eine besondere Bedeutung +beigemessen. + +\r Ja, das habe ich schon gesehen; es taucht in vielen +Kontrollsequenzen auf. + +\r Dieses Zeichen weist darauf hin, da"s die Kontrollsequenz, die es +enth"alt, ein {\em low-level}-Kommando ist. Um dem Normalanwender +"Arger zu ersparen, kann dieses Zeichen nicht mehr als ein normaler +Buchstabe im Text eingegeben werden, damit nicht versehentlich eine +dieser Kontrollsequezen umdefiniert wird. + +\r Eine durchaus sinnvolle Einrichtung. + +\p Durchaus. Wollen Sie daher mit den lokalen Modifikationen +beispielsweise erzielen, da"s h"aufig ben"otigte {\tt .sty}-Dateien +in die {\tt .fmt}-Datei mit aufgenommen werden, so sollten Sie +\begin{ogfudatim} +\makeatletter +\input{xyz.sty} +\makeatother +\end{ogfudatim} +eingeben. Der Befehl \cs{makeatletter} verwandelt \glq\verb|@|\grq\ +in einen Buchstaben und \cs{makeatother} macht ihn wieder zu einem +Nicht-Buchstaben. + +\r Vielen Dank f"ur diesen wichtigen Hinweis. Allerdings sollte man +doch gewi"s nicht jede beliebige {\tt .sty}-Datei mitdumpen. + +\p Durchaus nicht. Geeignete Kandidaten sind etwa \PiCTeX\ oder +\AmS-\LaTeX. Und gerade bei \AmS-\LaTeX\ ist etwas wesentliches zu +beachten. In \AmS-\LaTeX\ wird n"amlich \cs{makeatother} umdefiniert, +was zur Folge hat, da"s andere {\tt .sty}-Dateien, die den +Klammeraffen \verb|@| als Befehlszeichen nutzen (wie etwa +\sty{array}), gef"ahrlich ins Schleudern kommen. Sie sollten, wenn +Sie \AmS-\LaTeX\ mit in die {\tt .fmt}-Datei aufnehmen wollen, etwa +Folgendes als lokale Modifikation eintragen. +\begin{ogfudatim} +\makeatletter % macht @ zu einem Buchstaben +\input{amstex.sty} +% Wegen der Umdefinition von \makeatother in amstex.sty wird die +% Originaldefinition von \makeatletter aus latex.tex jetzt +% restauriert... +\def\makeatother{\catcode`\@=12\relax} +% ... und nun auch verwenden: +\makeatother +\end{ogfudatim} + +\r Ein brauchbarer Hinweis. Lassen Sie uns aber jetzt auf unser +Trennproblem zur"uckkommen! + +\p Das sollten wir tun. +In \sty{german} ist standardm"a"sig das deutsche Trenntabelle +aktiv. Mittels \verb|\selectlanguage{USenglish}| kann dann im Text auf +englische Trennmuster umgeschaltet werden. Blicken wir noch einmal auf +das erste Zitat von \DEK; der Eingabetext lautete hier: +\begin{ogfudatim} +\begin{quote}\selectlanguage{USenglish} +``[\dots] Thus, a box or rule or math formula or discretionary + following too closely [...] will not be further hyphenated + by the algorithm.)'' +\end{quote}. +\end{ogfudatim} +Ohne das Umschalten auf englische Trennmuster mittels der Anweisung +\begin{ogfudatim} +\selectlanguage{USenglish}, +\end{ogfudatim} +w"are der Text so umgebrochen worden: +\begin{quote} +``[\dots] Thus, a box or rule or math formula or discretionary following + too closely upon the trial word will inhibit hyphenation. (Since \TeX\ + inserts empty discretionaries after explicit hyphens, these rules + imply that already-hyphenated compound words will not be further + hyphenated by the algorithm.)'' +\end{quote} +Beachten Sie die falsche Trennung des Wortes `following'! + +\r Man kann also einfach mittels des Kommandos \cs{selectlanguage} +in den Trennalgorithmus einer andern Sprache umschalten (sofern daf"ur +eben Trenntabellen mitgedumpt wurden). Jetzt habe ich nur noch ein +letztes Problem mit Trennungen. + +\subsection[Zu lange Abschnittstitel]{Was kann man machen, wenn eine +Kapitel"uberschrift zu lang ist, als da"s sie in den lebenden +Kolumnentitel pa"st?} + +\p Die Antwort auf diese Frage ist leicht. Sie denken sich einen +pr"agnanten Titel f"ur den lebenden Kolumnentitel aus und notieren Ihr +Abschnittskommando etwa so: +% +\begin{ogfudatim} +\subsection[Zu lange Abschnittstitel]{Was kann man manchen, wenn +eine Kapitel"uberschrift zu lang ist, als da"s sie in den +lebenden Kolumnentitel pa"st?} +\end{ogfudatim} +\endinput diff --git a/info/german/ogfuda/verbatim.sty b/info/german/ogfuda/verbatim.sty new file mode 100644 index 0000000000..3baf823e16 --- /dev/null +++ b/info/german/ogfuda/verbatim.sty @@ -0,0 +1,178 @@ +\def\fileversion{v1.4i} +\def\filedate{92/01/20} +\def\docdate{91/12/18} + +%% \CheckSum{446} +%% \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 \~} +%% +\@ifundefined{verbatim@@@}{}{\endinput} +\typeout{Style-Option: `verbatim' + \fileversion \space <\filedate> (RmS)} +\typeout{English Documentation + \@spaces \@spaces \space <\docdate> (RmS)} +\def\addto@hook#1#2{#1\expandafter{\the#1#2}} +\newtoks\every@verbatim +\every@verbatim={} +\def\@makeother#1{\catcode`#112\relax} +\begingroup + \catcode`\ =\active% +\gdef\@vobeyspaces{\catcode`\ \active\let \@xobeysp}% +\endgroup +\def\@xobeysp{\leavevmode\penalty\@M\ } +\newtoks\verbatim@line +\def\verbatim@startline{\verbatim@line{}} +\def\verbatim@addtoline#1{% + \verbatim@line\expandafter{\the\verbatim@line#1}} +\def\verbatim@processline{\the\verbatim@line\par} +\def\verbatim@finish{\ifcat$\the\verbatim@line$\else + \verbatim@processline\fi} +\begingroup + \catcode`\`=\active + \gdef\verbatim@font{\tt \catcode96\active + \def`{\leavevmode\kern\z@\char96 }} +\endgroup +\def\@verbatim{\the\every@verbatim + \trivlist \item[]% + \leftskip\@totalleftmargin\rightskip\z@ + \parindent\z@\parfillskip\@flushglue\parskip\z@ + \@@par + \def\par{\leavevmode\null\@@par\penalty\interlinepenalty}% + \obeylines + \verbatim@font + \let\do\@makeother \dospecials} +\def\verbatim{\@verbatim \frenchspacing\@vobeyspaces\verbatim@start} +\@namedef{verbatim*}{\@verbatim\verbatim@start} +\let\endverbatim=\endtrivlist +\expandafter\let\csname endverbatim*\endcsname =\endtrivlist +\def\comment{\@bsphack + \let\do\@makeother\dospecials\catcode`\^^M\active + \let\verbatim@startline\relax + \let\verbatim@addtoline\@gobble + \let\verbatim@processline\relax + \let\verbatim@finish\relax + \verbatim@} +\let\endcomment=\@esphack +\@ifundefined{vrb@catcodes}% + {\def\vrb@catcodes{% + \catcode`\!12\catcode`\[12\catcode`\]12}}{} +\begingroup + \vrb@catcodes + \lccode`\!=`\\ \lccode`\[=`\{ \lccode`\]=`\} + \catcode`\~=\active \lccode`\~=`\^^M + \lccode`\C=`\C + \lowercase{% + \gdef\verbatim@start#1{% + \verbatim@startline + \if\noexpand#1\noexpand~% + \let\next\verbatim@ + \else \def\next{\verbatim@#1}\fi + \next}% + \gdef\verbatim@#1~{\verbatim@@#1!end\@nil}% + \gdef\verbatim@@#1!end{% + \verbatim@addtoline{#1}% + \futurelet\next\verbatim@@@}% + \gdef\verbatim@@@#1\@nil{% + \ifx\next\@nil + \verbatim@processline + \verbatim@startline + \let\next\verbatim@ + \else + \def\@tempa##1!end\@nil{\toks@{##1}}% + \@tempa#1\@nil + \@temptokena{!end}% + \edef\next{\noexpand\verbatim@test\the\toks@\noexpand~}% + \fi \next}% + \gdef\verbatim@test#1{% + \let\next\verbatim@test + \if\noexpand#1\noexpand~% + \expandafter\verbatim@addtoline + \expandafter{\the\@temptokena}% + \verbatim@processline + \verbatim@startline + \let\next\verbatim@ + \else \if\noexpand#1 + \@temptokena\expandafter{\the\@temptokena#1}% + \else \if\noexpand#1\noexpand[% + \let\@tempc\@empty + \let\next\verbatim@testend + \else + \expandafter\verbatim@addtoline + \expandafter{\the\@temptokena}% + \def\next{\verbatim@#1}% + \fi\fi\fi + \next}% + \gdef\verbatim@testend#1{% + \if\noexpand#1\noexpand~% + \expandafter\verbatim@addtoline + \expandafter{\the\@temptokena[}% + \expandafter\verbatim@addtoline + \expandafter{\@tempc}% + \verbatim@processline + \verbatim@startline + \let\next\verbatim@ + \else\if\noexpand#1\noexpand]% + \let\next\verbatim@@testend + \else\if\noexpand#1\noexpand!% + \expandafter\verbatim@addtoline + \expandafter{\the\@temptokena[}% + \expandafter\verbatim@addtoline + \expandafter{\@tempc}% + \def\next{\verbatim@!}% + \else \expandafter\def\expandafter\@tempc\expandafter + {\@tempc#1}\fi\fi\fi + \next}% + \gdef\verbatim@@testend{% + \ifx\@tempc\@currenvir + \verbatim@finish + \edef\next{\noexpand\end{\@currenvir}% + \noexpand\verbatim@rescan{\@currenvir}}% + \else + \expandafter\verbatim@addtoline + \expandafter{\the\@temptokena[}% + \expandafter\verbatim@addtoline + \expandafter{\@tempc]}% + \let\next\verbatim@ + \fi + \next}% + \gdef\verbatim@rescan#1#2~{\if\noexpand~\noexpand#2~\else + \@warning{Characters dropped after `\string\end{#1}'}\fi}} +\endgroup +\def\verbatiminput{\begingroup + \@ifstar\sverbatim@input\verbatim@input} +\def\sverbatim@input#1{\@verbatim + \@input{#1}\endtrivlist\endgroup\@doendpe} +\def\verbatim@input#1{\@verbatim + \frenchspacing \@vobeyspaces + \@input{#1}\endtrivlist\endgroup\@doendpe} +\begingroup + \catcode`\~=\active + \lccode`\~=`\^^M + \lowercase{\endgroup + \gdef\verb{\relax + \ifmmode \hbox \else \leavevmode\null \fi + \bgroup + \verbatim@font + \catcode`~\active + \def~{\egroup\@latexerr{\string\verb\space command ended by + end of line.}\@ehc}% + \let\do\@makeother \dospecials + \@ifstar\@sverb{\@vobeyspaces \frenchspacing \@sverb}}} +\def\@sverb#1{% + \catcode`#1\active + \lccode`\~`#1% + \lowercase{\let~\egroup}}% +\endinput |