summaryrefslogtreecommitdiff
path: root/info/german/ogfuda/layout.tex
blob: f612cc8e4864eed4a06c45a38318fbb943dbc38e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
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