summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/german/l2tabu/l2tabu.tex
blob: 530ca70dfa5832e3ef4003d4dda8b1034c7abdda (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
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
%%%------------------------------------------------------------------
%%% Filename:    l2tabu.tex
%%% Author:      Mark Trettin <Mark.Trettin@gmx.de>
%%% Created:     17 Feb 2003 19:01:58
%%% Time-stamp: <19 Dez 2004 23:01:22 (CET) (mark)>
%%% Version:    $Id: l2tabu.tex,v 1.8 2004/12/19 22:01:40 mark Exp $
%%%
%%% Copyright (C) 2003 by Mark Trettin
%%%------------------------------------------------------------------
%%% TODO:
%%% - \input{../asdf/} anstelle von \input ../asdf/
\documentclass[11pt,a4paper,pagesize,tablecaptionabove,abstracton,pointlessnumbers]{scrartcl}
%--------------- Grund Konfiguration (deutsch, 8bit) ----------------
\usepackage[ngerman]{babel}     % deutsche Trennmuster
\usepackage[latin1]{inputenc}   % direkte Eingabe von Umlauten & Co.
\usepackage[T1]{fontenc}        % T1-Schriften
%%% Times/Helvetica/Courier *nur* um die Dateigröße zu minimieren, da
%%% diese Schriften nicht eingebunden werden (müssen).
\usepackage{mathptmx}           % Times/Mathe \rmdefault
\usepackage[scaled=.90]{helvet} % Skalierte Helvetica \sfdefault
\usepackage{courier}            % Courier \ttdefault

\shorthandon{"}
\newcommand{\TimesRant}{Ach ja, bevor Anfragen kommen: Ja, ich habe
  Times/""Helvetica\footnote{Arial in der Darstellung des Acrobat Reader}/""Courier benutzt,
  allerdings nur um die Datei möglichst klein zu halten. \texttt{;-)}}
\shorthandoff{"}
\typearea[current]{current}     % Satzspiegel neu  berechnen
%------------ zusaetzliche Pakete (Graphik, Tabellen) ---------------
\usepackage{xspace}             % Automatische Leerzeichen nach Makros
\usepackage{booktabs,array}     % Schönere Tabellen
\usepackage[german]{varioref}   % für die veröffentlichte Version
                                % geändert, da die aktuellen fancy- bzw.
                                % varioref-Versionenen nicht
                                % zusammenarbeiten. (Immer noch?!)
\usepackage{textcomp}           % Zusätzliche Zeichen
\usepackage[nofancy]{rcsinfo}   % RCS-Informationen im Titel
\usepackage{enumerate}
\usepackage{calc}               % Wir müssen rechnen
\usepackage{eurosans}           % Euro
%--------------------------- Formatierung ---------------------------
%%% Captions
\setkomafont{caption}{\normalcolor\small\sffamily\slshape}
\setkomafont{captionlabel}{\normalcolor\upshape\small\sffamily\bfseries}
%--------------------------- PDF Optionen ---------------------------
\ifpdfoutput{%                 % Benötigt KOMA-Scriptklasse
  \usepackage{hyperref}        % hyperref Einstellungen für pdf
  \hypersetup{%
  pdfauthor={(c) 2003, 2004 Mark Trettin},%
  pdftitle={Das LaTeX2e-Sündenregister oder Veraltete Befehle, Pakete und andere Fehler},%
  pdfsubject={Tipps zu LaTeX2e},%
  bookmarksopen=true,% Temp
  backref=true,
  }
  \usepackage[activate=normal]{pdfcprot} % Optischer Randausgleich
  \newcommand{\EMail}[1]{\href{mailto:#1?Subject=[l2tabu.pdf]}{E-Mail: \texttt{#1}}}
  \newcommand{\News}[1]{\href{news:#1}{\texttt{#1}}}
  %% Diese Definition ist Mist, da muss ich nochmal drüber nachdenken. :-(
  \newcommand{\MID}[2]{\href{http://groups.google.com/groups?as_umsgid=#1}%
    {Message-ID: \texttt{<#2>}}}
  % \usepackage{color}           % Für preview-latex in den pdf-Zweig
  }%
%--------------------------- PS Optionen ----------------------------
  {%
    \usepackage{hyperref}
    \newcommand{\EMail}[1]{\href{mailto:#1}{E-Mail: \texttt{#1}}}
    \newcommand{\News}[1]{\href{news:#1}{\texttt{#1}}}
    \newcommand{\MID}[2]{\href{M-ID: <#1>}{Message-ID: \texttt{<#2>}}}
  }
\usepackage{color} % Für preview-latex bitte auskommentieren
%-------------------------- neue Kommandos --------------------------
\newcommand{\TB}{\textbackslash}
%%% Dokumentation: SansSerif
\newcommand{\Doku}[1]{\textsf{#1}\xspace}
%%% Paket ,Klasse, Bibstil: SansSerif, Slanted
%\newcommand{\Paket}[2][sty]{\textsf{\textsl{#2.#1}}\xspace}
\newcommand{\Paket}[1]{\textsf{\textsl{#1.sty}}\xspace}
\newcommand{\Klasse}[1]{\textsf{\textsl{#1.cls}}\xspace}
\newcommand{\Bst}[1]{\textsf{\textsl{#1.bst}}\xspace}
%%% Optionen: SansSerif
\newcommand{\Option}[1]{\textsf{#1}\xspace}
%%% \Use{graphicx}         --> \usepackage{graphicx}
%%% \UseO{dvips}{graphicx} --> \usepackage[dvips]{graphicx}
\newcommand{\Use}[1]{\texttt{\TB usepackage\{#1\}}}
\newcommand{\UseO}[2]{\texttt{\TB usepackage[#1]\{#2\}}}
\newcommand{\UseV}[2]{\texttt{\TB usepackage\{#1\}[#2]}}
\newcommand{\UseOV}[3]{\texttt{\TB usepackage[#1]\{#2\}[#3]}}
%%% Bibliography
\newcommand{\Bib}[1]{\texttt{\TB bibliographystyle\{#1\}}}
%%% environment TODO: evtl. umdefinieren, dat is übel
\newcommand{\Env}[2]{\raggedright\texttt{\TB begin\{#1\}\\
    #2\\ \TB end\{#1\}}}
%%% \newcommand
\newcommand{\NewCom}[3][]{\texttt{\TB newcommand{#1}\{\TB#2\}\{#3\}}}
\newcommand{\ReNewCom}[3][]{\texttt{\TB renewcommand{#1}\{\TB#2\}\{#3\}}}

%%% Gestohlen aus dem scrguide ;-)
\DeclareRobustCommand*{\Macro}[1]{\mbox{\texttt{\char`\\#1}}}
\DeclareRobustCommand*{\LMacro}[2]{\mbox{\texttt{\char`\\#1\{#2\}}}}
\DeclareRobustCommand*{\GMacro}[2]{\mbox{\texttt{\{\char`\\#1\ #2\}}}}
% DANTE
\providecommand{\CTANserver}{ftp.dante.de}
% Make CTAN:// be an alias of ftp://\CTANserver/tex-archive/
\makeatletter
\def\url@#1{\expandafter\url@@#1\@nil}
\def\url@@#1://#2\@nil{%
  \def\@tempa{#1}\def\@tempb{CTAN}\ifx\@tempa\@tempb
    \hyper@linkurl{\Hurl{#1:#2}}{ftp://\CTANserver/tex-archive/#2}%
  \else
    \hyper@linkurl{\Hurl{#1://#2}}{#1://#2}%
  \fi
}
\makeatother
%%% Farben
%\definecolor{gruen}{rgb}{0,0.66,0}
% Umdefiniert, für s/w-Ausdrucke.
\definecolor{gruen}{rgb}{0,0.55,0}
\definecolor{rot}{rgb}{1,0,0}
\newcommand{\FIXME}[1]{\marginline{FIXME: #1!}}
\newsavebox{\Quelle}

\newenvironment{bspcode}[1]{%
  \sbox{\Quelle}{\footnotesize Quelle: #1}
  \center
  \rule{\linewidth}{1.5pt}
}{%
  \rule{\linewidth}{1.5pt}
  \usebox{\Quelle}
  \endcenter%
}

%%% Ersetze-Makros FIXME:
\newcommand{\Ersetze}[2]{\par\noindent Ersetze: \textcolor{rot}{#1}
  durch \textcolor{gruen}{#2}}
\newcommand{\Ersetzx}[3][.5\textwidth]{%
  \par\noindent%
  \begin{minipage}[t]{#1}
    \raggedright
    Ersetze:\\
    \textcolor{rot}{#2}
  \end{minipage}%
  \hfill%
  \begin{minipage}[t]{(\linewidth - #1)-.02\linewidth}
    \raggedright
    durch\\
    \textcolor{gruen}{#3}
  \end{minipage}%
}
% Breite für die Ersetze-Makros :-(
\newsavebox{\Breite}
%%% Hack von Heiko Oberdiek für den AR unter Linux
\pdfstringdefDisableCommands{%
  \edef\quotedblbase{\string"}%
  \edef\textquotedblleft{\string"}%
}
%%% von mir für \dots
\pdfstringdefDisableCommands{%
  \edef\dots{\string...}%
}
%%% Ganz, ganz kruder Hack um die URL in eine eigene Zeile zu bekommen,
%%% *ohne* zusätzlichen Abstand. :-(
\newcommand{\biburl}[1]{\hfill\\URL:~\url{#1}}
%------------------- Tabellenspaltendefinitionen --------------------
% Benötigt array
\newcolumntype{v}[1]{>{\raggedright\hspace{0pt}}p{#1}} % v-Spalte, wie
                                                       % p-Spalte nur
                                                       % linksbündig
\newcolumntype{V}[1]{>{\footnotesize\raggedright\hspace{0pt}}p{#1}}
\newcolumntype{N}{>{\footnotesize}l}
\newcolumntype{C}{>{\footnotesize}c}
%----------------------------- Titelei ------------------------------
\subject{Tipps zu \LaTeX}
\title{Das \LaTeXe-Sündenregister\\{\LARGE% Ich weiß, das tut man nicht.
    oder\\Veraltete Befehle,
    Pakete  und  andere Fehler}}
\author{Mark Trettin\thanks{\EMail{Mark.Trettin@gmx.de}}}
\date{Version \rcsInfoRevision\ vom \rcsInfoLongDate}
%----------------------- Beginn des Dokuments -----------------------
\begin{document}
%\begin{Form}\end{Form}
\pagestyle{headings}
%%% RCS Info für die Versionsangaben.
\rcsInfo $Id: l2tabu.tex,v 1.8 2004/12/19 22:01:40 mark Exp $
\maketitle
\begin{abstract}
  \noindent
  Angeregt durch eine Diskussion in der deutschsprachigen
  \TeX-Newsgroup\footnote{\News{de.comp.text.tex}} über das
  wiederholte Auftauchen von veralteten und "`schlechten"' Paketen und
  Befehlen, habe ich mich entschlossen, diese kleine Übersicht zu
  schreiben.
  
  Ich versuche in diesem Artikel die gängigsten Fehler zu zeigen und
  Alternativen anzubieten. Diese Übersicht soll weder Einführungen wie
  \Doku{l2kurz}~\cite{l2kurz:99} noch die
  \Doku{De-TeX-FAQ}~\cite{faq:03} ersetzen, sondern lediglich einen
  kleinen Überblick bieten.
  
  Für Vorschläge, Verbesserungen und Kommentare bin ich dankbar.
  \TimesRant
\end{abstract}
%%% Copyright 
{\setlength{\parindent}{0pt}
  \footnotesize
\vfill
Copyright \copyright{} 2003, 2004 by Mark Trettin.
\medskip

This material may be distributed only subject to the terms and
conditions set forth in the \emph{Open Publication License}, v1.0 or
later (the latest version is presently available at
\url{http://www.opencontent.org/openpub/}).
   
\bigskip

Ich bedanke mich bei
Ralf Angeli,
Christoph Bier,
Christian Faulhammer,
Jürgen Fenn\footnote{Englische Übersetzung: \url{CTAN://info/l2tabu/english/l2tabuen.pdf}},
Ulrike Fischer,
Yvon Henel\footnote{Französische Übersetzung: \url{CTAN://info/l2tabu/french/l2tabufr.pdf}},
Yvonne Hoffmüller,
David Kastrup,
Markus Kohm,
Thomas Lotze,
Frank Mittelbach,
Heiko Oberdiek,
Walter Schmidt,
Stefan Stoll,
Knut Wenzig,
Emanuele Zannarini\footnote{Italienische Übersetzung: \url{CTAN://info/l2tabu/italian/l2tabuit.pdf}}
und Reinhard Zierke
für Tipps, Anmerkungen und Korrekturen. Falls ich jemanden vergessen
haben sollte, bitte ich um eine Mail.\par}

\clearpage
\tableofcontents
\clearpage

\section{"`Todsünden"'}
\label{sec:todsunden}
In diesem Abschnitt habe ich die wohl schlimmsten Fehler
zusammengetragen, die in schöner Regelmäßigkeit in
\News{de.comp.text.tex} auftauchen und den dortigen Regulars entweder
die Zornesröte ins Gesicht oder die Tränen in die Augen treiben.
\texttt{;-)}


\subsection{\Paket{a4}, \Paket{a4wide}}
\label{sec:paketa4-paketa4wide}

Diese "`beiden"' Pakete sollten nicht mehr verwendet und ersatzlos aus
dem \LaTeX-Quelltext gestrichen und durch die Klassenoption
\Option{a4paper} ersetzt werden. Abgesehen davon, dass das
Layout der meisten dieser Pakete typografisch mehr als fragwürdig ist,
existieren mehrere verschiedene, zu einander inkompatible Versionen.
Man kann sich also nicht einmal sicher sein, dass auf einem anderen
Rechner das Dokument gleich (schlecht?) aussieht.

\subsection{Layoutänderungen}
\label{sec:layoutanderungen}
Die von den Standardklassen (\Klasse{article}, \Klasse{report},
\Klasse{book}) verwendeten Satzspiegel wirken häufig zu groß.  Abhilfe
bieten die entsprechenden Klassen (\Klasse{scrartcl}, \Klasse{scrreprt},
\Klasse{scrbook}) aus dem \KOMAScript-Paket, oder das ebenfalls dort
enthaltene \Paket{typearea}. Die dazugehörige Dokumentation
\Doku{scrguide}~\cite{kohm:03} enthält viele weiterführende
Informationen.

Wenn man wirklich einen anderen Satzspiegel als den von z.\,B.
\Paket{typearea} erzeugten benötigt, dann sollte man bitte die Pakete
\Paket{geometry} oder \Paket{vmargin} verwenden und nicht versuchen,
"`zu Fuß"' \Macro{oddsidemargin} \& Co. zu ändern.

Unter gar keinen Umständen sollte man an \Macro{hoffset} bzw.
\Macro{voffset} herumfummeln, außer man kennt sich sehr gut mit den
\TeX-Interna aus.

\subsection{Änderungen von Paketen und Klassen}
\label{sec:ander-von-paket}
Niemals Dokumentklassen (\Klasse{article}, \Klasse{scrbook} usw.) oder
Stylefiles (\Paket{varioref}, \Paket{color}) direkt ändern! Entweder
man bastelt sich Containerklassen bzw. -styles oder, man \emph{kopiert}
die Klassen/Styles, ändert die Kopie und speichert diese unter
\emph{anderem} Namen ab. 

Ein Beispiel zur Erstellung von Containerklassen findet sich in der
\Doku{FAQ}~\cite[Punkt 5.1.5]{faq:03}.

\paragraph{Hinweis}
\label{sec:hinweis}

Generell sollte man solche zusätzlich installierten Klassen und Pakete
entweder in den lokalen oder den \texttt{\$HOME}-\TeX-Baum speichern,
damit bei einem Upgrade der \TeX-Distribution diese Änderungen nicht
überschrieben werden.  Braucht man diese Änderungen nur in dem
speziellen Projekt und möchte es weitergeben, dann könnte man die
angepasste Klasse auch im aktuellen Projektverzeichnis speichern.

\subsection{Änderung des Zeilenabstandes mittels \texttt{\TB baselinestretch}}
\label{sec:ander-des-zeil}
Anpassungen von Parametern sollten generell auf der obersten dafür
vorgesehenen Ebene der Benutzungsschnittstelle erfolgen.  Eine
Änderung des Durchschusses kann auf drei Ebenen durchgeführt werden:
\begin{enumerate}
\item Verwendung des Paketes \Paket{setspace}
\item Verwendung der \LaTeX{}"=Anweisung \LMacro{linespread}{<Faktor>}
\item Umdefinition von \Macro{baselinestretch}
\end{enumerate}
Eine Umdefinition von Parametern wie \Macro{baselinestretch} stellt
die unterste Ebene dar und sollte deshalb Paketen vorbehalten bleiben.
Eine bessere, da extra dafür vorgesehene Methode, ist die Verwendung
von \LMacro{linespread}{<Faktor>}.  Die beste Vorgehensweise stellt
aber die Verwendung des Paketes \Paket{setspace} dar, das sich bei der
Änderung des Durchschusses um die Beibehaltung der Abstände in
Fußnoten oder Listenumgebungen kümmert, deren Änderung meist nicht
erwünscht ist.

Wenn man also einen größeren Durchschuss benötigt (z.\,B.
eineinhalbzeilig oder zweizeilig), bietet sich folglich zuerst das
Paket \Paket{setspace} an.  Möchte man hingegen nur kleine Anpassungen
für andere Schriften als Computer Modern (z.\,B Palatino) machen, dann
kann bzw. sollte man \LMacro{linespread}{<Faktor>} verwenden. Bei der
Schrift Palatino würde sich zum Beispiel \LMacro{linespread}{1.05}
anbieten.

% Wenn man einen größeren Durchschuss benötigt (z.\,B. eineinhalbzeilig
% oder zweizeilig), dann bietet das Paket \Paket{setspace} die einfachste
% Möglichkeit. Möchte man hingegen nur kleine Anpassungen für andere
% Schriften als Computer Modern (z.\,B Palatino) machen, dann kann, bzw.
% sollte man \LMacro{linespread}{<Faktor>} verwenden. Bei der Schrift
% Palatino würde sich zum Beispiel \LMacro{linespread}{1.05} anbieten.



\subsection{Absatzeinzug und -abstand (\texttt{\TB{}parindent}, \texttt{\TB{}parskip})}
\label{sec:absatz-und-abst}

Den Absatzeinzug (\Macro{parindent}) zu ändern, kann manchmal sinnvoll
sein. Man sollte dabei aber beachten, dass
\begin{itemize}
\item man den Einzug mit einer schriftabhängigen Größe (em) und nicht
  mit einer absoluten Größe (mm) ändert.  "`Schriftabhängig"' bedeutet
  hier \emph{nicht}, dass sich der Absatzeinzug bei
  Schriftgrößenänderungen automatisch anpasst, sondern dass der Wert der
  aktuell aktiven Schrift benutzt wird.
\item man \LaTeX-Syntax verwendet, da diese die wenigsten Probleme birgt.
  Zum Beispiel ist sie für externe Programme/Skripte leichter zu
  parsen\footnote{syntaktisch analysieren, aufspalten}, für den Benutzer
  besser zu warten und es gibt keine Inkompatibilitäten mit anderen
  Paketen (\Paket{calc}).
  \Ersetze{\Macro{parindent}\texttt{=1em}}{\LMacro{setlength}{\Macro{parindent}}\{1em\}}
\end{itemize}
%
Wenn man hingegen \emph{keinen} Absatzeinzug, dafür aber einen
zusätzlichen Durchschuss als Absatzkennzeichnung wünscht, sollte man
\emph{nicht} einfach 
\color{rot}
\begin{verbatim}
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}
\end{verbatim}
\normalcolor
%
verwenden. Da sich \Macro{parskip} auch auf Listen, Verzeichnisse und
Überschriften auswirkt, ist diese Vorgehensweise nicht zu empfehlen.

Das Paket \Paket{parskip} und die \KOMAScript-Klassen treiben einigen
Aufwand, um diese Begleiterscheinungen zu vermeiden.  Zur Verwendung der
verschiedenen Optionen (\Option{parskip}, \Option{halfparskip} usw.)
von \KOMAScript\ siehe den \Doku{scrguide}~\cite{kohm:03}.  Wenn eine
der \KOMAScript-Klassen verwendet wird, muss das Paket \Paket{parskip}
\emph{nicht} noch zusätzlich geladen werden.



\subsection{Abgesetzte Formeln mit \texttt{\$\$\dots\$\$}}
\label{sec:abges-form-mit}

Bitte nicht! \texttt{\$\$\dots\$\$} ist ein plain\TeX-Befehl und sollte
in \LaTeX\ vermieden werden, da dadurch die vertikalen Abstände bei
abgesetzten Formeln inkonsistent werden (siehe auch
Abschnitt~\vref{sec:mathematiksatz}, insbesondere die Warnung bezüglich
\texttt{displaymath} im Zusammenhang mit \Paket{amsmath}). Ferner
funktioniert die Klassenoption \Option{fleqn} nicht mehr.
\Ersetze{\texttt{\$\$\dots\$\$}}{%
\parbox[t]{.3\textwidth}{%
\Macro{[}\texttt{\dots}\Macro{]}\\
\textcolor{black}{oder}\\
\Env{displaymath}{\dots}}}


\subsection{\texttt{\TB def} vs. \texttt{\TB newcommand}}
\label{sec:def-vs.-newcommand}
Makros sollte man \emph{immer} mittels \NewCom{<name>}{\dots}
definieren und \emph{nicht} mit
\Macro{def}\LMacro{<name>}{\dots}.\footnote{Siehe auch
  \cite[Abschnitt 2.7.2]{clsguide:99} und \cite[Abschnitt 3.4]{usrguide:01}}

Das Hauptproblem von \Macro{def} ist, dass keine Überprüfung auf die
Existenz eines Makros durchgeführt wird. Es wird deshalb ggf. ohne
Fehlermeldung/""Warnung überschrieben.

Bereits existierende Makros können mit \ReNewCom{<name>}{\dots}
umdefiniert werden.   

Wer genau weiß, \emph{warum} er \Macro{def} benötigt, weiß auch um
dessen Nach- bzw. Vorteile und kann diesen Unterpunkt getrost
ignorieren.


\subsection{Verwendung von \texttt{\TB sloppy}}
\label{sec:verw-von-textttt}

Der Schalter \Macro{sloppy} sollte nicht verwendet werden,  schon gar
nicht global in der Präambel.  Wenn man in einzelnen Absätzen Probleme
mit dem Umbruch hat, gilt:
\begin{enumerate}
\item Überprüfen, ob die entsprechenden Trennmuster (z.\,B. mittels
  \Paket{(n)german}) und T1-Schriften geladen sind (siehe auch
  \Doku{FAQ}\cite[Punkt 5.3 ff.]{faq:03}).
\item Umformulieren.  Man muss nicht unbedingt den Satz, in dem das
  Umbruchproblem auftritt umformulieren, oft reicht es schon einen der
  vorhergehenden oder nachfolgenden Sätze umzuformulieren/umzustellen.
\item Moderate Anpassung der Parameter, die \TeX{} bei der Berechnung
  der Zeilenumbrüche verwendet.  Axel Reichert hat in
  \News{de.comp.text.tex} einmal seine persönliche
  Anpassung\footnote{Man kann diese Werte natürlich nach dem
  persönlichen Geschmack ändern, aber man sollte vorallem bei
  \TB\texttt{emergencystretch} aufpassen. Sonst erhält man einen
  löchrigen Blocksatz, wie bei einem sehr bekannten Textverarbeitungsprogramm.}
  gepostet\footnote{Zu finden unter der
    \MID{a84us0$plqcm$7@ID-30533.news.dfncis.de}{a84us0\$plqcm\$7@ID-30533.news.dfncis.de}},
  mit der sich die meisten Umbruchprobleme bei weiterhin gutem Layout
  vermeiden lassen. (Man sollte hierbei allerdings beachten, dass nun
  auftretende Warnungen \emph{wirklich} zu beherzigen und durch
  Umformulieren zu beseitigen sind.):
  
  \begin{minipage}[t]{\linewidth}
\begin{verbatim}
\tolerance 1414
\hbadness 1414
\emergencystretch 1.5em
\hfuzz 0.3pt
\widowpenalty=10000
\vfuzz \hfuzz
\raggedbottom
\end{verbatim}
%    \hspace{\baselineskip} % Ja, ja ich weiß, das ist geschummelt!
  \end{minipage}
\end{enumerate}
%
Erst wenn diese Punkte nicht geholfen haben, kann man versuchen, mit
der \texttt{sloppypar}"=Umgebung den nachfolgenden Absatz "`lockerer"'
zu setzen.  

\begin{figure}[htp]
  % Falls sich jemand über das zusätzliche \fussy bzw. das fehlende
  % \sloppy wundert:  Use the Source Luke!  \parbox setzt per default
  % \sloppy, so dass man für einen originalen Umbruch \fussy benötigt.
  \begin{minipage}[t]{.47\textwidth}
    \centering
    {\fontsize{10pt}{12pt}\fontencoding{OT1}\selectfont
      \fbox{\parbox{16.27em}{\fussy%
          tatata tatata tatata tatata tatata tatata tata\-tata tatata tatata
          tatata tatata tatata tatata tata\-tata tatata tatata tatata tatata
          ta\-tatatatt\-ta tatata tatata tatata tatata tatata tatata
          ta\-ta\-ta\-ta}}}%
    \caption{Beispiel mit \LaTeX s Standardwerten}%
    \label{fig:beispiel-mit-latex}%
  \end{minipage}%
  \hfill%
  \begin{minipage}[t]{.47\textwidth}
    \centering    
    {\fontsize{10pt}{12pt}\fontencoding{OT1}\selectfont
      \fbox{\parbox{16.27em}{%
          tatata tatata tatata tatata tatata tatata tata\-tata tatata tatata
          tatata tatata tatata tatata tata\-tata tatata tatata tatata tatata
          ta\-tatatatt\-ta tatata tatata tatata tatata tatata tatata
          ta\-ta\-ta\-ta}}}%
    \caption{Beispiel mit \texttt{\string\sloppy}}%
    \label{fig:beisp-mit-textttstr}
  \end{minipage}
\end{figure}

In den Abbildungen~\ref{fig:beispiel-mit-latex} und
\vref{fig:beisp-mit-textttstr} habe ich versucht, den Effekt von 
\Macro{sloppy} darzustellen.  Bei der hier verwendeten "`Times"' ist die
negative Auswirkung von \Macro{sloppy} auf Grund der sehr geringen
Laufweite nicht so extrem, wie beispielsweise bei der "`Computer Modern
Roman"'.  Der prinzipielle Effekt sollte aber dennoch erkennbar sein.

Markus Kohm hat in \News{comp.text.tex} ein Beispiel veröffentlicht,
welches den Effekt sehr deutlich zeigt.  Ich habe es mit seiner
Erlaubnis angehängt (siehe Anhang~\vref{sec:beispiel-zu-sloppy}).

%----------------------- Abschnitt Obsoletes ------------------------
\clearpage
\section{Veraltete Befehle, Klassen und Pakete}
\label{sec:obsoletes}

Markus Kohm hat ein Perl-Script geschrieben, mit dem man online auf
\url{http://kohm.de.tf/markus/texidate.html} seine Dateien auf die
häufigsten Fehler überprüfen kann.

Allerdings ist zu beachten, dass es keinen vollständigen \TeX-Parser
enthält und deshalb nur die "`offensichtlichen"' Fehler
überprüfen kann. Erst testen, dann posten.

\subsection{Befehle}
\label{sec:befehle}

\subsubsection{Änderung des Schriftstils}
\label{sec:ander-des-schr}
In Tabelle~\vref{tab:befehle-zur-anderung} sind die alten und aktuellen
Befehle zur Änderung des Schriftstils gegenüber gestellt. Die als
"`lokal"' bezeichneten Makros wirken nur auf ihr Argument, wohingegen
die als "`global/Schalter"' bezeichneten, sich auf den gesamten
folgenden Text bis zum Ende der aktuellen Gruppe auswirken.

\begin{table}[htp]% Absatzumbruch hatte sich verändert :-\
  \begin{minipage}{\textwidth}
    \renewcommand{\footnoterule}{}
    \centering
    \caption{Befehle zur Änderung des Schriftstils}
    \label{tab:befehle-zur-anderung}
  \begin{tabular}{@{}lll@{}}
    \toprule
    \multicolumn{1}{@{}N}{veraltet}&
    \multicolumn{2}{C@{}}{Ersatz in \LaTeXe}\\
    \cmidrule(l){2-3}
    &
    \multicolumn{1}{N}{lokal} &
    \multicolumn{1}{N@{}}{global/Schalter}\\
    \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
    \GMacro{bf}{\dots} & \LMacro{textbf}{\dots} & \Macro{bfseries}\\
    --- & \LMacro{emph}{\dots} &
    \Macro{em}\footnote{Nützlich in Makrodefinitionen.  Innerhalb des
      Texts sollte nicht \GMacro{em}{\dots}, sondern
      \LMacro{emph}{\dots} verwendet werden.}\\
    \GMacro{it}{\dots} & \LMacro{textit}{\dots} & \Macro{itshape}\\
    ---  & \LMacro{textmd}{\dots} & \Macro{mdseries}\\
    \GMacro{rm}{\dots} & \LMacro{textrm}{\dots} & \Macro{rmfamily}\\
    \GMacro{sc}{\dots} & \LMacro{textsc}{\dots} & \Macro{scshape}\\
    \GMacro{sf}{\dots} & \LMacro{textsf}{\dots} & \Macro{sffamily}\\
    \GMacro{sl}{\dots} & \LMacro{textsl}{\dots} & \Macro{slshape}\\
    \GMacro{tt}{\dots} & \LMacro{texttt}{\dots} & \Macro{ttfamily}\\
    --- & \LMacro{textup}{\dots} & \Macro{upshape}\\
    \bottomrule
  \end{tabular}
\end{minipage}
\end{table}

\paragraph{Warum sollte man die alten Befehle nicht verwenden?}
\label{sec:warum-sollte-man}

Die alten Befehle unterstützen nicht die
Schriftverwaltung\footnote{NFSS: New Font Selection Scheme. Einen Überblick über das NFSS gibt der
\Doku{fntguide}~\cite{fntguide:00}.} von \LaTeXe.
\GMacro{bf}{foo} zum Beispiel setzt alle schon vorhandenen
Schriftattribute zurück, bevor es "`foo"' fett druckt. Das führt dazu,
dass man nicht einfach einen fett-kursiven Stil durch
\GMacro{it}{\Macro{bf Test}} definieren kann. (Die angegebene Definition
erzeugt: {\it\bf Test}.).   Die aktuellen Befehle
\LMacro{textbf}{\LMacro{textit}{Test}} hingegen verhalten sich wie
erwartet und erzeugen: \textbf{\textit{Test}}. Ferner gibt es bei den
alten Befehlen keine "`Italic-Korrektur"', z.\,B. {\it fünf}hundert (\GMacro{it}{fünf}\texttt{hundert})
und \textit{fünf}hundert (\LMacro{textit}{fünf}\texttt{hundert}).

\subsubsection{Mathematische Brüche (\texttt{\TB over} vs. \texttt{\TB frac})}
\label{sec:textb-over-vs}
Der Befehl \Macro{over} sollte vermieden werden.
\Macro{over} ist ein \TeX-Befehl, der durch die von \LaTeX\ abweichende
Syntax schlechter bzw. nicht parsbar ist.  Insbesondere das Paket
\Paket{amsmath} definiert \verb+\frac{}{}+ um und man erhält
Fehlermeldungen bei der Verwendung von \Macro{over}.  Ein weiteres
Argument für die Verwendung von \verb+\frac{}{}+ ist die für den
Benutzer -- vorallem bei komplexeren Brüchen -- einfachere Zuordnung von
Zähler und Nenner.
\Ersetze{\texttt{\$a \TB over b\$}}%
{\texttt{\$\TB frac\{a\}\{b\}\$}}

\subsubsection{Zentrierung mit \texttt{\TB centerline}}
\label{sec:centerline}
Der Befehl \Macro{centerline} ist ebenfalls ein \TeX-Befehl und sollte
in \LaTeX\ vermieden werden.  \Macro{centerline} ist einerseits
inkompatibel zu einigen \LaTeX-Paketen (z.\,B. \Paket{color}) und
andererseits kann die Verwendung zu unerwünschten bzw. unerwarteten
Effekten führen:
\begin{center}
  \begin{minipage}[t]{.45\textwidth}
\begin{verbatim}
\begin{enumerate}
\item \centerline{Ein Punkt}
\end{enumerate}
\end{verbatim}
  \end{minipage}%
  \hfill%
%  \hspace{.05\textwidth}%
 \fbox{ \begin{minipage}[t]{.45\textwidth}
    \begin{enumerate}
    \item \centerline{Ein Punkt}
    \end{enumerate}
  \end{minipage}}
\end{center}
\Ersetze{\LMacro{centerline}{\dots}}%
{\parbox[t]{.3\textwidth}{%
  \GMacro{centering}{\dots}\\
\textcolor{black}{oder}\\
\Env{center}{\dots}
}}


\paragraph{Anmerkung}
\label{sec:anmerkung-5}

Hinweise zur Zentrierung von Grafiken und Tabellen sind in
Abschnitt~\vref{sec:gleit-figure-table} zu finden.

\subsection{Klassen und Pakete}
\label{sec:pakete}

\subsubsection{\Klasse{scrlettr} vs. \Klasse{scrlttr2}}
\label{sec:paketscrl-vs.-pakets}

Die Klasse \Klasse{scrlettr} aus dem \KOMAScript-Paket ist veraltet und wurde durch
\Klasse{scrlttr2} ersetzt.  Um ein \emph{ähnliches} Layout wie die alte
Klasse zu erreichen, kann man die Klassenoption \Option{KOMAold}
verwenden, die einen Kompatibilitätsmodus zur Verfügung stellt. 

\sbox{\Breite}{\texttt{\TB documentclass\{scrltter\}}}
\Ersetzx[\wd\Breite]{\texttt{\TB documentclass\{scrlettr\}}}%
{\texttt{\TB documentclass[KOMAold]\{scrlttr2\}}}


\paragraph{Anmerkung}
\label{sec:anmerkung-3}
Für neue Vorlagen und Briefe, sollte aber die neue Schnittstelle
benutzt werden, da diese deutlich flexibler ist.

Eine Erklärung der Unterschiede des Benutzerinterfaces
würde den Rahmen dieser Übersicht sprengen, deshalb muss ich hier auf
den \Doku{scrguide}~\cite{kohm:03} verweisen.


\subsubsection{\Paket{epsf}, \Paket{psfig}, \Paket{epsfig} vs.
  \Paket{graphics}, \Paket{graphicx}}
\label{sec:grafikeinbindung}

Die Pakete \Paket{epsf} und \Paket{psfig} sind durch \Paket{graphics}
oder \Paket{graphicx} zu ersetzen. \Paket{epsfig} ist nur ein Wrapper\footnote{Hier: Ein Stylefile,
welches ein oder mehrere andere aufruft und damit Funktionen
nachbildet.} um \Paket{graphicx} für alte Dokumente, die mit
\Paket{psfig} erstellt wurden.

Da \Paket{epsfig} intern \Paket{graphicx} benutzt, \emph{kann} man es
noch verwenden, sollte aber für neu erstellte Dokumente auf das
modernere \Paket{graphics} oder \Paket{graphicx} umsteigen. Die Syntax
der beiden letztgenannten Pakete ist deutlich flexibler. Das
Paket \Paket{epsfig} wird hauptsächlich aus Kompatibilitätsgründen
mitgeliefert.

Zu den Unterschieden zwischen den Paketen \Paket{graphics} und
\Paket{graphicx} siehe \Doku{grfguide}~\cite{graphicx:99}. Hinweise zur
Zentrierung von Grafiken siehe Abschnitt~\vref{sec:gleit-figure-table}.

%% Heiko und Walter haben mich überzeugt, dass das so einfach doch
%% nicht ist.
% Ein paar Tipps zur Grafikeinbindung:
% \begin{enumerate}
% \item Nicht die Dateierweiterung (JPG, EPS usw.) angeben. \LaTeX\ bzw.
%   pdf\LaTeX\ suchen sich schon die "`richtigen"' Dateien. Durch
%   Vermeidung der Dateierweiterung wird das Kompilieren mit den
%   verschiedenen Formaten erst ermöglicht.
% \item Keinen Treiber (dvips, pdftex) beim Laden des Paketes angeben.
%   Grund: s.\,o.
% \item Zentrierung siehe Abschnitt~\vref{sec:gleit-figure-table}.
% \end{enumerate}

\sbox{\Breite}{\LMacro{psfig}{file=Bild,\dots}}
\Ersetze{\parbox[t]{\wd\Breite}{\Use{psfig}\\%
    \LMacro{psfig}{file=Bild,\dots}}}%
{\parbox[t]{.45\textwidth}{%
    \Use{graphicx}\\%
    \texttt{\TB includegraphics[\dots]\{Bild\}}}}

\subsubsection{\Paket{doublespace} vs. \Paket{setspace}}
\label{sec:zeilenabstande}

Um den Durchschuss zu ändern, sollte man das Paket \Paket{setspace}
verwenden. \Paket{doublespace} ist veraltet und wurde durch
\Paket{setspace} ersetzt. Siehe auch 
Abschnitt~\vref{sec:ander-des-zeil}.
\Ersetze{\Use{doublespace}}{\Use{setspace}}

\subsubsection{\Paket{fancyheadings}, \Paket{scrpage} vs. \Paket{fancyhdr}, \Paket{scrpage2}}
\label{sec:lebende-kolumn}

Das Paket \Paket{fancyheadings} wurde durch \Paket{fancyhdr} ersetzt.
Eine weitere Alternative für angepasste Kopfzeilen bietet das Paket
\Paket{scrpage2} aus dem \KOMAScript-Bundle. Auch hier ist zu
beachten, dass nicht \Paket{scrpage} verwendet wird. Die Anleitung zu
\Paket{scrpage2} befindet sich im \Doku{scrguide}~\cite{kohm:03}.

\Ersetze{\Use{fancyheadings}}{\Use{fancyhdr}}
\Ersetze{\Use{scrpage}}{\Use{scrpage2}}


\subsubsection{Die \Paket{caption}-Familie}
\label{sec:die-caption-famile}
Das Pakete \Paket{caption2} sollte nicht mehr verwendet werden, da es
eine neue Version (v3.x) von \Paket{caption} gibt.  Man sollte
allerdings darauf achten, dass die neuste Version des Paketes benutzt
wird.  Um dies sicherzustellen, muss man das Paket folgendermaßen laden:
\Ersetze{\Use{caption}}{\UseV{caption}{2003/12/20}}

Hatte man vorher \Paket{caption2} benutzt, dann sollte man unbedingt die
Dokumentation \Doku{anleitung}~\cite[Abschnitt~8]{caption:04} beachten.  

\subsubsection{\Paket{isolatin}, \Paket{umlaut} vs. \Paket{inputenc}}
\label{sec:eingabe-von-umlauten}

\paragraph{Generelles}
\label{sec:generelles}

Im Prinzip gibt es vier Möglichkeiten, Umlaute und andere
nicht-ASCII-Zeichen einzugeben:
\begin{enumerate}
\item \verb+H{\"u}lle+: Der Vorteil dieser Art der Eingabe ist, dass sie
  immer und auf jedem System funktioniert.
  
  Die Nachteile hingegen sind, dass das Kerning\footnote{Einfügen
    positiver bzw. negativer Abstände zwischen Zeichen in Abhängigkeit
    der Zeichenkombination} zwischen den Buchstaben zerstört wird, es
  in einem deutschsprachigen Text äußerst umständlich ist und dass es
  äußerst schlecht lesbar ist.

  Diese Variante sollte man -- auf Grund des Kerningproblems --
  \emph{immer} vermeiden.
  
\item Die Eingabe der Form \verb+H\"ulle+ bzw. \verb+H\"{u}lle+ hat die
  oben genannten Kerningprobleme nicht und ist ebenfalls auf jedem
  System nutzbar.
  
  Die Nachteile bei dieser Art, sind auch hier die aufwändige
  Eingabe und schlechtere Lesbarkeit.
  
  Diese Variante ist die sinnvollste für
  Makrodefinitionen und Stylefiles, da sie encoding- und paketunabhängig
  ist.\label{item:die-eingabe-der}
  
\item Mit \Paket{(n)german} bzw. der Option \Option{(n)german} beim Paket
  \Paket{babel} kann man die Umlaute etwas einfacher (\verb+H"ulle+)
  eingeben. Der Vorteil ist auch hier wieder, dass es auf allen
  Systemen funktioniert. Da \Paket{babel} bzw. \Paket{(n)german} auf
  allen \TeX-Installationen zu finden ist, sollte es auch keine
  Kompatibilitätsprobleme geben. 
  
  Die Nachteile sind auch hier die umständlichere Eingabe und
  schlechtere Lesbarkeit.
  
  Diese Variante ist für Fließtext relativ gut verwendbar. Sollte aber
  in Makrodefinitionen und Präambeln vermieden werden.
  
\item Die direkte Eingabe (\verb+Hülle+). Die Vorteile liegen auf der
  Hand. Der Text ist "`normal"' schreib- und lesbar.
  
  Der Nachteil ist, dass man \LaTeX\ mit der verwendeten
  Eingabekodierung bekannt machen muss und dass es beim Austausch von
  Dateien zwischen verschiedenen Systemen evtl. zu Problemen kommen
  kann.  Das ist \emph{kein} Problem für \TeX\ bzw. \LaTeX\ selbst, aber
  es kann evtl. zu \emph{Darstellungsproblemen} in den Editoren auf den
  verschiedenen Systemen führen.  Zum Beispiel könnte ein in iso-8859-15
  (latin9) kodierter \euro\ in einem Editor unter Windows (CP1252) als
  \textcurrency\ \emph{dargestellt} werden. 

  Diese Variante ist sehr gut für Fließtext verwendbar. Sollte aber
  in Makrodefinitionen und Präambeln vermieden werden.
\end{enumerate}
%
Zusammenfassend kann also gesagt werden, dass man in Makros, Präambeln
und Stylefiles die Form \verb+H\"ulle+ oder \verb+H\"{u}lle+ verwenden
sollte und im übrigen Text entweder \verb+H"ulle+ oder \verb+Hülle+. 

\paragraph{Eingabekodierung}
\label{sec:eingabekodierung-1}

Um die verwendete Kodierung \LaTeX\ bekannt zu machen, sollte man
\emph{nicht} \Paket{isolatin1} bzw. \Paket{isolatin} oder
\Paket{umlaut} verwenden! Diese Pakete sind veraltet bzw. nicht auf
allen Systemen vorhanden.

Korrekt ist das Paket \Paket{inputenc} mit folgenden Optionen zu benutzen:
\begin{description}
\item[latin1/latin9] für unixoide Systeme (\Option{latin1} ist auch unter
  MS~Windows und Mac~OS~X verwendbar)
\item[ansinew] für MS~Windows
\item[applemac] für Macs\footnote{Bei der Verwendung von OS~X sollte
    ebenfalls \Option{latin1/latin9} verwendet werden, da diese Kodierung besser
    für den Dateiaustausch mit Benutzern anderer Betriebssysteme
    geeignet ist als \Option{applemac}.  Allerdings sollte unbedingt die
    Eingabekodierung des verwendeten Editors beachtet werden.  In
    Zukunft wird hoffentlich auch Unicode-Unterstützung in \LaTeX\
    Einzug halten, momentan ist diese allerdings noch experimentell.}
\item[cp850] für OS/2
\end{description}
\Ersetze{\Use{isolatin1}}{\UseO{latin1}{inputenc}}
\Ersetze{\Use{umlaut}}{\UseO{latin1}{inputenc}}

\subsubsection{\Paket{t1enc} vs. \Paket{fontenc}}
\label{sec:schriftkodierung}

Dieses Thema ist in der \Doku{FAQ}~\cite[Punkt 10.1 ff.]{faq:03} eigentlich ausreichend
erörtert. Hier nur kurz der Hinweis, dass das Paket \Paket{t1enc}
veraltet ist und deshalb durch \Paket{fontenc} ersetzt werden sollte!
\Ersetze{\Use{t1enc}}{\UseO{T1}{fontenc}}


\subsubsection{\Bst{natdin} vs. \Bst{dinat}}
\label{sec:liter-nach-din}

Das Stylefile \Bst{natdin} wurde durch \Bst{dinat} ersetzt.
\Ersetze{\Bib{natdin}}{\Bib{dinat}}
\subsection{Schriften}
\label{sec:schriften}

Das Thema "`Schriften und \LaTeX"' ist ein Quell ewiger "`Freude"' in
\News{de.comp.text.tex}, meistens ausgelöst durch die Frage, warum denn
die Schrift im Acrobat\textsuperscript{\textregistered} Reader so
pixelig sei. Die häufigsten \emph{falschen} Antworten auf diese Frage
verweisen auf \Paket{times} bzw. \Paket{pslatex}. Durch die Nutzung
dieser Pakete werden gänzlich andere Schriften eingestellt.

Um "`schöne"' Schriften (Computer Modern) im AR zu erhalten, sei
hiermit auf die \Doku{FAQ}~\cite[Punkte 10.1.7/10.1.8]{faq:03} verwiesen.

Generelle Informationen zu \LaTeXe s New Font Selection Scheme (NFSS)
gibt der \Doku{fntguide}~\cite{fntguide:00}.

\subsubsection{\Paket{times}}
\label{sec:pakettimes}

Das Paket \Paket{times} ist veraltet (siehe \Doku{psnfss2e}
\cite{psnfss:02}). Es stellt \Macro{rmdefault} auf die Schrift "`Times"',
\Macro{sfdefault} auf "`Helvetica"' und \Macro{ttdefault} auf
"`Courier"' um, \emph{ohne} jedoch die passenden Mathematikschriften
einzubinden. Ferner wird die Helvetica nicht korrekt skaliert und
wirkt zu groß. Wenn man die Kombination Times/""Helvetica/""Courier
benutzten möchte, dann folgendermaßen:
\sbox{\Breite}{\UseO{scaled=.95}{helvet}}
\Ersetze{\Use{times}}%
{\parbox[t]{\wd\Breite}{%
    \Use{mathptmx}\\
    \UseO{scaled=.90}{helvet}\\
    \Use{courier}}}


\paragraph{Anmerkung}
\label{sec:anmerkung-1}

Der Skalierungsfaktor für \Paket{helvet} in Kombination mit der Times
sollte zwischen $0.90$ und $0.92$ liegen.

\subsubsection{\Paket{mathptm}}
\label{sec:mathptm}

Das Paket \Paket{mathptm} ist der Vorgänger von \Paket{mathptmx}.
\Ersetze{\Use{mathptm}}{\Use{mathptmx}}


\subsubsection{\Paket{pslatex}}
\label{sec:paketpslatex}

Das Paket \Paket{pslatex} arbeitet intern wie
\Paket{mathptm}$+$ \Paket{helvet} (skaliert), wobei allerdings eine zu
eng laufende Courier gewählt wird. Der Hauptnachteil von
\Paket{pslatex} ist, dass es \emph{nicht} mit T1- und TS1-Encoding
funktioniert.
\Ersetze{\Use{pslatex}}{\parbox[t]{\wd\Breite}{\Use{mathptmx}\\\UseO{scaled=.90}{helvet}\\\Use{courier}}}

\paragraph{Anmerkung zu allen Times/Helvetica-Kombinationen}
\label{sec:anmerkung-zu-allen}

Man kann auch als Schreibmaschinenschrift bei der \texttt{cmtt}
bleiben, also auf das Laden von \Paket{courier} verzichten.

\subsubsection{\Paket{palatino}}
\label{sec:paketpalatino}

Das Paket \Paket{palatino} verhält sich wie \Paket{times} (außer das
natürlich \Macro{rmdefault} auf "`Palatino"' gesetzt wird) und sollte
deshalb nicht mehr benutzt werden.
\Ersetze{\Use{palatino}}{\parbox[t]{\wd\Breite}{\Use{mathpazo}\\\UseO{scaled=.95}{helvet}\\\Use{courier}}}

\paragraph{Anmerkung}
\label{sec:anmerkung-2}
Der Skalierungsfaktor für \Paket{helvet} in Kombination mit der Schrift
Palatino sollte $0.95$ betragen.

Die "`Helvetica"' ist \emph{nicht} die optimale serifenlose Schrift in
Kombination mit der "`Palatino"', aber die beste \emph{freiverfügbare}.
Wer eine (auch ältere) CorelDraw\textsuperscript{\textregistered}-CD
besitzt, kann die "`Palatino"' auch sehr gut mit den Schriften
"`Frutiger"'\footnote{Bitstream "`Humanist 777"', bfr} oder
"`Optima"'\footnote{Bitstream "`Zapf Humanist"', bop} kombinieren.
Walter Schmidt hat auf seiner Homepage\footnote{Schriften für \TeX:
  \url{http://home.vr-web.de/was/fonts}} die entsprechenden
\TeX-Anpassungen veröffentlicht.

\subsubsection{\Paket{mathpple}}
\label{sec:paketmathpple}

Dieses Paket ist der Vorläufer von \Paket{mathpazo}. Ihm fehlen
einzelne Zeichen, die Schriften werden aus den Euler-Fonts genommen,
andere Zeichen passen nicht gut zu Palatino und die Zeichenabstände
sind zum Teil falsch. Genaueres siehe
\Doku{psnfss2e}~\cite{psnfss:02}.


\subsubsection{Aufrechte griechische Buchstaben}
\label{sec:aufr-griech-buchst}

Die im folgenden rot markierten Passagen sind nicht veraltet im Sinne
von "`man soll sie nicht mehr benutzen"', aber es gibt nun mit dem Paket
\Paket{upgreek} eine Vereinfachung der Eingabe. Hinweise zur Benutzung
bitte wie immer der Dokumentation \Doku{upgreek}~\cite{upgreek:01}
entnehmen.

\minisec{Die \Paket{pifont}-Tricks}\nopagebreak[4]
\sbox{\Breite}{\NewCom{uppi}{\LMacro{Pisymbol}{psy}\{112\}}}
\Ersetzx[\wd\Breite]{%
  \Use{pifont}\\
  \NewCom{uppi}{\LMacro{Pisymbol}{psy}\{112\}}\\
  \Macro{uppi}\\
  \textcolor{black}{oder}\\
  \NewCom[{[1]}]{upgreek}{\%\\
    ~\Macro{usefont}\{U\}\{psy\}\{m\}\{n\}\#1}\\
  \LMacro{upgreek}{p}
}%
{%
  \Use{upgreek}\\
  \$\Macro{uppi}\$
}

\minisec{Der \Paket{babel}-Trick}

\Ersetzx[\wd\Breite]{%
  \UseO{greek,\dots}{babel}\\
  \NewCom[{[1]}]{upgreek}{\%\\
    ~\LMacro{foreignlanguage}{greek}\{\#1\}}\\
  \LMacro{upgreek}{p}
  }
  {%
  \Use{upgreek}\\
  \$\Macro{uppi}\$
}

\subsubsection{\Paket{euler} vs. \Paket{eulervm}}
\label{sec:euler-vs-euler}
Das Paket \Paket{euler} sollte durch \Paket{eulervm} ersetzt werden, da
es Kompatibilitätsprobleme mit anderen Paketen ausräumt und einige
Detailverbesserungen enthält:
%
\begin{itemize}
\item \Macro{hbar} (\Macro{hslash} bei dieser Schrift) funktioniert nun sauber
\item Fette Mathematikschriften inklusive griechische Symbole sind möglich.
\end{itemize}
%
Genauere Informationen siehe \Doku{eulervm}~\cite{eulervm:04}.
\Ersetze{\Use{euler}}{\Use{eulervm}}
%-------------------- Abschnitt "Verschiedenes" ---------------------
\clearpage
\section{Verschiedenes}
\label{sec:verschiedenes}

Dieser Abschnitt enthält -- mit Ausnahme von \vref{sec:der-anhang} --
eher allgemeine Tipps und Hinweise als "`Sünden"'.  
\subsection{Gleitumgebungen -- "`figure"', "`table"'}
\label{sec:gleit-figure-table}

Um den Inhalt einer Gleitumgebung zu zentrieren, sollte man
\Macro{centering} an Stelle der \LMacro{begin}{center}-\LMacro{end}{center}-Umgebung
verwenden, da diese zusätzlichen vertikalen Abstand einfügt, der 
meistens nicht erwünscht ist. 
\sbox{\Breite}{\LMacro{includegraphics}{bild}}
\Ersetze{\parbox[t]{\wd\Breite}{%
\Env{figure}{\Env{center}{\LMacro{includegraphics}{bild}}}
  }}%
{\parbox[t]{\wd\Breite}{%
\Env{figure}{\Macro{centering}\\%
  \LMacro{includegraphics}{bild}}
}}


\paragraph{Anmerkung}
\label{sec:anmerkung-4}

Wenn man innerhalb des Fließtextes oder der \verb+titlepage+-Umgebung
einen Bereich zentrieren möchte, kann dieser zusätzliche Abstand
natürlich durchaus erwünscht sein.

\subsection{Der Anhang}
\label{sec:der-anhang}

Der Anhang wird mit dem \emph{Schalter} \Macro{appendix} eingeleitet.
Er ist \emph{keine} Umgebung.
\sbox{\Breite}{\LMacro{begin}{appendix}}
\Ersetze{\parbox[t]{\wd\Breite}{%
  \Env{appendix}%
{\LMacro{section}{Blub}}}}%
{\parbox[t]{.33\textwidth}{%
\Macro{appendix}\\
\LMacro{section}{Blub}
}}

\subsection{Mathematiksatz}
\label{sec:mathematiksatz}

Generell sollte man für komplizierteren Mathematiksatz \Paket{amsmath}
benutzen. Es bietet neue Umgebungen, die vor allem \texttt{eqnarray}
ersetzen sollen. Die Vorteile des Paketes:
\begin{itemize}
\item Abstände innerhalb und außerhalb von Umgebungen sind
  konsistenter.
\item Gleichungsnummern werden so positioniert, dass sie nicht mehr
  überdruckt werden.
\item  Die neuen Umgebungen (z.\,B. \texttt{split}) ermöglichen es,
  lange Gleichungen einfacher zu umbrechen.
\item Einfache Möglichkeit, neue Operatoren (ähnlich wie \Macro{sin}
  usw.) mit sauberen Zeichenabständen zu definieren.
\end{itemize}


\paragraph{Warnung}
\label{sec:warnung}

Bei der Verwendung von \Paket{amsmath} sollte man die Umgebungen
\texttt{displaymath}, \texttt{eqnarray} und \texttt{eqnarray*}
\emph{keinesfalls} weiterverwenden, da diese von \Paket{amsmath} nicht
unterstützt werden %Die Folge wäre wieder inkonsistente Abstände.
und deshalb wieder inkonsistente Abstände ergäben.

\texttt{\TB [\dots\TB]} wird von \Paket{amsmath}
korrekt angepasst und kann an Stelle von \texttt{displaymath} genutzt
werden.  \texttt{eqnarray} und \texttt{eqnarray*} kann in erster
Näherung durch \texttt{align} bzw. \texttt{align*} ersetzt werden.  Für
eine vollständige Übersicht der Möglichkeiten von \Paket{amsmath}
verweise ich auf die Dokumentation \Doku{amsldoc}~\cite{amsldoc:99}.

\sbox{\Breite}{\LMacro{includegraphics}{bild}}
\Ersetze{%
  \parbox[t]{\wd\Breite}{%
    \Env{eqnarray}{%
       a \&=\& b \TB\TB\\
       b \&=\& c \TB\TB\\
       a \&=\& c 
    }
  }}%
  {\parbox[t]{\wd\Breite}{%
      \Env{align}{%
        a \&= b \TB\TB\\
        b \&= c \TB\TB\\
        a \&= c
      }
    }}


\subsection{Die Verwendung von \texttt{\TB graphicspath}}
\label{sec:die-verwendung-von}

Das beliebte Makro~\Macro{graphicspath} sollte aus folgenden Gründen
vermieden und durch die Umgebungsvariable \texttt{TEXINPUTS} ersetzt
werden\footnote{Vgl. David Carlisles Antwort auf Markus Kohms "`Bug-Report"':
\url{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2618}}:
\begin{enumerate}
\item Die Verzeichnistrenner sind \emph{nicht} plattformunabhängig
  (Windows/Unices: \texttt{/}, Macs: \texttt{:}).
\item Die \TeX-Suche dauert länger, als diese Aufgabe durch die
  kpathsea-Bibliothek lösen zu lassen.  (Bei heutigen Prozessoren fällt
  das nicht mehr so ins Gewicht.)
\item Jedes Bild verbraucht einen Teil des begrenzten \TeX-Speichers
  \emph{und} gibt ihn während des gesamten Kompilierens nicht mehr
  frei. 
\end{enumerate}
%
Bei einer Bourne-Shell kann man z.\,B. folgenden Aufruf
\begin{verbatim}
$ TEXINPUTS=Bildverz:$TEXINPUTS latex datei.tex
\end{verbatim}
verwenden, oder in der \verb+~/.profile+ zusätzlich
\begin{verbatim}
export TEXINPUTS=./Bildverz:$TEXINPUTS
\end{verbatim}%$
eintragen.  Bei letzterem werden die Dateien im \texttt{Bildverz}
unterhalb des aktuellen Arbeitsverzeichnisses gefunden.

\noindent
Unter MS~Windows ($\le 98$) setzt man die Variable mittels
\begin{verbatim}
set TEXINPUTS=.\Bildverz;%TEXINPUTS%
\end{verbatim}
in der \texttt{autoexec.bat}.  Bei Windows~NT4 und Windows~2000 kann man
Umgebungsvariablen über \textsf{Systemsteuerung $\rightarrow$ System
  $\rightarrow$ Umgebung} und seit Windows~XP über \textsf{Systemsteuerung $\rightarrow$ System
  $\rightarrow$ Erweitert $\rightarrow$ Umgebungsvariablen} setzen.  

Die hier aufgeführten Vorgehensweisen sind Beispiele. Mir ist durchaus
bewusst, dass man \texttt{TEXINPUTS} auch auf andere Art und Weise
bzw. in anderen Dateien anpassen kann.  Genaueres ist der
Dokumentation des verwendeten Betriebsystems bzw. der \TeX-Distribution zu
entnehmen.


\subsection{Die \texttt{\TB*name}-Makros}
\label{sec:die-macroname-makros}

Da in \News{de.comp.text.tex} von Zeit zu Zeit danach gefragt wird,
wie man zum Beispiel "`Literatur"' in "`Quellenverzeichnis"' ändern
kann, habe ich in Tabelle~\vref{tab:von-paketng-btw} die
entsprechenden Makros zusammengestellt. Sie sind aus \Paket{german}
entnommen.

Um beispielsweise das "`Abbildungsverzeichnis"' in
"`Abbildungen"' umzubennen,
benutzt man folgenden Befehl:
\begin{verbatim}
\renewcommand*{\listfigurename}{Abbildungen}
\end{verbatim}
Die anderen Makros lassen sich analog umbenennen. Bei der Verwendung
von \Paket{babel} muss man mit \Macro{addto} arbeiten. Siehe auch die
\Doku{De-TeX-FAQ}~\cite[Punkt 8.5.9]{faq:03}.

\begin{verbatim}
\addto{\captionsngerman}{%
  \renewcommand*{\listfigurename}{Abbildungen}}
\end{verbatim}
\begin{table}
  \begin{minipage}{\textwidth}
    \renewcommand{\footnoterule}{}
    \centering
    \caption{Von \Paket{(n)german} bzw. \Paket{babel} mit der Option
      \Option{(n)german} definierte Makros}
    \label{tab:von-paketng-btw}
    \begin{tabular}{@{}lll@{}}
      \toprule
      \multicolumn{1}{@{}N}{Makroname}        & 
      \multicolumn{1}{N}{Original Definition} & 
      \multicolumn{1}{N@{}}{deutsche Ausgabe}                                           \\
      \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
      \Macro{prefacename}                     & Preface         & Vorwort               \\
      \Macro{refname}\footnote{Nur in den \texttt{article}-Klassen}
                                              & References      & Literatur             \\
      \Macro{abstractname}                    & Abstract        & Zusammenfassung       \\
      \Macro{bibname}\footnote{Nur in den \texttt{report}- und
      \texttt{book}-Klassen}
                                              & Bibliography    & Literaturverzeichnis  \\
      \Macro{chaptername}                     & Chapter         & Kapitel               \\
      \Macro{appendixname}                    & Appendix        & Anhang                \\
      \Macro{contentsname}                    & Contents        & Inhaltsverzeichnis    \\
      \Macro{listfigurename}                  & List of Figures & Abbildungsverzeichnis \\
      \Macro{listtablename}                   & List of Tables  & Tabellenverzeichnis   \\
      \Macro{indexname}                       & Index           & Index                 \\
      \Macro{figurename}                      & Figure          & Abbildung             \\
      \Macro{tablename}                       & Table           & Tabelle               \\
      \Macro{partname}                        & Part            & Teil                  \\
      \Macro{enclname}                        & encl            & Anlage(n)             \\
      \Macro{ccname}                          & cc              & Verteiler             \\
      \Macro{headtoname}                      & To              & An                    \\
      \Macro{pagename}                        & Page            & Seite                 \\
      \Macro{seename}                         & see             & siehe                 \\
      \Macro{alsoname}                        & see also        & siehe auch            \\
      \bottomrule
    \end{tabular}
  \end{minipage}
\end{table}
\clearpage
\appendix

\section{Beispiel zu \texttt{\TB sloppy}}
\label{sec:beispiel-zu-sloppy}
Hier ist der Beispiel-Code, welchen Markus Kohm  veröffentlicht hat:
\begin{bspcode}{\MID{8557097.gEimXdBtjU@ID-107054.user.dfncis.de}{8557097.gEimXdBtjU@ID-107054.user.dfncis.de}}%
\footnotesize
\begin{verbatim}
\documentclass{article}

\setlength{\textwidth}{20em}
\setlength{\parindent}{0pt}
\begin{document}
\typeout{First without \string\sloppy\space and underfull \string\hbox}

tatata tatata tatata tatata tatata tatata ta\-ta\-tata
tatata tatata tatata tatata tatata tatata tata\-tata
tatata tatata tatata tatata ta\-tatatatt\-ta
tatata tatata tatata tatata tatata tatata ta\-ta\-ta\-ta

\typeout{done.}

\sloppy
\typeout{Second with \string\sloppy\space and underfull \string\hbox}

tatata tatata tatata tatata tatata tatata ta\-ta\-tata
tatata tatata tatata tatata tatata tatata tata\-tata
tatata tatata tatata tatata ta\-tatatatt\-ta
tatata tatata tatata tatata tatata tatata ta\-ta\-ta\-ta

\typeout{done.}
\end{document}
\end{verbatim}
\end{bspcode}

\clearpage
\raggedright
\begin{thebibliography}{99}
\bibitem{amsldoc:99} \textsc{American Mathematical Society}:
  \emph{User's Guide for the {\texttt{amsmath}} Package}. Dezember 1999,
  Version~2.0. \biburl{CTAN://macros/latex/required/amslatex/}.
  
\bibitem{graphicx:99} \textsc{David~P. Carlisle}: \emph{Packages in the
    `graphics' bundle}. Januar 1999.
  \biburl{CTAN://macros/latex/required/graphics/}.
 
\bibitem{kohm:03} \textsc{Markus Kohm}, \textsc{Frank Neukam} und
  \textsc{Axel Kielhorn}: \emph{Das \KOMAScript-Paket}. September 2004,
  Version~2.9t.
  \biburl{CTAN://macros/latex/supported/koma-script/}.

\bibitem{clsguide:99} \textsc{The \LaTeX3 Project Team}: \emph{\LaTeXe{} for
  class and package writers}. März 1999.
  \biburl{CTAN://macros/latex/doc/clsguide.pdf}
  
\bibitem{fntguide:00} \textsc{The \LaTeX3 Project Team}: \emph{\LaTeXe{} font
  selection}. September 2000.
  \biburl{CTAN://macros/latex/doc/fntguide.pdf}

\bibitem{usrguide:01} \textsc{The \LaTeX3 Project Team}: \emph{\LaTeXe{} for
  authors}. Juli 2001.
  \biburl{CTAN://macros/latex/doc/usrguide.pdf}

\bibitem{faq:03} \textsc{Bernd Raichle}, \textsc{Rolf Niepraschk} und
  \textsc{Thomas Hafner}: \emph{Fragen und Antworten (FAQ) über das
    Textsatzsystem {\TeX\ }und DANTE, Deutschsprachige
    Anwendervereinigung {\TeX\ }e.V.} WWW, September 2003, Version~72.
  \biburl{http://www.dante.de/faq/de-tex-faq/}.

\bibitem{eulervm:04} \textsc{Walter Schmidt}: \emph{The Euler Virtual Math
    Fonts for use with {\LaTeX}}. Januar 2004, Version~3.0a.
  \biburl{CTAN://fonts/eulervm/}  

\bibitem{upgreek:01} \textsc{Walter Schmidt}: \emph{The
    {\textsf{upgreek}} package for {\LaTeXe}}.  Mai 2001, Version~1.0.
  \biburl{CTAN://macros/latex/contrib/supported/was/}.
  
\bibitem{psnfss:02} \textsc{Walter Schmidt}: \emph{Using common
    PostScript fonts with {\LaTeX}}.  April 2002, PSNFSS Version 9.0.
  \biburl{CTAN://macros/latex/required/psnfss/psnfss2e.pdf}

\bibitem{l2kurz:99} \textsc{Walter Schmidt}, \textsc{Jörg Knappen},
  \textsc{Hubert Partl} und \textsc{Irene Hyna}:
  \emph{{\LaTeXe}-Kurzbeschreibung}. April 1999, Version~2.1.
  \biburl{CTAN://info/lshort/german/}.

\bibitem{caption:04} \textsc{Axel Sommerfeld}:
  \emph{Setzen von Abbildungs- und Tabellenbeschriftungen mit dem
    caption-Paket}. Juli 2004, Version~3.0c.
  \biburl{CTAN://macros/latex/contrib/caption/}.
\end{thebibliography}
\end{document}
%%% Local variables:
%%% mode: LaTeX
%%% TeX-master: t
%%% coding: iso-8859-1
%%% End: