From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- info/german/ogfuda/layout.tex | 717 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 717 insertions(+) create mode 100644 info/german/ogfuda/layout.tex (limited to 'info/german/ogfuda/layout.tex') 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 -- cgit v1.2.3