Änderungen in KOMA-Script-Versionen vor 3.28#
Ab KOMA-Script 3.28 finden sich alle bekannten Probleme und wichtigen Änderungen entweder im Wiki oder im Issue-Tracker. Nachfolgend sind Fehlerbehebungen und Änderungen an früheren Versionen aufgeführt, wobei jeweils die Version genannt wird, in der die Änderung vorgenommen wurde:
Version 3.20 bis 3.27#
3.27
To be continued …
3.26b
To be continued …
3.26a
To be continued …
3.26
To be continued …
3.25
To be continued …
3.24
To be continued …
3.23
To be continued …
3.22
To be continued …
3.21
-
scrartcl,scrbook,scrreprt:- Das Problem mit dem möglichen Seitenumbruch zwischen der Farbeinstellung
einer Überschrift aus dem individuellen Element der Überschrift und der
Ausgabe der Überschrift bei gleichzeitigem Verschwinden der Farbe bei
Überschriften des Stils
sectionwurde behoben. Es muss nun also nicht mehr explizit\nobreaknach\color{…}eingefügt werden. - Die vertikalen Abstände über und unter
\captionwurden korrigiert. Dafür extra das Paketcaptionzu laden, ist also nicht mehr notwendig.
- Das Problem mit dem möglichen Seitenumbruch zwischen der Farbeinstellung
einer Überschrift aus dem individuellen Element der Überschrift und der
Ausgabe der Überschrift bei gleichzeitigem Verschwinden der Farbe bei
Überschriften des Stils
-
scrbase:em,exund das nur beipdflatexundlualatexvorhandenepxwerden von\ifdimals Einheit akzeptiert. Zuvor war das leider nicht der Fall.\ifpdfoutput(bzw. das interne\scr@ifpdfoutput) erkennen nun auch bei LuaLaTeX nach Version 0.85 die PDF-Ausgabe.
-
scrlttr2:- Die Verwendung von
\iteminnerhalb vondescription-Umgebungen führt nun nicht mehr zu einem Fehler:
Der Workaround! Undefined control sequence. \descfont ->\@gr@gsffamily \bfseriesin der Dokumentpräambel entfällt damit.\setkomafont{descriptionlabel}{\sffamily\bfseries}
- Die Verwendung von
-
typearea:- Fehlermeldung
bei Verwendung von LuaLaTeX ohneMissing number, treated as zero. p l.2 \begin{document}\usepackage{luatex85}behoben.
- Fehlermeldung
To be continued …
3.20
-
scrartcl,scrbook,scrreprt,scrlttr2:- Die erste Schriftänderung nach
\begin{document}erfolgt nicht mehr unabhängig von den Einstellungen immer mitparskip=relative.
- Die erste Schriftänderung nach
-
scrartcl,scrbook,scrreprt:- Die Änderung der Formatierung von
\captionvia\KOMAoption{captions=heading}oder\KOMAoptions{captions=signature}funktioniert nun auch innerhalb einerfigure- odertable-Umgebung. Der Workaround der expliziten Verwendung von\captionaboveoder\captionbelowentfällt damit. - Die automatische Ausführung von
\sloppybei Verwendung vontwocolumnals Klassenoption funktioniert nun. Es wird also kein explizites\sloppymehr benötigt. - Der Überschriftenstil
sectionsetzt\parfillskipnun korrekt auf0pt plus 1filwennafterskippositiv ist. Zuvor gab es fälschlich eine Abhängigkeit von einer negativen Einstellung fürbeforeskip. - Die Einstellung
counterwithinfür\DeclareSectionCommanddefiniert nun\theZählername korrekt. - Die Absatzeinstellungen für die Titelseiten bei Verwendung von
titlepage=firstistcoverwurden korrigiert. Die Inhalte von\uppertitlebackund\lowertitlebackum\parindentwerden also nicht mehr zu weit rechts platziert. - Während
\DeclareSectionCommandsetc. weiterhin alle für irgendwelche Stile definierten Optionen akzeptieren, melden\DeclareSectionCommandetc. Optionen, die für den aktuellen Stil nicht definiert sind, als Fehler. - Verzeichniseinträge im Stil
partodersectionbeachten Optiontocindentvon\DeclareSectionCommandetc. - Wie bereits durch entsprechende Warnungen seit KOMA-Script 3.12
angekündigt werden die seit zwanzig Jahren vom LaTeX-Kern selbst nicht
mehr bereitgestellten veralteten Font-Anweisungen
\rm,\sf,\tt,\bf,\it,\sl,\scund\sfbnicht mehr angeboten bzw. melden nun einen Fehler. In der Hilfe zur Fehlermeldung wird ausführlich erklärt, wie man den Fehler ggf. los wird. Dazu gehört für Notfälle auch die vorübergehende Bereitstellung einer Option, die aus der Fehlermeldung wieder eine Warnung macht.
- Die Änderung der Formatierung von
-
scrartcl:\DeclareSectionCommandetc. haben eine neue Optiontocstyle=Verzeichnisstil, mit dem sich der Stil des Verzeichniseintrags bestimmten lässt. Derzeit gibt es folgende klassenspezifischen Stile:part, ein von Stiltoclineabgeleiteter Stil für Einträge der Ebenepart,section, ein von Stiltoclineabgeleiteter Stil für Einträge der Ebenesection,subsection, ein von Stiltoclineabgeleiteter Stil für Einträge der Ebenensubsectionbissubparagraphsowie für Einträge in Verzeichnisse wie das Abbildungs- oder das Tabellenverzeichnis,default, ein von Stilsubsectionabgeleiteter Stil für Einträge nicht vorkonfigurierter Ebenen. Näheres zur Definition und Verwendung von Verzeichniseintragsstilen ist den Erweiterungen für Pakettocbasiczu entnehmen.
-
scrbook,scrreprt:\DeclareSectionCommandetc. haben eine neue Optiontocstyle=Verzeichnisstil, mit dem sich der Stil des Verzeichniseintrags bestimmten lässt. Zunächst gibt es die folgenden klassenspezifischen Stile:part, ein von Stiltoclineabgeleiteter Stil für Einträge der Ebenepart,chapter, ein von Stiltoclineabgeleiteter Stil für Einträge der Ebenechapter,section, ein von Stiltoclineabgeleiteter Stil für Einträge der Ebenensectionbissubparagraphsowie für Einträge in Verzeichnisse wie das Abbildungs- oder das Tabellenverzeichnis,default, ein von Stilsectionabgeleiteter Stil für Einträge nicht vorkonfigurierter Ebenen. Näheres zur Definition und Verwendung von Verzeichniseintragsstilen ist den Erweiterungen für Paket tocbasic zu entnehmen.
-
scrbook:- Bei Verwendung der Voreinstellung
twosidewird nun korrekt\flushbottomausgeführt. Zuvor funktionierte das nur, wenn explizittwosideals Option bei\documentclassangegeben war.
- Bei Verwendung der Voreinstellung
-
scrbase:- Auch bei Verwendung von
polyglossiawerden nun die für die Sprachenngerman,austrian,naustrian,swissodernswissin\captions…definierten Begriffe verwendet, wenn beipolyglossiadie Sprachegermanmit den entsprechenden Einstellungen fürvariantundspellinggewählt wird. Das hat beispielsweise Auswirkungen auf die Ausgabe von\phonenameinscrlttr2oderscrletter. - Neue Anweisung
\ifislengthprimitiv{Anweisung}{Dann-Code}{Sonst-Code}führt Dann-Code genau dann aus, wenn Anweisung eines der Primitive\baselineskip,\parskip,\parindent,\hsize,\vsize,\pdfpagewidth,\pdfpageheightgefolgt von beliebig vielen\relaxist. Anderenfalls wird Sonst-Code ausgeführt. - Neue Anweisung
\ifisdefchar{Anweisung}{Dann-Code}{Sonst-Code}führt Dann-Code genau dann aus, wenn Anweisung eine mit\chardefdefinierte Zeichennummer ist. Anderenfalls wird Sonst-Code ausgeführt. \ifisdimensionwurde neu implementiert. Der Test kann nun etwas zuverlässiger prüfen, ob das erste Argument als Wert für ein\dimen-Register taugt. Allerdings führen viele Syntaxfehler noch immer zu Fehlermeldungen, da nach wie vor eine Heuristik verwendet wird. Eine wirklich zuverlässige Implementierung, die mit der Zuverlässigkeit von\ifisintegervergleichbar wäre, war mir schlicht zu aufwändig.\ifisgluewurde neu implementiert. Der Test kann nun etwas zuverlässiger prüfen, ob das erste Argument als Wert für eine LaTeX-Länge oder ein\skip-Register taugt. Allerdings führen viele Syntaxfehler noch immer zu Fehlermeldungen, da nach wie vor eine Heuristik verwendet wird. Eine wirklich zuverlässige Implementierung, die mit der Zuverlässigkeit von\ifisintegervergleichbar wäre, war mir schlicht zu aufwändig.\ifisintegerwurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer ganzen Zahl gefolgt von beliebig vielen\relaxexpandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar.\ifisnumexprwurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer\numexprgefolgt von beliebig vielen\relaxexpandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar und führt bei fehlerhaften Ausdrücken zu Fehlermeldungen.\ifisglueexprwurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer\glueexprgefolgt von beliebig vielen\relaxexpandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar und führt bei fehlerhaften Ausdrücken zu Fehlermeldungen.\ifisdimexprwurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer\dimexprgefolgt von beliebig vielen\relaxexpandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar und führt bei fehlerhaften Ausdrücken zu Fehlermeldungen.\ifisdimenwurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einem\dimen-Register gefolgt von beliebig vielen\relaxexpandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar!\ifisskipwurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einem\skip-Register gefolgt von beliebig vielen\relaxexpandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar! Wie angedeutet werden\baselineskipund\parskipnicht länger als\skip-Register akzeptiert.\ifiscountwurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einem\count-Register gefolgt von beliebig vielen\relaxexpandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar!
- Auch bei Verwendung von
-
scrhack:scrhackkann jetzt auch vorpdfpagesgeladen werden. Zuvor trat in diesem Fall ein obskurer Fehler während des Ladens vonxpatchinnerhalb deslscape-Hacks auf. Die Ursache lag primär darin, dasspdfpagesunsauberpdflscapevia\AtBeginDocumentlädt, was es natürlich nicht tun sollte. Man muss jetzt also nicht mehr auf die Reihenfolge achten oder selbstpdflscapenoch vorpdfpagesladen.
-
scrjura:- Querverweise auf den ersten Satz eines Paragraphen sind nun bei
Nummerierung dieses Satzes per
\Sentencekorrekt. Der Workaround mit:in der Dokumentpräambel nach dem Laden von\makeatletter \@ifpackagelater{scrjura}{2015/11/03}{}{% \renewcommand*{\contract@sentence}{% \ifvmode \leavevmode \else \refstepcounter{sentence}% \fi \textsuperscript{\thesentence}\nobreak\hskip\z@ } } \makeatotherscrjuraentfällt damit. - Die interne Umdefinierung von
\@doendpeberücksichtigt die Änderungen in LaTeX 2015-01-01.
- Querverweise auf den ersten Satz eines Paragraphen sind nun bei
Nummerierung dieses Satzes per
-
tocbasic: Das Paket hat Unterstützung für Verzeichniseintragsstile erhalten. Es können sowohl neue als auch vorhandene Eintragsebenen mit einem Verzeichniseintragsstil versehen werden. Die Verzeichniseintragsstile bieten unterschiedliche Eigenschaften, die abhängig von der Ebene unterschiedliche Einstellungen haben können. Darüber werden dann beispielsweise Einzug und Nummernbreite festgelegt. Es gibt auch sehr flexible Eintragsstile, bei denen das Aussehen des Eintrags weitreichend über Eigenschaften beeinflusst werden kann. Zentral für die Verwendung von Verzeichniseintragsstilen sind folgende Befehle:\DeclareTOCEntryStyle{Stil}[Initialisierungscode]{Code}erlaubt die Definition eines neuen Verzeichniseintragsstils.\DeclareTOCStyleEntry[Optionenliste]{Eintragsebene}{Stil}erlaubt einer Eintragsebene einen Stil zuzuweisen und über die Optionenliste dabei die Eigenschaften festzulegen bzw. zu ändern.
Mehrere Verzeichnisstile sind vordefiniert. Die Eigenschaften der Verzeichnisstile können bei Verwendung einer KOMA-Script-Klasse auch über
\DeclareSectionCommandetc. gesetzt werden. Dazu sind die Eigenschaften der Verzeichnisstile mit dem Präfixtoczu versehen. Vordefiniert sind folgende Verzeichniseintragsstile:gobble: Der einfachste Stil, der vorstellbar ist. Er tut schlicht nichts, vernichtet also die Einträge quasi und das unabhängig von deren Ebene.largetocline: Das ist der von den Standardklassen bekannte Stil für Einträge der Ebenepart. Er existiert tatsächlich nur aus Gründen der Kompatibilität und als Beispielimplementierung für Paketautoren. Es empfohlen, stattdessen den sehr viel mächtigeren Stiltoclineentsprechend konfiguriert zu verwenden.undottedtocline: Das ist der von den Standardklassen bekannte Stil für Einträge der Ebenechapter(Klasse book und Klasse report) bzw.section(Klasse article). Er existiert tatsächlich nur aus Gründen der Kompatibilität und als Beispielimplementierung für Paketautoren. Es empfohlen, stattdessen den sehr viel mächtigeren Stiltoclineentsprechend konfiguriert zu verwenden.dottedtocline: Das ist der von den Standardklassen bekannte Stil für Einträge aller Art. Er basiert auf der Anweisung\@dottedtoclineund existiert tatsächlich nur aus Gründen der Kompatibilität und als Beispielimplementierung für Paketautoren. Es empfohlen, stattdessen den sehr viel mächtigeren Stiltoclineentsprechend konfiguriert zu verwenden.tocline: Stark konfigurierbarer Stil für ein- und mehrzeilige Verzeichniseinträge. Davon abgeleitete Stile werden auch von den KOMA-Script-Klassen für sämtliche Einträge in das Inhaltsverzeichnis oder Gleitumgebungsverzeichnisse wie das Abbildungs- oder Tabellenverzeichnis verwendet.
Näheres zu Verzeichnisstilen ist der Anleitung zu entnehmen.
-
typearea:- Bis Version 3.18a wurden im Zusammenspiel mit den KOMA-Script-Klassen
innerhalb des (ersten) optionalen Arguments von
\documentclassbei Abfolgen der Optionenheadsepline(nur ohne Wert oder mit den Werten fürtrueoderfalse) undheadincludedie Einstellungen fürheadincludeimmer bevorzugt. Das geschah aufgrund eines Bugs. Durch Behebung des Bugs wirkte sich ab Version 3.18a nun ein Designfehler aus, der dazu führte, dassheadsepline=true(oder entsprechendes) sich durchsetzt. Tatsächlich gewünscht ist, dass sich immer die letzte Einstellung durchsetzt, was nun auch der Fall ist. - Bis Version 3.18a wurden im Zusammenspiel mit den KOMA-Script-Klassen
innerhalb des (ersten) optionalen Arguments von
\documentclassbei Abfolgen der Optionenfootsepline(nur ohne Wert oder mit den Werten fürtrueoderfalse) undfootincludedie Einstellungen fürfootincludeimmer bevorzugt. Das geschah aufgrund eines Bugs. Durch Behebung des Bugs wirkte sich ab Version 3.18a ein Designfehler aus, der dazu führt, dassfootsepline=true(oder entsprechendes) sich durchsetzt. Tatsächlich gewünscht ist, dass sich immer die letzte Einstellung durchsetzt, was nun auch der Fall ist.
- Bis Version 3.18a wurden im Zusammenspiel mit den KOMA-Script-Klassen
innerhalb des (ersten) optionalen Arguments von
Version 3.10 bis 3.19a#
3.19a
scrbook:- Kapitel werden nach
\frontmatter(bis\mainmatter) und nach\backmatternicht mehr nummeriert (schon gar nicht, ohne die Nummer zu erhöhen).
- Kapitel werden nach
3.19
-
scrartcl,scrbook,scrreprt,scrlttr2:- Bei den Optionen
parskip=half*,parskip=half+,parskip=full*undparskip=full+wird\parfillskipnun korrekt berechnet. Durch die zuvor fehlerhafte Berechnung endten alle Absätze mit einer Winzigzeile und es kam teilweise auch zu vielenoverfull \hbox-Meldungen.
Der frühere Workaround, in der Dokumentpräambel bei Verwendung einer der genannten Optionen unmittelbar nach dem Laden der Klasse bzw. nach der Anweisung zum Setzen der Optioneinzufügen, entfällt damit.\makeatletter \ifx\par@update\default@par@update\else \AtBeginDocument{\par@updaterelative} \fi \makeatother
- Bei den Optionen
-
scrartcl,scrbook,scrreprt:\DeclareSectionCommandetc. kennen als Umkehrung voncounterwithinnun auch eine Eigenschaftcounterwithout.- Neue Anweisung
\sectionlinesformat{Ebene}{indent}{Nummer}{Text}zur eigentlichen Formatierung von Überschriften imsection-Stil, wenn ein- oder mehrzeilige Überschriften verwendet werden. Die Ebene ist dabei der Name der Gliederungsebene, also beispielsweisesection,subsectionetc. Für nicht nummerierte Überschriften ist Nummer ggf. leer. Bei Umdefinierung ist der Anwender ggf. selbst dafür verantwortlich, dass zwischen den Zeilen der Überschrift kein Seitenumbruch erfolgen kann. Das Absatzende wird hingegen nach der Formatierungsanweisung automatisch herbeigeführt. - Neue Anweisung
\sectioncatchphraseformat{Ebene}{indent}{Nummer}{Text}zur eigentlichen Formatierung von Überschriften imsection-Stil, wenn Spitzmarken verwendet werden. Die Ebene ist dabei der Name der Gliederungsebene, also beispielsweisesection,subsectionetc. Für nicht nummerierte Überschriften ist Nummer ggf. leer.
-
scrbook,scrreprt:- Neue Anweisung
\chapterlinesformat{Ebenenname}{Nummer}{Text}zur eigentlichen Formatierung von Überschriften imchapter-Stil, wenn ein- oder mehrzeilige Überschriften mit hängender Nummer verwendet werden. Für nicht nummerierte Überschriften ist Nummer ggf. leer. Bei Umdefinierung ist der Anwender ggf. selbst dafür verantwortlich, dass zwischen den Zeilen der Überschrift kein Seitenumbruch erfolgen kann. Das Absatzende wird hingegen nach der Formatierungsanweisung automatisch herbeigeführt. - Neue Anweisung
\chapterlineswithprefixformat{Ebenenname}{Nummer}{Text}zur eigentlichen Formatierung von Überschriften imchapter-Stil, wenn mehrzeilige Überschriften mit Nummerpräfixzeile verwendet werden. Für nicht nummerierte Überschriften ist Nummer ggf. leer. Ansonsten beinhaltet Nummer neben den Fonteinstellungen auch das\chapterheadmidvskipfür den vertikalen Abstand nach der Nummer.
- Neue Anweisung
-
scrlttr2,scrletter:- Ist eine nicht leere Anweisung
\letterpagestyledefiniert, so legt der Inhalt innerhalb von\begin{letter}per\pagestyle{\letterpagestyle}den Seitenstil von Briefen fest. Während die Anweisung bei scrlttr2 leer voreingestellt ist, sorgt sie beim Paket scrletter mit dem Inhaltplain.letterdafür, dass der plain-Stil des Seitenstil-Paarsletterverwendet wird. - Briefe werden referenzierbar nummeriert. Der Zählername dafür lautet
konsequenter Weise
letter, obwohl ich mir bewusst bin, dass einige Anwender bereits einen gleichnamigen Zähler verwenden, der nun eventuell doppelt erhöht wird. Das lässt sich aber auf Anwenderseite ganz einfach dadurch ändern, dass der eigene Zählercode deaktiviert wird. Die Nummer des aktuellen Briefes lässt kann mit\thisletterermittelt werden. Im Gegensatz zu\theletterwird dabei auch ein eventuell definierter Präfix (\p@letter) berücksichtigt. Es ist Sorge getragen, dass auch\ref{\thisletter.lastpage}einen korrekten Wert ergibt, nämlich letztlich dasselbe wie\thisletter. \letterlastpagegibt die letzte Seitenzahl des aktuellen Briefes aus. Letztlich ist das nichts anderes als ein\pageref{\thisletter.lastpage}.
- Ist eine nicht leere Anweisung
-
scrbase:- In die Ausführung des Codes von Schlüsseln ohne Säumniswert wird kein
störendes Leerzeichen mehr am Ende eingefügt. Dieser Fehler betraft über
\DefineFamilyKeyauch davon abgeleitete Befehle wie\FamilyBoolKey, bei denen der Anwender keinen Einfluss auf den Code hat. - Obwohl
\baselineskipund\parskiptatsächlich keine skip-Register sind, sondern Primitive mit ähnlicher Funktion, werden sie still und leise von\ifisskipals skip akzeptiert.
Hinweis: Diese Änderung steht bis auf weiteres zur Disposition, da sie genau genommen ein Verstoß gegen die Spezifikation darstellt und inkonsequent ist (so wird beispielsweise derzeit\pdfpaperwidthnicht als dimen behandelt, obwohl das vergleichbar wäre).
- In die Ausführung des Codes von Schlüsseln ohne Säumniswert wird kein
störendes Leerzeichen mehr am Ende eingefügt. Dieser Fehler betraft über
-
scrhack:- Es gibt einen neuen Hack
lscape, der eine Inkonsistenz und ein Problem mit der Behandlung von\textheightinnerhalb derlandscape-Umgebung deslscape-Pakets beseitigt. Dieser Hack verbessert nicht nur die Zusammenarbeit vonlscapemitscrlayer, sondern beispielsweise auch mitshowframe. Bei Bedarf lässt sich die Wirkung des Hacks auch zur Laufzeit deaktivieren (und reaktivieren) wenn der Hack beim Laden vonlscapebzw.scrhacknicht deaktiviert ist.
Hinweis: Selbstverständlich wurde eine Verbesserung direkt inlscapeangestrebt – leider vergeblich.
- Es gibt einen neuen Hack
-
scrlayer:- Das neue Ebenenattribut
modelegt fest, auf welche Weise eine Ebene ausgegeben wird. Vordefiniert sind die Wertetextundraw, die beide dem bisherigen Verfahren entsprechen undpicturedie den Inhalt innerhalb einerpicture-Umgebung ausgeben, deren Ursprung in der linken unteren Ecke der Ebene liegt. In diesempicture-Modus gibt es außerdem die Befehle:\putLL{Argument}: zur Ausgabe von Argument relativ zur linken, unteren Ecke der Ebene,\putUL{Argument}: zur Ausgabe von Argument relativ zur linken, oberen Ecke der Ebene,\putLR{Argument}: zur Ausgabe von Argument relativ zur rechten, unteren Ecke der Ebene,\putUR{Argument}: zur Ausgabe von Argument relativ zur rechten oberen Ecke der Ebene,\putC{Argument}: zur Ausgabe von Argument relativ zum Zentrum der Ebene.
- Innerhalb von Ebenen kann mit
\layerhalignauf die horizontale Ausrichtung der Ebene zugegriffen werden, die bei der Definition der Ebene aus der Eigenschaftalignresultiert. - Innerhalb von Ebenen kann mit
\layervalignauf die vertikale Ausrichtung der Ebene zugegriffen werden, die bei der Definition der Ebene aus der Eigenschaftalignresultiert. Diese Information wird ggf. zur Definition eines eigenen Ebenenmodus benötigt.
- Das neue Ebenenattribut
-
typearea:- Die Fehlermeldung über einen nicht definierten Befehl
\set@pdftextpagesizebei Verwendung von Optionpagesize=automediawurde beseitigt. Der Workaround mitin der Dokumentpräambel entfällt daher.\makeatletter \def\set@pdftextpagesize{\set@pdftexpagesize} \makeatother
- Die Fehlermeldung über einen nicht definierten Befehl
3.18
-
scrartcl,scrbook,scrreprt:- Entgegen jeglicher Überzeugung und verm. ohne jegliche Dokumentation
werden die Optionen
index=numbered,index=leveldown,index=standardlevelundtoc=indexnumberednun doch verstanden. Support gibt es dafür aber nicht! \partund\part*werden per\DeclareSectionCommanddefiniert. Dazu wird der Stilpartvollständig unterstützt.\addpartwurde komplett neu implementiert und verwendet intern nun\part[…]{…}. Daher verwendet es (im Gegensatz zu\addpart*) auch nicht mehr\addpartmarksondern (indirekt)\partmarkund wenn dieses\@gobbleist sogar\@mkboth{}{}(\addpart*macht das auch, aber verwendet derzeit überflüssiger Weise zusätzlich\addpartmark{}).\addsecwurde komplett neu implementiert und verwendet intern nun\section[…]{…}. Daher verwendet es (im Gegensatz zu\addsec*) auch nicht mehr\addsecmarksondern (indirekt)\sectionmark.
- Entgegen jeglicher Überzeugung und verm. ohne jegliche Dokumentation
werden die Optionen
-
scrbook,scrreprt:- Mit der Anweisung
\IfChapterUsesPrefixLine{Dann-Code}{Sonst-Code}kann Code in Abhängigkeit davon ausgeführt werden, ob Überschriften im Stilchaptermit einer Präfixzeile gesetzt werden oder nicht. Dabei wird auf Optionchapterprefixbzw.appendixprefixgetestet, so dass die Anweisung im Gegensatz zu\IfUsePrefixLineauch außerhalb von Gliederungsbefehlen gültig ist. \addchapwurde komplett neu implementiert und verwendet intern nun\chapter[…]{…}. Daher verwendet es (im Gegensatz zu\addchap*) auch nicht mehr\addchapmarksondern (indirekt)\chaptermark.\DeclareSectionCommandkennt für den Stilpartzusätzlich die Eigenschaftinnerskip, die den Abstand zwischen Präfixzeile und Überschriftentext festlegt und für die Definition von Überschriften dieses Stils zwingend ist.\DeclareSectionCommandkennt für den Stilpartzusätzlich die Eigenschaftpagestyle, die den Seitenstil der Startseite festlegt und für die Definition von Überschriften dieses Stils zwingend ist.\DeclareSectionCommandkennt für den Stilchapterzusätzlich die Eigenschaftpagestyle, die den Seitenstil der Startseite festlegt und für die Definition von Überschriften dieses Stils zwingend ist.- Der Überschriftenstil
chapterist so weit vervollständigt, dass man beispielsweise den Stil von\sectioninchapterändern kann oder eine umdefinierte Anweisung\chaptermit\RedeclareSectionCommand{chapter}wieder auf ihre ursprüngliche Definition zurück ändern kann. - Die
beforeskip-Voreinstellung von\chapterwurde negiert. Damit entfällt nach\RedeclareSectionCommand[style=section]{chapter}der Einzug nach der Überschrift genau wie bei den vordefinierten Überschriften im Stilsection.
- Mit der Anweisung
-
scrbase:- Kann bereits vor
\documentclassgeladen werden. - Mit der Anweisung
\BeforeFamilyProcessOptions[Mitglied]{Familie}{Code}kann man (ggf. auch bereits bevor das Paket oder die Klasse geladen ist) Code unmittelbar vor die Ausführung von\FamilyProcessOptionsin dem Paket oder der Klasse des angegebenen Mitglieds ausführen lassen. Ist das Mitglied leer (aber angegeben), so wird Code für jedes Mitglied der Familie ausgeführt.
- Kann bereits vor
-
scrlayer,scrlayer-scrpage:- Bei Kombination mit der Klasse
scrlttr2funktioniert deren Optionpagenumberfür Seitenzahlen im Fuß links oder rechts nun korrekt. Der Workaround, selbst mit\lofoot{\pagemark}oder\rofoot{\pagemark}nachzuhelfen entfällt. - Bei Verwendung von
multicolsind Hintergrundebenen nun nicht mehr vertikal um ca. eine Zeile (bzw.\ht\strutbox) nach oben verschoben, während diemulticols-Umgebung aktiv ist. Das Problem betraf beispielsweise die Kopfzeilen vonscrlayer-scrpage(solange man sie nicht in den Vordergrund verschob).
- Bei Kombination mit der Klasse
-
scrlayer:- Von
\ForEachLayerOfPageSylegibt es eine Sternvariante, bei der die eigentliche Ausführung nicht mehr innerhalb einer Gruppe erfolgt. Mit der Sternvariante sind dann Aufrufe wie unlängst auf goLaTeX vorgeschlagen möglich. - Neues Ebenenattribut
backandforeground, das die Einschränkung auf Vorder- oder Hintergrund aufhebt. Dieses Attribute ist wenig sinnvoll und besteht nur aus Gründen der Vollständigkeit. - Neues Ebenenattribut
oddorevenpage, das die Einschränkung auf gerade oder ungerade Seiten aufhebt. - Neues Ebenenattribut
floatornonfloatpage, das die Einschränkung auf Gleitumgebungsseiten oder Nicht-Geitumgebungsseiten aufhebt. - Neues Ebenenattribut
everypage, dasoddorevenpageundfloatornonfloatpagevereint. - Neues Ebenenattribute
everyside, das die Einschränkung auf einseitige- oder doppelseitige Dokumente aufhebt. - Neues Ebenenattribut
unrestricted, das alle einschränkenden Attribute aufhebt. Da dies auch die Einschränkung auf Vorder- oder Hintergrund einschließt, ist es sinnvoll, danach wiederumbackgroundoderforegroundexplizit zu setzen.
- Von
-
scrlayer-scrpage:- Das erste optionale Argument von
\setheadtopline,\setheadsepline,\setfootseplineund\setfootbotlinefunktioniert nun wieder wie beiscrpage2. Zuvor wurde die Linienlänge (auch bei nicht gesetztem optionalem Argument) immer auf die Kopf- bzw. Fußbreite gesetzt.
Dessen ungeachtet wird empfohlen, diese veralteten Befehle nicht mehr zu verwenden und stattdessen die entsprechenden Optionen vonscrlayer-scrpagezu nutzen.
- Das erste optionale Argument von
-
tocbasic:- Von
\DeclareNewTOCwerden nun beim Weglassen vonnameoderlistnamedie Einstellungen für diese Optionen korrekt erzeugt. Die zuvor verwendete, defekte Methode resultierte in unerwünschtem Versalsatz in Überschriften oder Verzeichniseinträgen und konnte auch komplett falsche Namen generieren. - Bei
\DeclareNewTOCmuss das Argument vontypeexpandierbar sein. Nicht expandierbare Teile sind durch\protectzu schützen.
- Von
-
typearea:- Mit den Anweisungen
\BeforeRestoreareas{Code}und\AfterRestoreareas{Code}kann Code am Anfang bzw. Ende der mit\storeareasdefinierten Anweisungen ausgeführt werden. Es gibt auch jeweils eine Sternvariante der Befehle, die sich nur auf zukünftig per\storeareasdefinierte Anweisungen auswirken.
- Mit den Anweisungen
3.17c
-
scrlttr2:- Der Alias
titlefür das neue Elementlettertitlefunktioniert nun. Es wird dennoch empfohlen künftig direktlettertitlezu verwenden, um den Umstieg auf das Paketscrletterzu erleichtern. - Der Alias
subjectfür das neue Elementlettersubjectfunktioniert nun. Es wird dennoch empfohlen künftig direktlettersubjectzu verwenden, um den Umstieg auf das Paketscrletterzu erleichtern.
- Der Alias
-
typearea:- Die Meldung über eine nicht geschlossene Gruppe und die Warnung vor
Verwendung von
\typeareainnerhalb group level 2 bei Verwendung von Optionpagesize=falsebeim Laden vontypeareawurde beseitigt. - Mit Option
pagesize=falsekann nun wirklich verhindert werden, dass der (neue) Defaultpagesize=autoaktiv wird.
- Die Meldung über eine nicht geschlossene Gruppe und die Warnung vor
Verwendung von
3.17a
scrjura:- Will man die Paragraphen bei neu definierten juristischen Umgebungen
automatisch nummerieren lassen, so wurde fälschlich als Nummer immer die
des aktuell letzten Paragraphen einer
contract-Umgebung angegeben. Dies wurde korrigiert. - Will man die Unterparagraphen bei neu definierten juristischen Umgebungen
automatisch nummerieren lassen, so wurde als Nummer fälschlich immer die
des aktuell letzten Unterparagraphen einer
contract-Umgebung angegeben. Dies wurde korrigiert.
- Will man die Paragraphen bei neu definierten juristischen Umgebungen
automatisch nummerieren lassen, so wurde fälschlich als Nummer immer die
des aktuell letzten Paragraphen einer
3.17
-
In den Anleitungen wurden die Tabellen 21.1 und 21.3 korrigiert. Diese waren in früheren Versionen nicht mehr korrekt. Die dort angegebenen Werte für die Abstände stimmten zwar, allerdings werden diese auf andere Weise realisiert. Wer die korrekte Definition wissen muss, kann sie übrigens derzeit per
\show\chapterheadendvskipetc. abfragen. Sollen hingegen nur die Abstände geändert werden, so sei die Verwendung von\RedeclareSectionCommandempfohlen. -
scrartcl,scrbook,scrreprt:- Problem behoben, dass
\addpart, wenn\partmarknicht\@gobbleist, immer\@mkbothmit leerem zweitem Argument verwendet hat. Dadurch konnte im Zusammenspiel mitscrlayerauch bei\automark[part]{part}keine zwei Marken für den Kolumnentitel gesetzt werden. - Die Absatzeinstellungen werden bei später Änderung der Grundschriftgröße
nun korrekt angepasst. Allerdings kann dies durch Option
version=3.16(oder kleiner) deaktiviert werden. - Die Abstände, die über
\DeclareSectionCommandetc. für die Überschriften oder das Inhaltsverzeichnis eingestellt sind, ändern sich nun wenn nach\documentclassdie Grundschriftgröße geändert wird. - Die Anweisung
\useshapeofkomafontheißt nun wirklich so. Der Workaround mit der Zeile:in die Dokumentpräambel entfällt.\providecommand*\useshapeofkomafont{\useshaperofkomafont} - Analog zu
\addchapmarkseit KOMA-Script 3.12 gibt es jetzt ein\addpartmark. - Eine späte Änderung der Grundschriftgröße über Option
fontsizeoder\changefontsizepasst die über KOMA-Script-Methoden vorgenommenen Absatzeinstellungen an. Dies erfordert allerdings auch eine Änderung der Schriftgrößendateien, so dass selbst erstellte oder erzeugte Schriftgrößendateien diese Änderung ggf. nicht enthalten.
Da die Änderung die Kompatibilität beeinträchtigt, wird sie bei Einstellungen fürversion=3.16(oder kleiner) nicht ausgeführt. \RedeclareSectionCommandkann über die zusätzliche Eigenschaftprefixfont=Fonteinstellung auch die Fonteinstellung der Präfixzeile in Kapitelüberschriften mit Präfixzeile und der Nummer in Teileüberschriften verändern. (Namen könnte sich bei Teileüberschriften eventuell noch ändern).\RedeclareSectionCommandkann über die zusätzliche Eigenschaftinnerskip=Abstand auch den Abstand zwischen Prefixzeile und Textzeile in Kapitel- und Teileüberschriften mit Präfixzeile verändern.\DeclareSectionCommandetc. expandieren Werte für Längen zwar weiterhin, werten diese aber in der Voreinstellung nur testweise aus. Mit der zusätzlichen Eigenschaftexpandtopt=einfacher Schalter kann jedoch auch weiterhin dafür gesorgt werden, dass das Ergebnis der Auswertung (also der pt-Wert) an Stelle des expandierten Werts gespeichert wird.- Die späte Wahl von Option
twosideverhält sich bezüglich des vertikalen Ausgleichs nun wie die frühe Wahl der Option.
Da die Änderung die Kompatibilität beeinträchtigt, wird bei Einstellungen fürversion=3.16(oder kleiner) stattdessen ein zu früheren Versionen kompatibles Verhalten gewählt. - Die späte Wahl von Option
twocolumnverhält sich bezüglich des vertikalen Ausgleichs und\sloppywie die frühe Wahl der Option. Allerdings führt ein Deaktivieren vontwocolumndabei nicht zu\fussy. Das bedeutet insbesondere, dass ein\KOMAoption{twocolumn}{true,false}einem\sloppygleich kommt.
Da die Änderung die Kompatibilität beeinträchtigt, wird bei Einstellungen fürversion=3.16(oder kleiner) stattdessen ein zu früheren Versionen kompatibles Verhalten gewählt. - Bereits seit KOMA-Script 3.15 werden für alle Gliederungsebenen
\…format-Anweisunen definiert. Bisher wurden aber nur\partformatund\chapterformatverwendet und für die anderen Ebenen stattdessen\othersectionlevelsformat. Da letztere Anweisung etwas schwer zu verstehen ist, wird sie künftig nur noch verwendet, wenn keine\…format-Anweisung vorhanden ist. Stattdessen werden die\…format-Anweisungen nun bei allen Ebenen auch wirklich verwendet. Das hat allerdings zur Konsequenz, dass einige bisherige Lösungen, die auf\othersectionlevelsformatbasieren, nur noch funktionieren, wenn man\sectionformatbis\subparagraphformatabsichtlich auf\relaxsetzt. Diese Änderung ist über Optionversionabgesichert.
- Problem behoben, dass
-
scrfontsizes:- Die Definition von
\footnotesizein der erzeugten Datei wurde korrigiert. Man muss die Datei jetzt also nicht mehr editieren, um in der Definition von\footnotesizedas\smallganz am Anfang durch\footnotesizezu ersetzen.
- Die Definition von
-
scrhack:- Es gibt einen neuen Hack
setspace. Das gleichnamige Paketsetspacedefiniert\onehalfspacingund\doublespacingunter Verwendung von\@ptsize. Dabei geht es davon aus, dass das klasseninterne Makro\@ptsizeimmer definiert ist und immer zu einer ganzen Zahl expandiert. Schon davon auszugehen, dass\@ptsizedefiniert ist, ist fragwürdig, da nicht festgelegt ist, dass Klassen dieses Makro definieren müssen. Dann auch noch davon auszugehen, dass es immer zu einer ganzen Zahl expandiert, ist schlicht im Fall von KOMA-Script falsch. Da KOMA-Script gebrochene Schriftgrößen erlaubt, kann\@ptsizeauch zu einer gebrochenen Dezimalzahl expandieren. Außerdem arbeitetsetspaceaufgrund der Verwendung von\@ptsizenie relativ zur tatsächlichen Schriftgröße, sondern relativ zur angeforderten Grundschriftgröße, die davon abweichen kann (und es bereits im Fall von11ptauch tut). Mitscrhackwird zumindest relativ zur aktuellen Größe gearbeitet und es funktioniert auch mit gebrochenen Schriftgrößen. Die Abhängigkeit von\@ptsizeentfällt dabei. Eine (eigentlich notwendige) Anpassung an spätere Änderungen der Schriftgröße findet aber auch damit nicht statt. Damit ist der aktuelle Hack eine Verbesserung aber meiner Meinung nach noch nicht der Idealfall. Für den Idealfall müsste man das Paket grundlegend neu schreiben.
- Es gibt einen neuen Hack
-
scrlayer-scrpage:- Die nicht dokumentierte Verwendung von
headtopline=false,headsepline=false,footsepline=falseoderfootbotline=falseführt nun genau wie bisher schon bei den ebenfalls nicht dokumentiertenheadtopline=true,headsepline=true,footsepline=trueundfootbotline=truezu keiner Fehlermeldung mehr.
Hinweis: Obwohl die Möglichkeit dieser symbolischen Werte nicht dokumentiert ist, wird zukünftig auchfalsefunktionieren, weil Anwender offenbar nicht in der Lage sind, die Funktion von globalen Optionen zu verstehen, sich aber andererseits genau darauf ständig verlassen. - Die Alias-Warnung für das Element
pagehead, die bei Verwendung vonscrlayer-scrpagezusammen mitscrlttr2(oderscrletter) auftrat, wurde nun korrekt deaktiviert.
- Die nicht dokumentierte Verwendung von
-
scrletter,scrlttr2:- Da
\dateeine Anweisung des LaTeX-Kerns ist, kann man die Variabledatederzeit auch darüber verändern, ohne dass sich die Klasse oder das Paket darüber beschwert. Allerdings funktioniert das nur so lange, bis es jemand richtig macht und beispielsweise\setkomavar{date}{\today}aufruft. Danach kann man mit\datenichts mehr erreichen.
Hinweis: Es ist in der Anleitung ausdrücklich dokumentiert, dass man\setkomavar{date}{…}verwenden soll, um das Datum einzustellen. Daher ist das Verhalten kein Fehler, sondern korrekt.
Hinweis: Zukünftig wird die Verwendung von\datemin. eine Warnung ergeben, damit die ganzen Leute, die entsprechend fehlerhafte Vorlagen verbreiten, den verdienten Tritt in den Hintern bekommen! - Da die KOMA-Script-Klassen bereits ein Element
titlekennen, kann das Paketscrletterkein eigenes solches Element definieren und verwendet stattdessen nun nicht mehr die Schrifteinstellung des Elements der KOMA-Script-Klassen. Dessen Voreinstellung entspricht nämlich nicht dem des gleichnamigen Elements beiscrlttr2. Stattdessen wird nun das Elementlettertitleverwendet. - Da die KOMA-Script-Klassen bereits ein Element
subjectkennen, kannscrletterkein eigenes solches Element definieren und verwendet stattdessen nunn nicht mehr die Schrifteinstellung des Elements der KOMA-Script-Klassen. Dessen Voreinstellung entspricht nämlich nicht dem des gleichnamigen Elements beiscrlttr2. Stattdessen wird nun das Elementlettersubjectverwendet. - Mit der neuen Einstellung
addrfield=topalignedwird die Anschrift nicht mehr vertikal im Adressfenster zentriert, sondern oben ausgerichtet.
- Da
-
scrletter:- Da die KOMA-Script-Klassen die Paginierungsanweisung
\pagemarkbereits anderweitig definiert haben, kannscrletterdiese nicht einfach neu vordefinieren. Daher erfolgt die Paginierung beiscrletternicht mit „Seite Nummer“, sondern in der Voreinstellung der verwendeten KOMA-Script-Klasse. - Für Paginierung mit „Seite Nummer“ wird eine neue Paginierungsanweisung
\letterpagemarkbereitgestellt, die auch von den vordefinierten Seitenstilen verwendet wird. - Während bei
scrlttr2Optionheadseplineauch eine Linie in den Kopf der Seiten im voreingestellten Seitenstilplainerzeugt, wird diese beiscrletterfürplain.letternur bei zusätzlicher Verwendung vonplainheadseplineangezeigt. Dies ist beabsichtigt, da es konsistent mit dem Verhalten von Linien bei anderen Seitenstilpaaren ist.
- Da die KOMA-Script-Klassen die Paginierungsanweisung
-
scrlttr2:- Das Element
titleist nun nur noch ein Aliasname für das neue Elementlettertitle. - Das Element
subjectist nun nur noch ein Aliasname für das neue Elementlettersubject.
- Das Element
-
typearea:- Entsprechend der Anleitung führt ein Wechsel der Einstellung von Option
twosideauf eine neue rechte Seite, wenn zuvor der doppelseitige Modus aber gleichzeitigopen=leftaktiv war. Der Workaround, vor der Änderung vontwoside\cleardoubleoddpageaufzurufen entfällt. - Innerhalb von
\activateareas– und damit auch innerhalb von\recalctypearea,\typearea,\areasetoder Änderungen vonDIVoderBCOR– wird nun\par@updaterelativeausgeführt. Das bedeutet, dass dieparskip- oder\setparsizes-Einstellungen erneut ausgeführt werden, vorausgesetzt niemand hat nachträglich an\parskip,\parfillskipoder\parindentgefummelt. Da die Änderung inkompatibel zu früheren Versionen ist, ist sie überversionabgesichert. - Option
pagesizeist Voreinstellung.
Hinweis: Die Änderung erfolgte nicht aus echter Überzeugung, sondern wegen nerviger Fragen im Support von Leuten, die nicht in der Lage sind die Anleitung zu lesen. Bei Verwendung von Paketpreviewoderstandalonesollte man die Option auch besser explizit abschalten.
- Entsprechend der Anleitung führt ein Wechsel der Einstellung von Option
3.16
-
Die deutschen Anleitungen werden wieder mit deutschen Trennmustern erstellt und strotzt deshalb nicht mehr vor falschen Trennungen.
-
scrbook,scrreprt:- Der Code für die Ausgabe der Präambel über
\chapterwurde überarbeitet, weil die Warnung für zu große Präambel über\chapterbereits\dp\strutboxzu früh ausgegeben wurde. Dabei wurde auch die vertikale Platzierung einer tatsächlich übervollen Präambel verbessert. - Der vertikale Abstand vor der Überschrift von
\addpartbzw.\addpart*wurde dem bei\part*oder bei früheren Versionen angepasst. - Der Fehler bei Verwendung von
\subsectionmarkformat,\subsubsectionmarkformat,\paragraphmarkformatoder\subparagraphmarkformatwegen nicht definiertem\endskipwurde behoben. Damit ist der Workaround:\newcommand*{\endskip}{\enskip}in der Dokumentpräambel bzw. noch vor\documentclassnicht mehr erforderlich.
- Der Code für die Ausgabe der Präambel über
-
scrlayer:- Die Anweisungen
\leftfirstmark,\lefttopmark,\leftbotmark,\rightfirstmark,\righttopmarkund\rightbotmarkkönnen analog zu\leftmark(entspricht\leftbotmark) und\rightmark(entspricht\rightfirstmark) verwendet werden. Dabei nutzen sie entsprechend ihrem Namen das linke oder rechte Element der TeX-Marken\firstmark,\topmarkoder\botmark. \toplevelpagestylegibt den obersten Seitenstil an, der mit\pagestyleaktiviert wurde. Während also nach\pagestyle{plain}\currentpagestylebeispielsweiseplain.scrheadingssein kann, ist\toplevelpagestyledannplain.- Mit der Anweisung
\GetLayerContents{Ebene}kann man auf den Inhalt einer Ebene zugreifen. Man muss dabei aber selbst darauf achten, keine unendlichen Rekursionen zu schaffen, beispielsweise durch die Verwendung der Anweisung bei der Definition des Inhalts derselben Ebene. - Es gibt neue Ebenenattribute, mit denen man den existierenden Werten eines
Ebenenattributes einen neuen Wert hinzufügen kann. Die Attribute
addhoffset,addvoffset,addwidthundaddheightaddieren dabei den neuen Wert zum bisherigen Wert. Das Attributeaddcontentshängt an den bisherigen Inhalt der Ebene Code an, währendpretocontentsden Code dem bisherigen Inhalt der Ebene voranstellt.
- Die Anweisungen
3.15
-
In der deutschen und englischen Anleitung ist nun korrekt
\ifisintegerstatt fälschlich\ifisnumberdokumentiert. -
scrbase:- Die Fehlermeldung über ein nicht definiertes
\@temskipabei Verwendung von\FamilySetLengthMacrowurde behoben.
- Die Fehlermeldung über ein nicht definiertes
-
scrartcl:- Über Option
sectionentrydotskann gewählt werden, ob die Inhaltsverzeichniseinträge der Abschnittsebene ebenfalls mit Pünktchen versehen werden sollen. Falls dem so ist, wird die Schrit über das gleichnamige Element eingestellt. Voreingestellt ist dabei\normalfont. Es existieren auch passende Werte für Optiontoc.
- Über Option
-
scrartcl,scrbook,scrreprt,scrextend,scrlttr2:- Neuer Befehl
\IfExistskomafont{Element}{Dann-Code}{Sonst-Code}führt den Dann-Code genau dann aus, wenn KOMA-Script für Element den Font über\addtokomafontund\setkomafontändern kann. Anderenfalls wird der Dann-Code ausgeführt.
- Neuer Befehl
-
scrartcl,scrbook,scrreprt:- Bei
\subparagraphfunktioniert nun der horizontale Einzug, außer man setzteversion=3.14(oder kleiner). - Wurde der Absatzeinzug nicht über unmittelbares Setzen von
\parindentstatt durch die empfohlene Verwendung einerparskip-Option oder\setparsizesverändert, wird bei\subparagraphin der Voreinstellung ein Absatzeinzug verwendet. Da der fehlende Absatzeinzug für KOMA-Script vor Version 3.15 als Feature definiert wurde, gilt dies nicht, wenn über Optionversioneine kleinere Kompatibilitätseinstellung als 3.15 gewählt wurde. - Die Gliederungsbefehle von
\sectionbis\subparagraph(einschließlich deren abhängige Befehle) werden über\DeclareSectionCommand[…]{…}definiert und können über\DeclareSectionCommand[Eigenschaften]{Name}oder\RedeclareSectionCommand[Eigenschaften]{Name}geändert werden. Ebenso können neue Befehle über\DeclareNewSectionCommand[Eigenschaften]{Name}bzw.\ProvideSectionCommand[Eigenschaften]{Name}definiert werden. Über\DeclareSectionCommands[Eigenschaften]{Namensliste},\DeclareNewSectionCommands[Eigenschaften]{Namensliste},\RedeclareSectionCommands[Eigenschaften]{Namensliste}oder\ProvidesSectionCommands[Eigenschaften]{Namensliste}kann dasselbe auch für eine ganze Reihe an Gliederungsbefehlen auf einmal erfolgen.
- Bei
-
scrbook,scrreprt:- Kein zusätzlicher Abstand mehr zwischen der Kapitelüberschrift des
Inhaltsverzeichnisses und dem ersten Eintrag, wenn dies ein Kapiteleintrag
oder ein Teileintrag ist. Diese Änderung ist durch Option
version=3.14(oder kleiner) deaktivierbar. - Über Option
chapterentrydotskann gewählt werden, ob die Inhaltsverzeichniseinträge der Kapitelebene ebenfalls mit Pünktchen versehen werden sollen. Falls dem so ist, wird die Schrit über das gleichnamige Element eingestellt. Voreingestellt ist dabei\normalfont. Es existieren auch passende Werte für Optiontoc. - Auf vielfachen Wunsch kann man über Umdefinierung von
\raggedchapterdie Ausrichtung der Kapitelüberschriften und nur der Kapitelüberschriften ändern.
- Kein zusätzlicher Abstand mehr zwischen der Kapitelüberschrift des
Inhaltsverzeichnisses und dem ersten Eintrag, wenn dies ein Kapiteleintrag
oder ein Teileintrag ist. Diese Änderung ist durch Option
-
scrbase:- Mit
\RelaxFamilyKey[Mitglied]{Familie}{Schlüssel}kann ein Schlüssel für ein Mitglied einer Familie quasi undefiniert werden. - Die Befehle
\FamilyCounterKey,\FamilyCounterMacroKey,\FamilyLengthKeyund\FamilyLengthMacroKeyunterstützen einen optionalen Säumniswert, der nach dem Schlüssel anzugeben ist.
- Mit
-
scrlayer:- Die beiden
underfull \hbox-Meldungen auf jeder zweispaltigen Seite wurden behoben.
- Die beiden
-
scrjura:- Die Befehle
\Paragraphund\SubParagraphwerden in\Clauseund\SubClauseumbenannt. Entsprechend werden abhängige Befehle wie\Paragraphmarkund\SubParagraphmarksowie abhängige Zähler wieParagraphundSubParagraph, sowie die zu den Zählern gehörenden Befehle umbenannt. - Über den Befehl
\DeclareNewJuraEnvironment{Umgebungsname}[Optionen]{Anfangscode}{Endecode}können neue juristische Umgebungen definiert werden. In der Voreinstellung entspricht eine solche Umgebungcontract, verfügt aber über eigene Zähler.
- Die Befehle
-
scrletter: Dieses Paket stellt die Funktionalität von scrlttr2 mit den KOMA-Script-Klassen scrartcl, scrreprt und scrbook zur Verfügung. Allerdings ist das Paket in der Anleitung noch als BETA eingestuft. -
scrsize10pt.clo,scrsize11pt.clo,scrsize12pt.cli:- Die Abstände in einigen Listen, die selbst
\@listinicht ausführen (beispielsweise das Literaturverzeichnis von biblatex) wurden korrigiert. Damit entfällt der Workaround,\csname @listi\endcsnamenach dem Laden der Klasse und nach jeder Verwendung von Optionfontsizein der Dokumentpräambel oder im Dokument einzufügen.
- Die Abstände in einigen Listen, die selbst
3.14
-
Die englische Anleitung wurde vor allem von Jana und Arndt Schubert auf Vermittlung von Elke Schubert gründlich unter die Lupe genommen und in diversen Kapiteln deutlich verbessert.
-
scrartcl,scrbook,scrreprt:- Bei Verwendung von Option
bibliography=leveldownwird nicht mehr fälschlich immer\rightmarkverwendet. Stattdessen geschieht dies nur noch, wenn\@mkbothnicht\@gobbletwo, wenn also mit lebenden Kolumnentiteln gearbeitet wird. - Das optionale Argument von
\chapter,\sectionetc. wird nicht mehr nach key=value-Syntax behandelt, wenn es ein kopiertes obligatorisches Argument ist. Zuvor führte beispielsweisezu Fehlern. Diese Fehler konnte man übrigens durch zusätzliche Gruppenklammern im obligatorischen Argument umgehen.\documentclass[headings=optiontohead]{scrartcl} \usepackage[ngerman]{babel} \begin{document} \tableofcontents \part{rot!=gelb} \section{physikalisch"=naturwissenschaftlichen} \end{document} \minisecvergrößert nun nicht mehr den Abstand nach einer Überschrift, wenn es direkt auf diese folgt.- Die Anweisung
\SecDefkann an Stelle von\secdefverwendet werden, um Befehle zu definieren, die kompatibel mit\partoder\addpartsind. - Die Anweisung
\At@startsection{Code}kann von Paketautoren verwendet werden, um innerhalb des KOMA-Script eigenen Ersatzes von\@startsectionCode nach der Einstellung von\if@afterindentund\@tempskipaauszuführen. - Die Anweisung
\Before@sect{Code}kann von Paketautoren verwendet werden, um innerhalb des KOMA-Script eigenen Ersatzes von\@startsectionCode unmittelbar vor dem Aufruf von\@sectauszuführen. - Die Anweisung
\Before@ssect{Code}kann von Paketautoren verwendet werden, um innerhalb des KOMA-Script eigenen Ersatzes von\@startsectionCode unmittelbar vor dem Aufruf von\@ssectauszuführen.
- Bei Verwendung von Option
-
scrartcl,scrbook,scrreprt,scrlttr2:- Option
footseplineführt wie bereits zuvor dokumentiert nicht mehr zu einer Neuberechnung des Satzspiegels. - Option
footseplineführt nicht mehr fälschlich zu einer Änderung vonheadinclude, sondernfootinclude.
- Option
-
scrbase:\FamilyOption,\FamilyOptionsund\FamilyExecuteOptionserlauben die Verwendung von\parim Wert einer Option.
-
scrlayer:\ModifyLayerändert nun wirklich die angegebene Ebene und nicht die zuletzt mit\DeclareLayerdefinierte Ebene.\RemoveLayersFromPageStylefunktioniert nun auch für alle Ebenen eines Seitenstils. Zuvor konnte die letzte verbliebene Ebene nicht entfernt werden.
-
scrlayer-scrpage:- Die Namen der Layer sind nun korrekt. Zuvor waren
…head.oddund…head.evenbzw.…foot.oddund…foot.evenvertauscht. - Optionen
headwidthundfootwidtherlauben einen zweiten Offset. In diesem Fall ist der erste Offset für rechte=ungerade Seiten und der zweite Offset für linke=gerade Seiten. - Die Befehle
\ihead,\oheadetc. bekommen Sternvarianten an die Seiten gestellt, bei denen bei einem nicht vorhandenen optionalen Argument das obligatorische Argument in das optionale kopiert wird. Bei vorhandenem optionalem Argument unterscheiden sich die Formen nicht. Man kann so beispielsweise\ofoot[\pagemark]{\pagemark}einfach als\ofoot*{\pagemark}abkürzen.
- Die Namen der Layer sind nun korrekt. Zuvor waren
-
scrlttr2:- LCO-Datei
DINmtextführt mit Optionfromalign=falsewieder zu einer geänderten Darstellung der Absenderadresse, wie das bis Version 3.07 der Fall war. - Neue Anweisung
\LoadLetterOptions{LCO,…}, die wie\LoadLetterOptionarbeitet, aber statt nur einer LCO eine Komma separierte Liste von LCOs akzeptiert.
- LCO-Datei
-
tocbasic:\DeclareNewTOCfügt dem Format des Zähler kein\autodotmehr an, wenn es sich um einen hierarchischen Zähler handelt.
3.13
-
scrartcl,scrbook,scrreprt:- Werte für Option
toc, die auf andere Optionen abgebildet werden, können nun nicht nur bei\documentclassgesetzt werden, sondern auch bei\KOMAoptionund\KOMAoptions. - Werte für Option
listof, die auf Optionchapteratlistsabgebildet werden, können nun nicht nur bei\documentclassgesetzt werden, sondern auch bei\KOMAoptionund\KOMAoptions.
- Werte für Option
-
scrbase:- In der Sonderbehandlung für die Benutzung der Optionen-Schnittstelle nach
der veralteten Methode ist die Ausgabe einer Warnung nun robust gegen
Befehle, die nicht expandiert werden sollten. Zuvor konnte es
beispielsweise zu Fehlern kommen, wenn einer Option als Wert
\includegraphicsübergeben wird.
- In der Sonderbehandlung für die Benutzung der Optionen-Schnittstelle nach
der veralteten Methode ist die Ausgabe einer Warnung nun robust gegen
Befehle, die nicht expandiert werden sollten. Zuvor konnte es
beispielsweise zu Fehlern kommen, wenn einer Option als Wert
-
scrdate:- Unterstützung von Polnisch (
polish), Tschechisch (czech), Slovakisch (slovak) und diversen zusätzlichen Dialekten von Englisch, Deutsch und Französisch.
- Unterstützung von Polnisch (
-
scrlayer-notecolumne:- Es gibt Dank Arndt Schubert eine gute englische Übersetzung der Anleitung.
-
scrlayer-scrpage:- Option
pagestylesetwird nun auch dann korrekt verarbeitet, wenn sie bei\documentclassoder\usepackageangegeben wird. Der Workaround, sie per\KOMAoptionoder\KOMAoptionszu setzen, entfällt damit. - Die Optionen
standardstyleundkomastyleführen nicht mehr zu einer Fehlermeldung wegen nicht definierter Optionversion. Es bleibt bei der Empfehlung diese veralteten Optionen durch Optionpagestylesetzu ersetzen. - Das Seitenstil-Paar
scrheadings+plain.scrheadingsführt nicht mehr zu Problemen mitscrlttr2. Die Empfehlung mitscrlttr2weiterhinscrpage2zu verwenden entfällt damit. - Die Warnung wegen des in den Klassen nicht vorhanden Elements
pagefootwurde beseitigt.
- Option
-
scrlttr2:- Das Kompatibilitätsproblem mit
scrlayer-scrpagewurde behoben. - Mit den Sprachen
ngerman,austrianundnaustrianwird nun „Telefon“ und „Mobiltelefon“ statt „Telephon“ und und „Mobiltelephon“ verwendet. Beigermanbleibt es bei der Schreibweise mit „ph“. Wer das ändern will, kannin die Dokumentpräambel einfügen.\renewcaptionname{german}\phonename{Telefon} \renewcaptionname{german}\mobilephonename{Mobiltelefon} - Unterstützung von Polnisch (
polish), Tschechisch (czech), Slovakisch (slovak) und diversen zusätzlichen Dialekten von Englisch, Deutsch und Französisch.
- Das Kompatibilitätsproblem mit
-
scrpage2:- Das Paket ist obsolet, bleibt aber vorerst mit eigener Anleitung (also nicht mehr in der KOMA-Script-Anleitung) Bestandteil von KOMA-Script.
3.12
-
scrartcl:- Die nicht verwendeten Anweisungen
\chapterheadstartvskipund\chapterheadendvskipwerden nicht mehr definiert.
- Die nicht verwendeten Anweisungen
-
scrartcl,scrbook,scrreprt:- Die undokumentierte Option
emulatestandardclasses, die nur beim Laden der Klasse angegeben werden kann, ändert diverse Voreinstellungen so, dass sie der Standardklasse ähneln. Diese Option benötigt außerdem das Paketscrlayer-scrpage.
- Die undokumentierte Option
-
scrartcl,scrbook,scrreprt,scrlttr2:- Die Verwendung veralteter Font-Anweisungen wie
\bfführt zu einer Warnung.
- Die Verwendung veralteter Font-Anweisungen wie
-
scrartcl,scrbook,scrreprt,scrextend:-
Fehler bei den vertikalen Abstände von
\captionaboveund\captionbelow(und damit auch von\caption) inlongtablebei Verwendung von -
Option
captions=figureheadingfunktioniert. -
Verwendung von
captions=headinginnerhalb einerfigure-Umgebung funktioniert. -
Der Code für
\maketitlewurde teilweise neu geschrieben, damit per\thanksoder\footnotegesetzte Fußnoten auf der korrekten Seite ausgegeben werden. Gleichzeitig wird nun ein\extratitlebei gleichzeitiger Verwendung der Optionentitlepage=falseundtwocolumnnicht mehr als Kopf über dem Haupttitelkopf ausgegeben. -
Außer bei Kompatibilität zu früheren Versionen können in einem Dokument mehrere
\maketitle-Anweisungen einschließlich mehrerer Titeldefinitionen verwendet werden. -
Außer bei Kompatibilität zu früheren Versionen wird die Rückseite der Titelseite nur noch erzeugt, wenn diese einen Inhalt hat oder eine Widmungsseite folgt.
-
Option
titlepage=firstiscoverformatiert die erste mit\maketitleerstellte Titelseite als Umschlagseite mit abweichenden Rändern. Die Ränder können durch Umdefinierung von\coverpagetopmargin,\coverpagebottommargin,\coverpageleftmarginund\coverpagerightmarginverändert werden. In der Voreinstellungen entspricht\coverpagestopmargindem oberen Rand des Dokuments ohne die Kopfzeile(n),\coverpagebottommarginist das Doppelte davon,\coverpageleftmarginund\coverpagerightmarginentsprechen dem linken Rand einer linken Seite. -
Neue Font-Elemente
titlehead,author,date,publishers,dedication. -
Mit
bibliography=leveldownkann das Literaturverzeichnis eine Gliederungsebene nach unten verschoben werden (vgl.listof=leveldown). -
Um die bekannten Probleme bezüglich der Kopfzeile bei Verwendung von
\addchapoder\addseczusammen mit Kopfzeilenpaketen wiescrpage2oderfancyhdrbeherrschbarer zu machen, werden auch diese beiden Befehle künftig\chaptermarkbzw.\sectionmarkaufrufen, zuvor aber lokal\if@mainmatterauf\iffalsesetzen undsecnumdepthauf -1. Wenn Anwender und Pakete bei der Umdefinierung von\chaptermarkbzw.\sectionmarksauber gearbeitet haben, führt das zum korrekten Ergebnis. Anderenfalls enthält die Kopfzeile unerwünschter Weise eine Nummer und der Anwender muss ggf. nacharbeiten. Die Korrektur ist dann jedoch in jedem Fall einfach zu bewerkstelligen. Bei dieser Gelegenheit sei darauf hingewiesen, dassfancyhdrin seinem vordefinierten\chaptermark\if@mainmatterzwar ignoriert,secnumdepthaber sowohl bei\chaptermarkals auch\sectionmarkdurchaus beachtet. -
Neue Optionen
toc=numberline,toc=nonumberline,listof=numberlinebzw.listof=nonumberlineum das neuetocbasic-Featurenumberlinefür das Inhaltsverzeichnis bzw. die Gleitumgebungsverzeichnisse zu aktivieren und zu deaktivieren. -
Intern werden nun alle Verzeichniseinträge via
\addchaptertocentry,\addsectiontocentryetc. mit\addxcontentsline(siehetocbasic-Änderungen) erstellt. -
Unterstützung für
\float@addtolistsweitgehend entfernt (wie seit Jahren angekündigt).
-
-
scrartcl,scrbook,scrreprt,scrextend,scrlttr2:- Option
fontsize: Außer bei Verwendung von Optionversion=3.11b(oder kleiner) werden\intextsep,\floatsepund\dblfloatsepbei der Notlösung für berechnete Schriftgrößen nun auf korrekte Werte gesetzt. Abstände größer 0pt und kleiner 1pt werden auf 1pt gerundet. \usesizeofkomafont{Element}: schaltet nur auf die Schriftgröße und den Grundlinienabstand des angegebenen Elements um.\useencodingofkomafont{Element}: schaltet nur auf das Font-Encoding des angegebenen Elements um.\usefamilyofkomafont{Element}: schaltet nur auf die Font-Family des angegebenen Elements um.\useseriesofkomafont{Element}: schaltet nur auf die Font-Series des angegebenen Elements um.\useshapeofkomafont{Element}: schaltet nur auf die Font-Shape des angegebenen Elements um.\usefontofkomafont{Element}: schaltet nur auf die (oben genannten) Schriftattribute des angegebenen Elements um. Das ist insbesondere dann von Interesse, wenn im Element entgegen der ursprünglichen Spezifikation auch andere Dinge wie die Farbe festgelegt sind.
- Option
-
scrbase:\ifstrstart{Zeichenfolge}{Zeichenfolge}{Dann-Teil}{Sonst-Teil}expandiert die beiden Zeichenketten und führt den Dann-Code genau dann aus, wenn abgesehen von Leerzeichen die erste Zeichenkette mit der zweiten beginnt.\ifisdim{Zeichenfolge}{Dann-Teil}{Sonst-Teil}führt den Dann-Code genau dann aus, wenn die Expansion der Zeichenfolge in einem\dimen, also einem TeX-Längenregister resultiert. Anderenfalls wird der Sonst-Code ausgeführt. Die Anweisungen\ifisskip,\ifiscount,\ifisdimexpr,\ifisglueexprund\ifisnumexprfunktionieren entsprechend, wobei bei den letzten drei fehlerhafte Ausdrücke zu Fehlermeldungen führen.\ifiscounter{LaTeX-Zähler}{Dann-Teil}{Sonst-Teil}führt den Dann-Code genau dann aus, wenn der LaTeX-Zähler bereits definiert ist. Anderenfalls wird der Sonst-Code ausgeführt.- Die Behandlung nicht bekannter Werte wird sich komplett ändern. Dies hat
Auswirkungen auf die Definition eigener Optionen mit allen von
scrbasedafür bereitgestellten Befehlen. Da es bisher in TeX Live kein einziges Paket gibt, das darauf zurückgreift, sehe ich jedoch kein großes Problem darin. Zur Vermeidung der gravierendsten möglichen Probleme, wird das bisherige eher unzureichend dokumentierte Verhalten zwar nicht adaptiert, aber das bisherige Vorgehen zumindest zum Teil toleriert. Trotzdem werden teilweise Änderungen erforderlich sein, teilweise sind sie ratsam. KOMA-Script selbst wird in allen Bereichen die entsprechenden, notwendigen Änderungen erfahren. - Neue Anweisung
\defcaptionnamezu unbedingten Definierung eines sprachabhängigen Bezeichners. - Die Anweisungen
\defcaptionname,\newcaptionname,\renewcaptionnameund\providecaptionnamedefinieren einen Begriff in\extrasSprache, falls der Begriff bereits darin definiert war, sonst wird weiterhin\captionsSprache verwendet. Zusätzlich existiert jeweils eine Sternvariante, die immer\extrasSprache verwendet. Dazu wurden all diese Befehle komplett neu implementiert. - Die Anweisungen
\defcaptionname,\newcaptionname,\renewcaptionnameund\providecaptionnameakzeptieren in ihrem ersten Argument nun eine durch Komma getrennte Liste von Sprachen. Leerzeichen sind in dieser Liste jedoch nicht erlaubt! - Die Anweisungen
\defcaptionname,\newcaptionname,\renewcaptionnameund\providecaptionnamewerden nun automatisch bis\begin{document}verzögert, falls sie vorher verwendet werden, was ausdrücklich erwünscht ist.
Hinweis: Die Änderungen bei\defcaptionnameetc. werden einfach durch folgendes Beispiel offenbar, das nun wie gewünscht funktioniert:\documentclass{scrartcl} \usepackage[ngerman,naustrian,german]{babel} \usepackage{hyperref} \renewcaptionname{ngerman,naustrian}\figureautorefname{Abb.} \begin{document} \section{Test A (german)} Siehe dazu auch \autoref{fig:TestA}, \autoref{fig:TestB} und \autoref{fig:TestC}. \begin{figure} \centering \rule{1cm}{1cm} \caption{Testabbildung A} \label{fig:TestA} \end{figure} \selectlanguage{naustrian} \section{Test B (naustrian)} Siehe dazu auch \autoref{fig:TestA}, \autoref{fig:TestB} und \autoref{fig:TestC}. \begin{figure} \centering \rule{1cm}{1cm} \caption{Testabbildung B} \label{fig:TestB} \end{figure} \selectlanguage{ngerman} \section{Test B (ngerman)} Siehe dazu auch \autoref{fig:TestA}, \autoref{fig:TestB} und \autoref{fig:TestC}. \begin{figure} \centering \rule{1cm}{1cm} \caption{Testabbildung C} \label{fig:TestC} \end{figure} \end{document}
-
scrjura:\Paragraphund\SubParagraphführen im horizontalen Modus zu keiner Fehlermeldung mehr.- Der hängende Einzug von Überschriften mit
\Paragraphund\SubParagraphwurde korrigiert. - Die bisher nicht dokumentierte Anweisung
\paragraphformatwurde aus Gründen der Konsistenz in\Paragraphformatumbenannt. - Es sind nun Paragraphen bzw. Subparagraphen mit derselben Nummer möglich.
-
scrlayer,scrlayer-scrpage:- Diese Pakete werden Teil von KOMA-Script und ersetzen künftig
scrpage2.
- Diese Pakete werden Teil von KOMA-Script und ersetzen künftig
-
scrlettr:- Nachdem der Support für diese Klasse bereits seit Jahren eingestellt ist
und auch seit Jahren empfohlen wird, stattdessen
scrlttr2zu verwenden, wird diese Klasse zukünftig nicht mehr Teil der Distribution von KOMA-Script sein. Wer die Klasse haben will, muss sie sich ggf. aus den Quellen selbst erzeugen, die im Repository erhalten bleiben.
- Nachdem der Support für diese Klasse bereits seit Jahren eingestellt ist
und auch seit Jahren empfohlen wird, stattdessen
-
scrlfile:\ReplaceInputist nun entsprechend der Anleitung verfügbar.\UnPreventPackageFromLoading{Paketliste}entfernt nur die aufgeführten Pakete von der Verhinderungsliste. Es existiert auch eine Sternvariante, die außerdem den Stattdessencode (siehe neues optionales Argument von\PreventPackageFromLoading) beseitigt.\PreventPackageFromLoadingund die Sternvariante haben ein neues optionales, erstes Argument, in dem Code angegeben werden kann, der an Stelle des Ladens des Pakets verwendet werden kann. Pakete oder andere Dateien dürfen an dieser Stelle jedoch nicht geladen werden.- Die undokumentierte Anweisung
\ReplaceFileerzeugt nun eine Fehlermeldung. - Mit den neuen Anweisungen
UnReplaceFile{Dateiname},UnReplacePackage{Paketname}undUnReplaceClass{Klassenname}kann die Ersetzung einer Datei, eines Pakets oder einer Klasse wieder aufgehoben werden.
-
scrlttr2:- Der Fehler bei Verwendung ohne Sprachpaket aber mit dem
hyphen.cfgausbabelim Format wurde behoben. Es wird trotzdem empfohlen, auch für Englischbabelzu laden. - Option
symbolicnamesschaltet für diverse Elemente des Absenders von sprachabhängigen Bezeichnern zu sprachunabhängigen Symbolen des Pakets marvosym um. Dies betrifftfromphone,frommobilephone,fromfaxundfromemail. Gleichzeitig wird fürfromurlder Bezeichner abgeschaltet. Die Trennzeichen werden entsprechend angepasst (Doppelpunkt entfällt). - Es gibt eine neue Variable
frommobilephoneund eine gleichnamige Option, um die Handynummer in den Briefkopf zu bekommen. Es erfolgt jedoch kein Test, ob der Briefkopf dadurch ggf. zu hoch wird! - Die Klasse funktioniert mit einem
babel-3.9f-basierten LaTeX-Format auch ohne dass das Paket babel geladen wird. - Das neue Font-Element
placeanddatewird verwendet, wenn statt einer vollen Geschäftszeile nur eine Zeile mit Ort und Datum gesetzt wird.
- Der Fehler bei Verwendung ohne Sprachpaket aber mit dem
-
scrpage:- Nachdem der Support für dieses Paket bereits seit Jahren eingestellt ist
und auch seit Jahren empfohlen wird, stattdessen
scrpage2zu verwenden, wird das Paket zukünftig nicht mehr Teil meiner TDS-Distribution von KOMA-Script sein. Wer das Paket haben will, muss es sich ggf. aus den Quellen selbst erzeugen, die im Repository erhalten bleiben.
- Nachdem der Support für dieses Paket bereits seit Jahren eingestellt ist
und auch seit Jahren empfohlen wird, stattdessen
-
scrpage2:- Die Erkennung, ob beim Laden des Pakets bereits automatische oder manuelle
Kolumnentitel eingestellt sind, wurde verbessert. Es bleibt jedoch bei der
Empfehlung, das Paket immer entweder mit Option
automarkodermanualmarkzu laden, um klare Verhältnisse zu schaffen. - Die vertikale Position der unteren Fußlinie wurde korrigiert.
- Die vertikale Position des Kopfes bzw. der oberen Kopflinie wurde korrigiert.
- Einige Dinge dieses Pakets werden als überholt (deprecated) deklariert.
- Die Erkennung, ob beim Laden des Pakets bereits automatische oder manuelle
Kolumnentitel eingestellt sind, wurde verbessert. Es bleibt jedoch bei der
Empfehlung, das Paket immer entweder mit Option
-
scrwfile:- Der Konflikt mit
hyperrefwährend des ersten LaTeX-Laufs wurde behoben.
- Der Konflikt mit
-
tocbasic:- Option
floatposin\DeclareNewTOCkorrigiert. - Die Werte der Optionen
atbeginundatendwerden nun bei\DeclareNewTOCnicht mehr unmittelbar expandiert. Dadurch entfällt der Workaround:in der Dokumentpräambel vor der ersten Verwendung von\makeatletter \@ifpackagelater{tocbasic}{2012/04/05}{}{% \define@key{tocbasic}{atbegin}{% \def\tb@nt@atbegin{#1}% } \define@key{tocbasic}{atend}{% \def\tb@nt@atend{#1}% } } \makeatother\DeclareNewTOC. \DeclareNewTOCdeklariert nun selbst einen Verzeichnispräfix für Einträge. So dass bei Verwendung von KOMA-Script-Optionlistof=entryprefixnicht mehr selbst ein solcher Präfix mitdefiniert werden muss.\providecommand*{\listof{<Dateiendung>entryname}{<Präfix>}- Es gibt ein neues Feature
numberline, das auch bei nicht nummerierten Einträgen für einen Einzug des Textes wie bei nummerierten Einträgen sorgt. Dazu müssen diese Einträge aber entweder\nonumberlineselbst vor dem Text einfügen oder mit\addxcontentslineerstellt worden sein. - Die Verwendung des neuen Befehls
\addxcontentsline{Dateierweiterung}{Eintragstyp}[Nummer]{Text}wird an Stelle von\addcontentslineempfohlen. Für nummerierte Einträge ist dabei das optionale Argument zu verwenden, für nicht nummerierte ist dieses entweder weg oder leer zu lassen. Diese Anweisung ermöglicht im Gegensatz zu\addcontentslinedie Berücksichtigung vonnumberline(s. o.). - Die Anweisung
\addxcontentslinetoeachtocfile[Besitzer]{Dateierweiterung}{Eintragstyp}[Nummer]{Text}analog zu\addcontentslinetoeachtocfile.
- Option
-
tocstyle:- Das Paket verwendet endlich die Font-Elemente
partentry,partentrypagenumber,chapterentry,chapterentrypagenumber,sectionentryundsectionentrypagenumberwenn eine entsprechende KOMA-Script-Klasse geladen ist.
- Das Paket verwendet endlich die Font-Elemente
-
typearea:- Option
footheight=Länge kann analog zuheadheightverwendet werden, um die Höhe des Fußes einzustellen (wichtig vor allem bei Optionfootinclude). - Option
footlines=Anzahl kann analog zuheadlinesverwendet werden, um die Höhe des Fußes einzustellen (wichtig vor allem bei Optionfootinclude).
- Option
3.11b
scrbook,scrreprt:- Die vertikale Ausrichtung von
\addpartwurde entsprechend der von\partkorrigiert.
- Die vertikale Ausrichtung von
3.11a
-
scrbase:- Globale Optionen mit nummerischen Werten, die per
\FamilyNumericalKeyoder unter Verwendung von\FamilySetNumericaldefiniert wurden, werden nicht mehr aus der Liste der unbekannten, globalen Optionen entfernt, wenn ihnen ein unbekannter Wert übergeben wurde. - Unbekannte Werte für globale Optionen – das sind Optionen bei
\documentclass– führen bei\FamilyProcessOptionsgenerell nicht mehr zu Fehlermeldungen, sondern ggf. zu einer Info in der log-Datei und der Standard-LaTeX-Warnung über nicht verwendete globale Optionen. - Fehlermeldungen zu unbekannten Werten für boolsche Operationen korrigiert. Hier wurde anstelle des falschen Werts eine interne Information ausgegeben, die für Anwender nutzlos war.
- Ein Problem mit neuen Werten für alte Optionen bei Verwendung von
\LoadClassWithOptionswurde behoben.
- Globale Optionen mit nummerischen Werten, die per
-
scrlfile:- Problem mit dem Vergessen von bisher ausgeschlossenen Paketen bei erneutem
\PreventPackageFromLoadingbehoben. Der Workaroundwird also nicht mehr benötigt.\usepackage{etoolbox} \makeatletter \patchcmd{\PreventPackageFromLoading}{% \edef\scrlfile@excludedpackages{,\reserved@a}% }{% \edef\scrlfile@excludedpackages{\scrlfile@excludedpackages,\reserved@a}% }{\typeout{Patch done}}{\typeout{Patch not needed, not done}} \makeatother
- Problem mit dem Vergessen von bisher ausgeschlossenen Paketen bei erneutem
3.11
-
Die englische Anleitung hatte teilweise noch den alten Aufbau und gab noch nicht alle neuen Möglichkeiten von KOMA-Script 3 an. Ab jetzt entspricht die englische Anleitung endlich der deutschen. Danke an alle Helfer!
-
scrartcl,scrbook,scrreprt:- Meldung
bei Verwendung von(\end occured when \ifx on line XX was incomplete)\addpart,ggf. auch in Verbindung mit Fehlermeldungen, beispielsweise, wenn\addpartin einer per\includegeladenen Datei steht, behoben. Ursache war ein fehlendes\fiin\@addpart.
Workaround war:in der Dokumentpräambel% Put this code into the preamble of your document \usepackage{etoolbox} \makeatletter \patchcmd{\@addpart}{% \ifx\scr@ds@tocentry\@empty\else \expandafter\addparttocentry\expandafter{\expandafter}\expandafter{% \scr@ds@tocentry}% \@spart{#2}% }{% \ifx\scr@ds@tocentry\@empty\else \expandafter\addparttocentry\expandafter{\expandafter}\expandafter{% \scr@ds@tocentry}% \fi \@spart{#2}% }{}{} \makeatother
- Meldung
-
scrartcl,scrbook,scrreprt,scrlttr2:- Fehlermeldung
beim Laden von! Undefined control sequence. \@EverySelectfont@Init l.144 \if@raggedtwoe@footmiscragged2eodereveryselinnerhalb von\begin{document}behoben. Dieser trat beispielsweise bei Verwendung von Paketsidecapauf.
Workaround war ein explizites\usepackage{everysel}vor\begin{document}.
- Fehlermeldung
-
typeare:\AfterSettingAreaanalog zu\AfterCalculatingTypeareaaber für\areasetstatt für\typearea.areasetadvanced=trueist eine experimentelle Option, um die Randberechnung von\areasetweiter an die Randberechnung von\typeareaanzunähern. Allerdings werden hier oberer und unterer Rand direkt verteilt, während bei\typeareabekanntlich nur der untere Rand angepasst wird, um die Höhe des Satzspiegels durch Zeilen teilbar zu erhalten. Auf den Namen und die Funktion dieser Option sollte man sich noch nicht verlassen. Sie wird daher auch vorerst nicht offiziell dokumentiert!
3.10a
scrartcl,scrbook,scrreprt:- Fehlermeldung
beim Einbinden eines Index aufgrund einer falschen Klammerung in der Definition von! Argument of \MakeMarkcase has an extra }. <inserted text> \par l.1 \begin{theindex} Runaway argument? ! Paragraph ended before \MakeMarkcase was complete. <to be read again> \par l.1 \begin{theindex}\idx@headingbehoben. Workaround war:\makeatletter \@ifclassloaded{scrartcl}{% \CheckCommand*{\idx@heading}{% \twocolumn[\idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}\MakeMarkcase{{\indexname}}% }% \renewcommand*{\idx@heading}{% \twocolumn[\idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\indexname}}% }% }{% \CheckCommand*{\idx@heading}{% \if@openright\cleardoublepage\else\clearpage\fi% \twocolumn[\idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}\MakeMarkcase{{\indexname}}% }% \renewcommand*{\idx@heading}{% \if@openright\cleardoublepage\else\clearpage\fi% \twocolumn[\idx@@heading{\indexname}]% \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\indexname}}% }% } \makeatother
- Fehlermeldung
3.10
-
scrartcl,scrbook,scrreprt:\MakeMarkcasewird in allen automatisch erzeugten Kolumnentiteln beachtet.headings=optiontotocandheadoderheadings=optiontoheadandtocaktiviert die Erweiterung für das optionale Argument der Gliederungsbefehle. In der Voreinstellung wird das optionale Argument für Kolumnentitel und Inhaltsverzeichniseintrag verwendet.headings=optiontotocaktiviert die Erweiterung für das optionale Argument der Gliederungsbefehle. In der Voreinstellung wird das optionale Argument nur für den Inhaltsverzeichniseintrag verwendet.headings=optiontoheadaktiviert die Erweiterung für das optionale Argument der Gliederungsbefehle. In der Voreinstellung wird das optionale Argument nur für den Kolumnentitel verwendet.- Ist die Erweiterung für das optionale Argument der Gliederungsbefehle
aktiv und befindet sich ein Gleichheitszeichen im optionalen Argument eines
Gliederungsbefehls, so wird das Argument als Schlüssel=Wert Liste mit
folgenden Schlüsseln interpretiert:
head=Text: Für den Kolumneneintrag wird Text verwendet. Es wird empfohlen Text in geschweifte Klammern zu setzen.tocentry=Text: Für den Inhaltsverzeichniseintrag wird Text verwendet. Ist Text komplett leer, so wird kein Inhaltsverzeichniseintrag erzeugt. Es wird empfohlen nicht leere Werte für Text in geschweifte Klammern zu setzen.
- Ist das Argument für den Inhaltsverzeichniseintrag eines Gliederungsbefehls leer, so wird kein Inhaltsverzeichniseintrag erzeugt.
-
scrartcl,scrbook,scrreprt,scrextend,scrlttr2:- Option
footnotes=multiplefunktioniert nun auch als Klassen- bzw. Paketoption.
Workaround: Verwendung von\KOMAoptionsoder\KOMAoption. - Option
parskipfunktioniert nun auch bei Verwendung von Pakettracefnt. - Option
parskipfunktioniert bei Verwendung von Paketeveryselnun auch nach\begin{document}.
- Option
-
scrextend: Optionfootnotes=multiplefunktionierte nun auch bei Verwendung einer Standardklasse nicht wie dokumentiert ohne den Workaround:\deffootnotemark{\textsuperscript{\thefootnotemark}}in der Dokumentpräambel nach dem Laden vonscrextend. -
scrjura: Die Nummerierung des ersten Absatzes funktioniert bei Verwendung von Optionnumberfür\Paragraphoder\SubParagraphfunktioniert wieder. -
scrwfile: Neues Paket wurde integriert, nachdem sich endlich einige Tester gefunden haben.\TOCclone[Verzeichnisname]{Kürzel des Quellverzeichnisses}{Kürzel des Zielverzeichnisses}: Kopiert alle Einträge für das Quellverzeichnis in das Zielverzeichnis. Mit Hilfe des optionalen Arguments kann außerdem ein neues Zielverzeichnis definiert werden.\@starttocbenötigt kein\newwritemehr, was zu einer signifikanten Reduzierung der Anzahl der benötigten\newwriteführt.
Version 3.00 bis 3.09a#
3.09a
scrbase: Die Optionen und ihre Werte werden nicht mehr vollständig expandiert. Dadurch bleiben Makros im Wert ggf. über das gesamte Dokument hinweg erhalten. In erster Linie werden dadurch aber die Fehlermeldungen:
beseitigt.! Argument of … has an extra }.
Ursache: Bei Verwendung von sogenannten zerbrechlichen Anweisungen innerhalb der Werte konnte die vollständige Expansion u. a. zu obiger Fehlermeldung führen. Abhilfe schafft hier normalerweise die Verwendung von\protectvor der zerbrechlichen Anweisung.tocbasic: Per\DeclareNewTOCimplementierte Gleitumgebungen unterstützen auch das optionale Argument für die Gleitposition.
3.09
-
scrartcl,scrbook,scrreprt:\captionaboveof{Gleitumgebung}[Verzeichniseintrag}{Titel}: fügt einen als Überschrift formatierten Gleitumgebungstitel ein und funktioniert im Unterschied zu\captionauch außerhalb einer Gleitumgebung.\captionbelowof{Gleitumgebung}[Verzeichniseintrag}{Titel}: fügt einen als Unterschrift formatierten Gleitumgebungstitel ein und funktioniert im Unterschied zu\captionauch außerhalb einer Gleitumgebung.captions=(heading|above|top): Die Funktion von\captionwird auf\captionabove, die von\captionofauf\captionaboveofeingestellt.captions=(signature|below|bot|bottom): Die Funktion von\captionwird auf\captionbelow, die von\captionofauf\captionbelowofeingestellt.captions=(figureheading|figureabove|abovefigure|topatfigure): Die Funktion von\captionwird innerhalb vonfigure-undfigure*-Umgebungen auf\captionaboveeingestellt.captions=(figuresignature|figurebelow|belowfigure|bottomatfigure): Die Funktion von\captionwird innerhalb vonfigure-undfigure*-Umgebungen auf\captionbeloweingestellt.
-
scrbase:- Anweisungen
\FamilyNumericalKeyfunktioniert auch mit leerem optionalem Argument. - Anweisung
\FamilyKeyStringkorrigiert.
- Anweisungen
-
scrdate:- Unterstützung für die bereits in Version 3.08a dokumentierte
Sprache
austrian. - Unterstützung für die Sprache
naustrian.
- Unterstützung für die bereits in Version 3.08a dokumentierte
Sprache
-
scrfontsizes: Neues Paket zur Generierung von Schriftgrößendateien.\generatefontfile{Dateinamenpreäfix}[Grundlinienabstand]{Schriftgröße}: Erzeugt eine neue Schriftgrößendatei. Dazu bedient es sich der Anweisung\changefontsizes. Als Dateinamenpräfix ist alles erlaubt außer »scrsize«. Die mit KOMA-Script ausgelieferten Schriftgrößendateien können auf diesem Weg also nicht ersetzt werden. Um eine der erzeugten Dateien zu verwenden, muss man daher zunächst\@fontsizefilebaseumdefinieren.__ Ein einfaches Beispiel zur Erzeugung der Dateitest10dd.clowäre daher:Danach kann man die so erzeugte Datei weiter anpassen, beispielsweise wenn\documentclass{minimal} \usepackage{scrfontsizes} \generatefontfile{test}{10dd} \begin{document}\end{document}\smallandere Einstellungen verwenden soll. Verwenden kann man die Datei dann in einem beliebigen KOMA-Script-Dokument beispielsweise so:Wie das Beispiel zeigt, ist das ganze eher etwas für Autoren von Wrapperklassen, die bestimmte Schriftgrößeneinstellungen vornehmen müssen, aber nicht alles von Hand machen wollen. Die Anweisung kann übrigens nur in der Dokumentpräambel verwendet werden.\makeatletter \renewcommand*{\@fontsizefilebase}{test} \makeatother \documentclass[fontsize=10dd]{scrartcl}
-
scrlfile:\AfterClass+{Klasse}{Anweisungen}: Führt die Anweisungen aus, falls oder sobald die Klasse vollständig geladen wurde, aber – falls die Klasse zum Zeitpunkt des Aufrufs noch nicht vollständig geladen wurde – noch bevor\AtEndOfClass-Code ausgeführt wird.\AfterClass!{Klasse}{Anweisungen}: Führt Anweisungen aus, falls oder sobald die Klasse vollständig geladen und auch\AtEndOfClass-Code ausgeführt wurde. Die Ausführung findet daher grundsätzlich nicht mehr im Kontext der Klasse statt.
Der Unterschied zwischen
\AfterClass*,\AfterClass+und\AfterClass!erschließt sich nur bei Betrachtung des Falls, dass Klasse gerade geladen wird, wenn die Anweisung für diese Klasse aufgerufen wird.\AfterAtEndOfClass{Klasse}{Anweisungen}: Diese Anweisung arbeitet grundsätzlich wie\AfterClass, führt die angegebenen Anweisungen aber nach\AtEndOfClass-Anweisungen der jeweiligen Klasse und nicht mehr im Kontext der Klasse aus.\AfterPackage+{Paket}{Anweisungen}: Führt die Anweisungen aus, falls oder sobald das Paket vollständig geladen wurde, aber – falls das Palet zum Zeitpunkt des Aufrufs noch nicht vollständig geladen wurde – noch bevor\AtEndOfPackage-Code ausgeführt wird.\AfterPackage!{Paket}{Anweisungen}: Führt Anweisungen aus, falls oder sobald das Paket vollständig geladen und auch\AtEndOfPackage-Code ausgeführt wurde. Die Ausführung findet damit auch grundsätzlich nicht mehr in Kontext des Pakets statt.
Der Unterschied zwischen
\AfterPackage*,\AfterPackage+und\AfterPackage!erschließt sich nur bei Betrachtung des Falls, dass Paket gerade geladen wird, wenn die entsprechende Anweisung für dieses Paket aufgerufen wird. So ergibt beispielsweise:\begin{filecontents}{requireA.sty} \ProvidesPackage{requireA} \AtEndOfPackage{\typeout{AtEndOfPackage by A}} \RequirePackage{requireB} \typeout{finish package requireA} \end{filecontents} \begin{filecontents}{requireB.sty} \ProvidesPackage{requireB} \AfterPackage+{requireA}{\typeout{>+ from B}} \AfterPackage!{requireA}{\typeout{>! from B}} \AfterPackage*{requireA}{\typeout{>* from B}} \AfterPackage{requireA}{\typeout{>from B}} \end{filecontents} \documentclass{article} \usepackage{scrlfile} \AfterPackage!{requireA}{\typeout{>! global}} \AfterPackage+{requireA}{\typeout{>+ global}} \AfterPackage*{requireA}{\typeout{>* global}} \AfterPackage{requireA}{\typeout{>global}} \usepackage{requireA} \begin{document} \end{document}die Ausgabe:
(./requireA.sty (./requireB.sty >* from B ) finish package requireA ) >+ global >* global >global >+ from B >from B AtEndOfPackage by A >! global >! from BMan beachte hier die sehr unterschiedliche Positionen der Ausgaben »
>* from B«, »>+ from B« und »>! from B«.\AfterAtEndOfPackage{Paket}{Anweisungen}: Diese Anweisung arbeitet grundsätzlich wie\AfterPackage, führt die angegebenen Anweisungen aber nach\AtEndOfPackage-Anweisungen des jeweiligen Pakets und nicht mehr im Kontext des Pakets aus.
-
scrlttr2:refline=dateleft: Setzt das Datum in der Geschäftszeile links.refline=dateright: Setzt das Datum in der Geschäftszeile rechts (Voreinstellung).refline=nodate: Setzt das Datum gar nicht in der Geschäftszeile.- Die Sprache
naustrianwird unterstützt.
-
tocbasic:\DeclareNewTOCkennt die neue Optionatbegin=Code, um am Anfang der gleitenden oder nicht gleitenden Umgebung Code ausführen zu lassen.\DeclareNewTOCkennt die neue Optionatend=Code, um am Ende der gleitenden oder nicht gleitenden Umgebung Code ausführen zu lassen.- Behebung einer Endlosschleife (
\def\@currext{\@currext}) bei Verwendung von\listofeachtocmit optionalem Argument.
3.08a
scrlttr2: Die für Version 3.08 beschriebenen Änderungen bezüglich\firsthead,\firstfoot,\nextheadund\nextfootsind in der Anleitung dokumentiert.scrlfile: Behebung der Fehlermeldung bei Verwendung vonntheorem:
Ursache: Das Paket definiert diese Anweisung, die auch vonERROR: LaTeX Error: Command \@gobbleopt already defined.scrlfiledefiniert wird, ebenfalls und verwendet dabei\newcommand. Denselben Fehler gibt es übrigens, wenn man bei Verwendung einer beliebigen Klasse das Paketnohyperrefvorntheoremlädt.
Workaround: Folgendes noch vor dem Laden vonntheoremsollte helfen:\makeatletter \BeforePackage{ntheorem}{% \let\@gobbleopt\relax \AtEndOfPackage{\renewcommand{\@gobbleopt}[1][]{}}% } \makeatother
3.08
scrartcl,scrbook,scrreprt,scrlttr2:parskip=never: Diese neue Einstellung fügt im Gegensatz zuparskip=falseauch dann keinen vertikalen Abstand zwischen den Absätzen ein, wenn dies für den vertikalen Ausgleich (siehe Anweisung\flushbottom) notwendig wäre.parskip=…: Änderungen an der Absatzauszeichnung führen ein implizites\selectfontaus und sind deshalb ab dem nächsten Absatz verfügbar.
scrbase:- In der Optionenliste bzw. Werteliste von
\FamilyOptionsund\FamilyOptionsind leere Elemente erlaubt. Dies widerspricht eindeutig der Spezifikation und Dokumentation der Befehle und wurde entgegen meiner Überzeugung nur implementiert, damit ich endlich meine Ruhe vor entsprechenden Anfragen habe. \FamilyStringKey[Familienmitglied]{Familie}{Schlüssel}{\Makroname}: Abkürzung für\DefineFamilyKey[Familienmitglied]{Familie}{Schlüssel}{\def\Makroname{#1}}.\FamilyStringKey[Familienmitglied]{Familie}{Schlüssel}[Säumniswert]{\Makroname}: Abkürzung für\DefineFamilyKey[Familienmitglied]{Familie}{Schlüssel}[Säumniswert]{\def\Makroname{#1}}.
- In der Optionenliste bzw. Werteliste von
scrbook,scrreprt: Das Font-Elementchapterprefix, das bereits seit Version 2.96b existiert, wurde dokumentiert.scrlttr2:visualize.lcozeigt das Adressfeld und das Feld für die Absenderergänzung nun mit korrekter Höhe an.- Dank Benjamin Hell wird als Sprache nun auch Swedisch
(
swedish) und Dänisch (danish) unterstützt. - Die Anweisungen
\firsthead, \firstfoot, \nextheadund\nextfootwerden durch die Variablenfirsthead, firstfoot, nextheadundnextfootersetzt. Die alten Anweisungen funktionieren weiterhin, erzeugen aber entsprechende Warnungen. Die direkte Verwendung interner Anweisungen aus diesem Bereich funktioniert nur noch teilweise und erzeugt dann ebenfalls Warnungen. Die Änderungen verbessern scrlttr2 jedoch in Hinblick auf eine konsistente Benutzerschnittstelle. Außerdem ist damit beispielsweise möglich, innerhalb vonnextheadauf den Inhalt vonfirstheadzuzugreifen. Das gilt auch dann, wenn der Inhalt vonfirstheadüber Optionen automatisch festgelegt wird.
scrdate: Dank Benjamin Hell wird als Sprache nun auch Swedisch (swedish) und Dänisch (danish) unterstützt.scrlfile:- Wird innerhalb von
\BeforeClosingMainAuxzum Schreiben in die aux-Datei auf\protected@writezurück gegriffen, so wird stattdessen automatisch die neue interne Anweisung\protected@immediate@writeverwendet. Dadurch können Anweisung wie\addcontentslineoder\addtocontentsin\BeforeClosingMainAuxverwendet werden. \PreventPackageFromLoading{Paketliste}: Für alle in Paketliste angegebenen Pakete wird verhindert, dass diese zukünftig geladen werden. Dies betrifft sowohl das Laden mit\usepackageals auch das Laden mit\RequirePackagealso auch das Laden innerhalb von anderen Paketen, die zwingend auf die entsprechenden Pakete angewiesen sind! Wird die Anweisung mehrfach aufgerufen, so werden die neu angegebenen Pakete an die bereits existierende Ausnahmeliste angehängt.\ResetPreventPackageFromLoading: Setzt die von\PreventPackageFromLoadingdefinierte Ausnahmeliste zurück. Gleichzeitig werden die Umdefinierungen von\RequirePackageund\usepackagerückgängig gemacht.\StorePreventPackageFromLoading{Macro}: Speichert die aktuelle Ausnahmeliste von\PreventPackageFromLoadingim angegebenen Macro. Diese kann beispielsweise nach einem\ResetPreventPackageFromLoadingverwendet werden, um die Liste mit\PreventPackageFromLoading{Macro}} wieder her zu stellen:\PreventPackageFromLoading{foo}% Verhindere, dass Paket foo geladen wird. \StorePreventPackageFromLoading{\MeineListe}% Speichere die aktuelle Ausnahmeliste in \MeineListe. \ResetPreventPackageFromLoading% Entferne die Ausnahmeliste und deren Behandlung und ... \usepackage{bar}% ... erlaube bar so alle möglichen Pakete zu laden. \PreventPackageFromLoading{\MeineListe}% Stelle die gespeicherte Ausnahmen wieder her.
- Wird innerhalb von
3.07
scrbook,scrreprt,scrartcl,scrlttr2,scrextend: Mit Hilfe der Anweisungen\setkomafontund\addtokomafontkann über das neue Elementfootnoteruledie Farbe der Fußnotentrennlinie geändert werden. Voreingestellt ist dabei keinerlei Änderung an Schrift oder Farbe der Linie.
3.06
scrbase: Neue Rechenfunktionen für ganze Zahlen (\numexpr) unter Nutzung von e-TeX:\XdivY{X}{Y}berechnet X div Y.\XmodY{X}{Y}berechnet X mod Y.
scrtime: Es wird die Optionenschnittstelle von KOMA-Script verwendet. Damit ist die Option24hobsolet, dafür ist12hals key=value-Schalter realisiert.scrdate: Das Paket wurde zu 90% neu geschrieben und bietet diverse neue Anweisungen, die allesamt voll expandierbar sind, also auch innerhalb von\MakeUppercaseund\MakeLowercaseverwendet werden können:\CenturyPart{Jahr}: Gibt den Jahrhundertteil des angegebenen Jahres aus. Dabei ist das Jahr 10 wirklich das Jahr 10 und nicht das Jahr 2010! Für das Jahr 2010 würde beispielsweise 20 zurückgegeben.
ACHTUNG: Die Rückgabe ist eine Zahl, keine Ausgabe. Will man die Zahl ausgeben, so muss man beispielsweise\thevoranstellen!\DecadePart{Jahr}: Gibt den Teil ohne den Jahrhundertteil des angegebenen Jahres aus. Für das Jahr 2010 würde beispielsweise 10 ausgegeben.
ACHTUNG: Die Rückgabe ist eine Zahl, keine Ausgabe. Will man die Zahl ausgeben, so muss man beispielsweise\thevoranstellen!\DayName{Jahr}{Monat}{Tag}: Es wird der Wochentags zu dem angegebenen Datum ausgegeben. Dabei ist es erlaubt, statt eines einfachen Tages auch eine einfache Rechnung mit den vier Grundrechenarten anzugeben, um beispielsweise den Wochentag in 4 Tagen zu bestimmen.\DayNameByNumber{Nummer}: Gibt den Namen des zur Nummer passenden Wochentags zurück (siehe\DayNumber). Dabei darf die Nummer auch eine einfache Rechnung mit den vier Grundrechenarten sein.\DayNumber{Jahr}{Monat}{Tag}: Es wird die Nummer des Wochentags zu dem angegebenen Datum zurück gegeben. Dabei ist es erlaubt, statt eines einfachen Tages auch eine einfache Rechnung mit den vier Grundrechenarten anzugeben, um beispielsweise den Wochentag in 4 Tagen zu bestimmen. Die Wochentage werden beginnend mit Sonntag=0, Montag=1 bis Samstag=6 nummeriert.
ACHTUNG: Die Rückgabe ist eine Zahl, keine Ausgabe. Will man die Zahl ausgeben, so muss man beispielsweise\thevoranstellen!\ISODayName{Jahr-Monat-Tag}: Entspricht\DayNamemit Übergabe des Datums in ISO-Schreibweise als ein einziges Argument.\ISODayNumber{Jahr-Monat-Tag}: Entspricht\DayNumbermit Übergabe des Datums in ISO-Schreibweise als ein einziges Argument.\ISOToday: Gibt das aktuelle ISO-Datum aus, wobei einstellige Monate und einstellige Tage zweistellig ausgegeben werden (2010-01-08).\IsoToday: Gibt das aktuelle ISO-Datum aus, wobei einstellige Monate und einstellige Tage auch einstellig ausgegeben werden (2010-1-8).\todaysnumber: Gibt die Nummer des aktuellen Wochentags zurück (siehe\DayNumber).
typearea: Mit Optionpagesize=dvipdfmxwird die Fähigkeit des Programmsdvipdfmxunterstützt, das Papierformat auch innerhalb des Dokuments percode>\special{papersize=...}zu ändern.scrbook,scrreprt,scrartcl:listof=entryprefix: Setzt bei allen Gleitungebungsverzeichnissen, für die ein\listofDateikürzelentrynamegesetzt ist, selbiges vor die Nummern der jeweiligen Einträge. Für die Dateikürzellotundlofist das jeweilige Makro als\tablenamebzw.\figurenamedefiniert. Damit kann man also im Tabellen- und Abbildungsverzeichnis die völlig überflüssigen Präfixe „Tabelle“ bzw. „Abbildung“ vor die Tabellen- bzw. Abbildungsnummern setzen lassen. Damit das von der Formatierung her auch funktioniert, wird gleichzeitiglistof=flataktiviert.listof=...: Die Einstellungen wirken sich nicht nur auf die Verzeichnisse des Besitzersfloatunter Kontrolle vontocbasicaus, die bereits antocbasicgemeldet wurden, sondern auch auf all jene, dietocbasicerst noch gemeldet werden. Damit werden in dem Beispiel:sowohl das Abbildungsverzeichnis als auch das Verzeichnis der Listings als nummerierter Abschnitt (\documentclass[listof=leveldown,listof=numbered]{scrbook} \usepackage{listings} \usepackage{scrhack}% u. a. \lstlistoflistings unter Kontrolle von tocbasic stellen \begin{document} \chapter{Verzeichnisse} \listoffigures \lstlistoflistings \chapter{Test} \begin{figure} \centering \caption{Erste Abbildung} \label{fig:test1} \end{figure} \begin{lstlisting}[caption={Erstes Listing}] Test \end{lstlisting} \end{document}\section) ausgegeben.
scrbook,scrreprt,scrartcl,scrlttr2:\setfootnoterule[Höhe]{Länge}: Setzt die Fußnoten-Trennlinie auf eine bestimmte Höhe und Länge. Dabei werden die Höhe und Länge erst beim Setzen der Linie selbst abhängig von\normalsizeausgewertet. Die Höhe kann komplett entfallen und wird dann nicht geändert. Ist das Argument für die Höhe oder Länge leer, so wird die jeweilige Größe nicht geändert. Es gibt sowohl beim Setzen als auch bei Verwendung der Größen für unplausible Werte eine Warnung.
scrjura:juratitlepagebreak=Ein-/Auswert (Option): In der Voreinstellung sind ab Version 0.5b Seitenumbrüche in Paragraphen-Überschriften verboten. Mit der Option können diese jedoch erlaubt (und auch wieder verboten) werden.ref=nopar(Option): schaltet die Ausgabe des Absatzes bei\refund\refParab.ref=nosentence(Option): schaltet die Ausgabe des Satzes bei\refund\refSentenceab.ref=OnlyParagraph(Option): vereinigtref=noparundref=nosentence.
tocbasic:-
Ist das Paket
microtypegeladen, so wird ab sofort innerhalb von Verzeichnissen character protrusion abgeschaltet, da dies zu fehlerhaften Pünktchen bei den den Einträgen führen kann. Will man dies nicht, soll also in einem Verzeichnis doch mit protrusion gearbeitet werden, so kann man die automatische protrusion-Behandlung per\setuptocmit dem Featurenoprotrusionabschalten. Das Feature bedeutet also nicht etwa kein character protrusion, sondern analog zunobabelkeine protrusion-Behandlung. -
\DeclareNewTOC[Optionen]{Dateierweiterung}: Mit Hilfe dieser Anweisung, kann der gesamte Code aus dem bisherigen Abschnitt 12.4, „Ein komplexes Beispiel“, auf einen Schlag ausgeführt werden. Dazu kennt die Anweisung folgende key=value-Optionen:counterwithin=LaTeX-Zähler: Falls eine neue Gleitumgebung oder eine nicht gleitende Umgebung definiert wird, so wird für diese auch ein neuer Zähler Eintragstyp (siehe Optiontype) angelegt. Dieser Zähler kann in gleicher Weise wie beispielsweise der Zählerfigurebei book-Klassen von Zählerchapterabhängt von einem LaTeX-Zähler ahängig gemacht werden.float: Es wird nicht nur ein neuer Verzeichnistyp definiert, sondern auch Gleitumgebungen Eintragstyp (siehe Optiontype) und Eintragstyp*(vgl.figureundfigure*).floatpos=Gleitverhalten: Jede Gleitumgebung hat ein voreingestelltes Gleitverhalten, das über das optionale Argument der Gleitumgebung überladen werden kann. Mit dieser Option wird das Gleitverhalten für die optional erstellbare Gleitumgebung (siehe Optionfloat) festgelegt. Die Syntax und Semantik ist dabei mit der des optionalen Arguments für die Gleitumgebung identisch. Wird die Option nicht verwendet, so ist das voreingestellte Gleitverhaltentbp, also top, bottom, page.floattype=Gleittyp: Jede Gleitumgebung hat einen numerischen Typ. Gleitumgebungen, bei denen im Gleittyp nur unterschiedliche Bits gesetzt sind, können sich gegenseitig überholen. Die Gleitumgebungenfigureundtablehaben normalerweise die Typen 1 und 2, können sich also gegenseitig überholen. Es sind Typen von 1 bis 31 (alle Bits gesetzt, kann also keinen anderen Typ überholen und von keinem anderen Typen überholt werden) zulässig. Wir kein Typ angegeben, so wird mit 16 der höchst mögliche Ein-Bit-Typ verwendet.forcenames: Siehe Optionnameundlistname.hang=Einzug: Mehrzeilige Verzeichniseinträge besitzen ab der zweiten Zeile einen Einzug von links. Dieser Einzug wird auch für die Position des Textes in der ersten Zeile eines nummerierten Eintrags verwendet. Der Wert des Einzugs kann über diese Option bestimmt werden. Ohne diese Option wird als Einzug 1,5 em verwendet.indent=Einzug: In der hierarchischen Form besitzt jeder Verzeichniseintrag einen Einzug von links. Der Wert des Einzugs kann über diese Option bestimmt werden. Ohne diese Option wird als Einzug 1 em verwendet.level=Gliederungsebene: Jeder Eintrag in ein Verzeichnis hat eine nummerische Gliederungsebene, die über diese Option gesetzt werden kann. Ist diese Option nicht angegeben, so wird der Standardwert 1 verwendet.listname=Verzeichnistitel: Jedes Verzeichnis hat eine Überschrift, die durch diese Option bestimmt werden kann. Ist die Option nicht angegeben, so wir als Verzeichnistitel »List ofMehrzahl des Eintragstyps« (siehe Optiontypes) verwendet, wobei das erste Zeichen der Mehrzahl des Eintragstyps in einen Großbuchstaben gewandelt wird. Es wird auch ein Makro\listEintragstypnamemit diesem Wert definiert, der jederzeit geändert werden kann. Dieses Makro wird jedoch nur definiert, wenn es nicht bereits definiert ist oder zusätzlich Optionforcenamesgesetzt ist.name=Eintragsname: Sowohl als optionaler Präfix für die Einträge im Verzeichnis als auch für die Beschriftung in einer Gleitumgebung (siehe Optionfloat) oder einer nicht gleitenden Umgebung (siehe Optionnonfloat) wird ein Name für einen Eintrag in das Verzeichnis benötigt. Ohne diese Option wird als Eintragsname derEintragstypverwendet, bei dem das erste Zeichen in einen Großbuchstaben gewandelt wird. Es wird auch ein Makro\Eintragstypnamemit diesem Wert definiert, der jederzeit geändert werden kann. Dieses Makro wird jedoch nur definiert, wenn es nicht bereits definiert ist oder zusätzlich Optionforcenamesgesetzt ist.nonfloat: Es wird nicht nur ein neuer Verzeichnistyp definiert, sondern auch eine nicht gleitende Umgebungen Eintragstyp-(siehe Optiontype), die ähnlich wie eine Gleitumgebung verwendet werden kann, jedoch nicht gleitet und auch nicht die Grenzen der aktuell gültigen Umgebung durchbricht.owner=Besitzer: Jedes neue Verzeichnis hat bei tocbasic einen Besitzer (siehe Anleitung). Dieser kann hier angegeben werden. Ist kein Besitzer angegeben, so wird der Besitzer »float« verwendet.type=Eintragstyp: Der Eintragstyp gibt den Typ der Einträge in das entsprechende Verzeichnis an. Der Typ wird auch als Basisname für verschiedene Makros und ggf. Umgebungen und Zähler verwendet. Er sollte daher nur aus Buchstaben bestehen. Wird diese Option nicht verwendet, so wird für Eintragstyp die Dateierweiterung verwendet.types=Mehrzahl des Eintragstyps: An verschiedenen Stellen wird auch die Mehrzahlform des Eintragstyps verwendet, beispielsweise um eine Anweisung\listofMehrzahl des Eintragstyps zu definieren. Wird diese Option nicht verwendet, so wird als Mehrzahl des Eintragstyps einfach »Eintragstyps« verwendet.
Das Beispiel aus Abschnitt 12.4, »Ein komplettes Beispiel«, schrumpft damit zu
\DeclareNewTOC[% type=remarkbox,% types=remarkboxes,% float,% Es sollen Gleitumgebungen definiert werden. floattype=4,% name=Merksatz,% listname={Verzeichnis der Merks\"atze}% ]{lor} \setuptoc{lor}{chapteratlist}zusammen. Anschließend sind neben den Umgebungen
remarkboxundremarkbox*auch der Zählerremarkboxund die Anweisungen\theremarkbox,\remarkboxformat,\remarkboxname,\listremarkboxname,\listofremarkboxesund einige intern verwendete Anweisungen mit Bezug auf die Dateiendunglordefiniert. Soll der Gleitumgebungstyp dem Paket überlassen werden, so kann Optionfloattypeim Beispiel zusätzlich entfallen. Wird zusätzlich die Optionnonfloatangegeben, so wird zusätzlich ein Umgebungremarkbox-definiert, in der ebenfalls\captionverwendet werden kann, die jedoch nicht gleitet.
-
\MakeUppercase{\todayname}und\MakeLowercase{\todaysname}funktionierten mitscrdatenicht wie erwartet, sondern liefern immerunkown.
Ursache: Die mangelnde Expandierbarkeit von\todaysname. Das Problem existierte vermutlich schon seitscrdate1.0.- Die Umgebung
addmarginfügte einen doppelten Absatzabstand ein, wenn sie unmittelbar nach einem Absatz verwendet wird.
Ursache:\partopsepwar falsch gesetzt.
Notlösung:\parskipvor der Verwendung vonaddmarginlokal auf0ptsetzen.
3.05
scrlttr2: neue Pseudolängenfirstheadhposundfirstfoothpos.scrartcl,scrbook,scrreprt:\captionofwie auch von den Paketencapt-ofundcaptionbekannt.- Die Verwendung einer obsoleten Option konnte u. U. zu einer Fehlermeldung
statt einer reinen Warnung führen.
Lösung: Die obsolete Option durch ihr eine aktuelle Option ersetzen. - In
tocbasicgab es ein paar Fehler in Anweisungen, die von KOMA-Script selbst nicht verwendet werden.
3.04a
\KOMAoptions{titlepage=...}funktionierte im Gegensatz zu\documentclass[titlepage=...]{...}nicht.
Ursache: Die Option wurde nicht zur Laufzeit, sondern bereits beim Laden der Klasse ausgewertet und beeinflusste dann nur die Definition von\maketitleundabstract.
Lösung: Die Wahl bereits beim Laden der Klasse also im optionalen Argument von\documentclasstreffen.- Die Verwendung von
KOMAoldfürscrlttr2führte zu der Fehlermeldung:
Ursache: Die Generierung vonRunaway argument? {\@setplength {foldmarkhpos}{3.5mm} \@setplength {tfoldmarkvpos}{103.\ETC. ! File ended while scanning use of \@setkomaname.KOMAold.lcoausscrklco.dtxwar fehlerhaft.
3.04
- Bei Verwendung von
\addtoeachtocfileoder\listofeachtocwurde ein Fehler wegen nicht definiertem\doforeachfocfilegemeldet.
Ursache: Ein Tippfehler intocbasic.stybzw.tocbasic.dtx.
Notnagel: In der Präambel\let\doforeachfocfile\doforeachtocfileeinfügen. - Die dokumentierte Variable
addresseeimageinscrlttr2funktionierte nicht, sondern ergab eine Fehlermeldung.
Ursache: Schreibfehler in der Klasse.
Notlösung:\ifkomavar{addresseeimage} {\setkomavar{addresseeimage}{...}} {\setkomavar{addresseimage}{...}} - Die Kompatibilitätseinstellungen
version=3.03undversion=3.03aführten zu demselben Ergebnis wieversion=first.
Workaround: Kompatibilitätseinstellungversion=3.02cverwenden, die mitversion=3.03undversion=3.03aidentisch ist.
Hinweis: Die Einstellungversion=lastist von dem Problem nicht betroffen. Da diese Einstellung von der Version abhängig ist, ist sie jedoch im Gegensatz zuversion=3.02ckein Ersatz fürversion=3.03oderversion=3.03a.
3.03a
- Die
labeling-Umgebung funktionierte nicht.
Abhilfe: Folgenden Code in die Dokumentpräambel einfügen:\makeatletter \ifstr{\KOMAScriptVersion}{2009/04/01 v3.03 KOMA-Script}{% \renewenvironment{labeling}[2][]{% \def\sc@septext{#1}% \list{}{\settowidth{\labelwidth}{% {% \usekomafont{labelinglabel}{#2% \usekomafont{labelingseparator}{\sc@septext}}% }% }% \leftmargin\labelwidth \advance\leftmargin by \labelsep \let\makelabel\labelinglabel }% }{% \endlist }% }{} \makeatother - Die Optionen
chapterprefixandappendixprefixführten bei Sprachen wie Spanisch, bei denen~ein shortcut-Zeichen ist, zu Problemen.
Abhilfe: Folgenden Code in die Dokumentpräambel einfügen:\newcommand*{\chapterformat}{% \mbox{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot\enskip}% }
3.03
- Verwendete man die seit 3.02 neue Möglichkeit per Font-Element
labelinglabeloderlabelingseparatordie Schriften in einerlabeling-Umgebung einzustellen, dann stimmt die Berechnung des längsten Elements nicht.
Hintergrund: Es wurde schlicht vergessen, bei der Berechnung die entsprechenden Elemente bereits zur Anwendung zu bringen.
Notlösung: Das Font-Elementlabelingseparatornicht verwenden, sondern stattdessen die Schrift des optionalen Argument direkt im optionalen Argument vonlabelingmit angeben. Das Elementlabelinglabelkonnte verwendet werden, die entsprechende Schriftumschaltung sollte jedoch im obligatorischen Argument vonlabelingzusätzlich auch angegeben werden.
Alternativlösung: Genau wie vor Version 3.02 arbeiten und die beiden Elemente bis ignorieren.
3.02b
- Werden Verzeichnisse per Option nummeriert, fehlte die Nummer im Kolumnentitel.
- Bei gleichzeitiger Verwendung von
amsmathstimmte die vertikale Ausrichtung der Bildunterschriften nicht exakt.
Ursache:amsmathdefiniert\smashinkompatibel um und KOMA-Script verlässt sich darauf, dass\smashwie im LaTeX-Kern definiert ist.
Workaround: Vor dem Laden vonamsmathfolgende Zeilen in die Präambel einfügen:Damit wird dann an der kritischen Stelle die Originaldefinition verwendet. Da dies innerhalb einer Gruppe geschieht, wird ansonsten weiterhin die\makeatletter \let\orig@smash\smash \let\orig@scr@smashdp\scr@smashdp \renewcommand*{\scr@smashdp}{\let\smash\orig@smash\orig@scr@smashdp} \makeatother\smashVersion vonamsmathverwendet. - Wird die Schriftgröße für das Element
captionbeispielsweise per\setkomafont{caption}{\footnotesize}verkleinert, so wurden einzeilige\caption-Texte vertikal falsch (nämlich für\normalsize) ausgerichtet.
Ursache: Bei der Sonderbehandlung für einzeilige\captions wurde die Schrift zu spät umgeschaltet.
Workaround: Kann man auf die Sonderbehandlung für einzeilige captions verzichten, so hilft die Optioncaptions=nooneline, die man beim Laden der Klasse oder per\KOMAoptionsbzw.\KOMAoptionsetzen kann. Anderenfalls halft nur, das Setzen der\captions nicht der Klasse zu überlassen, sondern beispielsweise das Paketcaptionszusätzlich zu laden.
3.02a
- Diese Version war ein Versehen. Offiziell gibt es sie nicht.
3.02
- Bei Verwendung von
scrpage2, Version 2.2f konnte es bei gleichzeitiger Verwendung vontitleseczu einer eigenartigen Fehlermeldung wegen angeblicher Undefined control sequence\def@onesideheadkommen.
Ursache: Dämlicherweise hatte ich mit einem\string\if@mainmatterin einer Ausgabe die\if...\fi-Schachetelungserkennung von TeX ausgehebelt.
3.01b
\providecaptionname, \newcaptionnameund\renewcaptionnamefunktionierten nur solange noch keine Sprache ausgewählt wurden korrekt. Wurde bereits eine Sprache ausgewählt, konnte die Entscheidung, ob der Begriff für diese Sprache neu ist, falsch sein. Dadurch konnte bei mehrsprachigen Dokumenten, bei denen Begriffe mit einer dieser Anweisungen definiert wurden, eine ungewollte Sprachenmischung entstehen.- Paket
scrextendmeldete Fehler, wenn Optionextendedfeature=titlenicht verwendet wurde.
Notlösung: Die angegebenen Option verwenden und den Titel vonscrextendbauen lassen.
3.01a
- Die Verwendung von Absätzen in Fußnoten führte zu einer Fehlermeldung.
Ursache: Die Umdefinierung von\@footnotetexterfolgte leider nicht long.
Lösung: Die einfachste Lösung bestand darin\endgrafstatt\paroder Leerzeile zu verwenden, weil dabei ein Absatz ausgeführt wird, ohne dass der Absatztest für das Argument, die erkennt.
Hack: Sollte die Lösung aus irgendwelchen Gründen nicht in Frage kommen, konnte mitin der Präambel die Ursache des Problems beseitigt werden. Nachteil dieser Methode ist, dass das Dokument damit von einer internen Definition und internen Macros abhängig wurde und damit nicht zukunftssicher ist!\makeatletter \renewcommand{\@footnotetext}[1]{\scr@saved@footnotetext{#1}\csname FN@mf@prepare\endcsname} \makeatother
Danke für die Problemanalyse und Meldung an: J. S.
3.01
- Das Paket
tocbasicenthält seit Version 1.0 die interne Anweisung\@addtotoclist. Leider definiert das Paketflowframeine gleichlautende Anweisung. Dadurch konnte das Paketflowframnicht zusammen mittocbasicoder einer KOMA-Script-Klasse verwendet werden. Deshalb wurde\@addtotoclistin\scr@addtotoclistumbenannt.
Ursache: Ich hatte bei der Implementierung vontocbasicversäumt interne Anweisungen darauf abzuklopfen, dass sie nicht bereits von anderen Paketen definiert werden. - Verzeichnisse im Zweispalten-Modus führten zu einer Fehlermeldung.
Ursache: Ein Tippfehler im Pakettocbasic. Notlösung:\newcommand*{\twocolumne}{\twocolumn}in der Dokumentpräambel. scrartclschaltete bei Verzeichnissen in den Einspalten-Modus (bei den anderen Klassen war das schon immer so und ist dort korrekt). Ursache: Verzeichnisse werden ab KOMA-Script 3 mit dem Pakettocbasicgesetzt. In Version 1.0 dieses Pakets ist die Unterbindung der Umschaltung nicht vorgesehen. Ab Version 3.01 wird hingegen das Umschalten auf einspaltigen Satz als neue Eigenschaft definiert und entsprechend von den KOMA-Script-Klassen genutzt. Außer dass damit das alte Verhalten beiscrartclwieder vorhanden ist, erhält der Anwender damit sozusagen als kleine Entschädigung eine Wahlmöglichkeit.
Notlösung:\begingroup\let\onecolumn\relax\let\twocolumn\relax\tableofcontents\endgroup(für andere Verzeichnisse entsprechend).- Die Initialisierung von
\topsep,\itemsepund\leftmarginfehlte in den Schriftgrößendateien, was beispielsweise zu Problemen mitamsthmführt.
Notlösung:\makeatletter\@listi\makeatothernach dem Laden der Klasse einfügen.
3.00
- Vermutlich alle Versionen von KOMA-Script erkannten bei nummerierten
Verzeichnissen im Anhang nicht, dass diese nicht arabisch nummeriert werden
und deshalb die Gliederungsnummern mit einem Punkt abschließen
sollten. Dieser Fehler machte sich natürlich nur bemerkbar, wenn man außer
Verzeichnissen keine weiteren nummerierten Kapitel oder Abschnitte im Anhang
hat.
Lösung: Manuell per Option den Punkt einschalten.
Version 2.95 bis 2.98c#
2.98c
- Es fehlte noch die Übersetzung einer kleinen Passage in der englischen Anleitung.
- Die Optionen
headsepline,noheadsepline,footseplineundnofootseplinekonnten nicht nach\begin{document}gesetzt werden. Notlösung: Diese Optionen vor\begin{document}setzen
2.98b
- Es gab dummerweise noch immer einen Fehler beim Setzen der
Absenderergänzung. Konkret wurde diese nicht gesetzt, wenn
\firstheadverwendet wird.
2.98a
- Die Option
twocolumnin\documentclassschalteten auch die Optiontwosideauf denselben Wert.
Lösung: Nachtwocolumn=trueodertwocolumn=falsedie Optiontwosidemit dem gewünschten Wert in einer eigenen\KOMAoptions-Anweisung setzen oder die Optiontwocolumnausschließlich per\KOMAoptionssetzen.
Hintergrund: Die Optionentwocolumnundtwosidesind eigentlich Satzspiegeloptionen und daher Optionen des Paketstypearea. Einige wenige Wrapper-Klassen-Autoren wollten aber unbedingt, dass sie die Option auch an die Klasse schicken können. Das steht zwar im Widerspruch zu meinen eigenen Überzeugungen, aber ich hatte mich mal wieder breit schlagen lassen. Dabei hatte ich zunächst implementiert, dass die KOMA-Script-Klassen die Optiontwosideantypeareaweiterreichen. Danach habe ich diese Funktion für die Optiontwocolumnkopiert und dabei vergessen eintwosideintwocolumnzu ändern. Deshalb setzten nun die KOMA-Script-Klassen bei Angabe der Optiontwocolumndessen Wert für das Pakettypeareaals Wert fürtwoside. Der Bug war damit aus zwei Gründen besonders ärgerlich: Zum einen war es ein Anfängerfehler. Zum anderen hätte es ihn nicht gegeben, wenn ich mich nicht mal wieder gegen meinen Überzeugungen hätte breit schlagen lassen. - Bei Verwendung der Option
fromalign=centerwurde der Inhalt der Variablenlocationvonscrlttr2nicht ausgegeben. Eigentlich entspricht dieses Verhalten dem, was in der Implementierungsdoku bereits in früheren Versionen angegeben war. Aus der Anwenderanleitung ging das jedoch so nicht hervor. Daher wurde die Verhaltenänderung als Bug deklariert und behoben.
2.98
- Es gab noch ein paar kleinere Fehler in der englischen Anleitung, wie beispielsweise zwei nicht aufgelöste Referenzen.
- In der Geschäftszeile wurden nicht nur die Bezeichner, sondern auch die
Werte in
\sffamily\scriptsizegesetzt.
Lösung:\setkomafont{refvalue}{} - Wenn ein Betreff gesetzt ist, führte
scrlttr2eine\show-Anweisung aus, die von einigen LaTeX-Shells als Fehler interpretiert werden.
Notlösung: Im interaktiven Modus einmal Taste Return/Enter drücken oder\renewcommand*{\show}[1]{}in die Präambel einfügen. - Wenn man nicht
\setkomafont{refvalue}{}verwendet, stimmte das vertikal spacing beim Datum nicht.
Notlösung: Die genannte Anweisung verwenden.
2.97d
- Es gab noch ein paar kleinere Fehler in der englischen Anleitung.
- Leerzeichnen in
\KOMAoptionswaren signifikant. Da in der Doku nicht explizit steht, dass das nicht der Fall ist, war das zwar kein Bug, es wurde aber dennoch behoben.
2.97c
-
Es gibt eine brauchbare englische Anleitung.
-
locfield=narrowverhielt sich wielocfield=wideund umgekehrt. -
Bei Briefen lieferte
\flushbottomteilweise unerwartete Ergebnisse.
Lösung: Unmittelbar vor der Ende des Briefes\raggedbottomeinfügen. -
Unter ungünstigen Umständen führte die Verwendung des
color- oderxcolor-Pakets zu unerwünschten Seitenumbrüchen beispielsweise zwischen aufeinanderfolgenden Überschriften.
Lösung:\setkomafont{disposition}{\normalcolor\nobreak\sffamily\bfseries}in der Präambel einfügen.
2.97b
- Die Verwendung der Option
chapterprefixführte bei\chapterzu einer Fehlermeldung.
Notlösung:\let\endgraph\endgrafin die Präambel einfügen. - Die Logik bei
\ifundefinedwarf einen Fehler, falls man TeX an Stelle von e-TeX verwendet hat.
Lösung: Entsprechend der Empfehlung des LaTeX-Teams e-TeX für LaTeX verwenden.
2.97a
- Ein dummer Fehler in einer neuen Funktion von
scrlfileführte zu Fehlermeldungen, wenn das optionale Argument beim Laden von Paketen oder Klassen mit\LoadClassWithOptionsoder\RequiresPackageWithOptionsverwendet wurde.
2.97
- Kompatibilitätsprobleme mit
ifvtex.stybehoben.
Notlösung: Optioninternalonly=/ifvtex. - Option
cleardoublestandardführte zu einer fehlerhaften Info-Ausgabe und einem Fehler.
Empfehlung: Option weglassen, da Voreinstellung. - Das Automatische Setzen des Punktes bei Gliederungnummern (falls in der
Gliederung auch römische Zahlen oder Buchstaben vorkommen) funktionierte
nicht.
Notlösung: Den Punkt per Option erzwingen. - In der Anleitung fehlten alle Randnotizen auf geraden Seiten (bzw. lagen außerhalb der sichtbaren Seite).
2.96
- Die Klassen kammen zwar bei der nicht dokumentierten Option
fontsizemit gebrochenen Größen zurecht, typearea verursachte dann aber einen Fehler. - Option
headseplineaktivierte nicht automatischheadinclude. - Option
footseplineaktivierte nicht automatischfootinclude. - Aliasnamen für Fontelemente führten bei
\usekomafontzur Ausgabe des Namen des Elements statt zu dessen Verwendung. Dies führte zu einer Inkompatibilität mit Paketen/Klassen/Dokumenten, in denen\usekomafont{sectioning}verwendet wird, dasectioningneuerdings ein Alias fürdispositionist. Man konnte den Fehler auch in der Anleitung sehen. Ein Workaround wäre\usekomafont{sectioning}durch\usekomafont{disposition}zu ersetzen. typeareasollte vorxkeyvalgeladen werden.- Für Listen wurde dummerweise
\parskipstatt\parsepgesetzt. - Kompatibilitätsprobleme mit
graphicxbei Verwendung des Treiberspdftexbehoben.
2.95b
- Die Entscheidung von
\ifthispageoddfunktionierte häufig nicht korrekt.
2.95a
- Im Zusammenhang mit dem
color- oderxcolor-Paket kam es eventuell zu einem Problem bei der vertikalen Ausrichtung von\caption. - Die
addmargin-Umgebung hinterließ einen falschen Wert in\@listdepth. - Die vertikale Ausrichtung von einzeiligen und mehrzeiligen
\captions war nicht gleich.
2.95
- Die deutsche Anleitung
scrguide.pdfpräsentierte sich mit einem falschen Datum.
Hintergrund: Das Datum wurde automatisch aus den\ProvidesFile-,\ProvidesClass-,\ProvidesPackage-Anweisungen aller an der Doku beteiligten Dateien erzeugt. In den KOMA-Script3-Quellen, auf denen die PDF-Datei (und nur diese) basiert, ist in der Anleitung zuscrpage2ein falscher Datumseintrag. komascript.md5auf CTAN enthielt eine falsche Prüfsummen fürscrguide.pdfundChangeLog.- Listen (und alles, was darauf basiert) reagierten nur auf
parskip-Optionen, nicht jedoch auf direkte Veränderungen von\parskip. - Bei
scrbooksorgte die Optiononesidenicht gleichzeitig für\raggedbottom, sondern es wurde weiterhin mit\flushbottomgearbeitet.
Workaround: ggf. selbst\raggedbottomzusätzlich zur Klassenoptiononesideverwenden. - Faltmarken in
scrlttr2waren vom Satzspiegel abhängig.