Ä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
-
Im
READMEwurde der fehlende Hinweis aufscrlayer-fancyhdrergänzt. -
Bisher waren die Quellen von KOMA-Script entweder ISO-8859-1 oder US-ASCII codiert. Das hatte in erster Linie historische Gründe, weil 1993 UTF-8 noch nicht allgemein verbreitet war und von LaTeX auch nicht unterstützt wurde. Schon seit einigen Jahren war geplant, die Quellen endlich auf UTF-8 umzustellen. Allerdings war das von eher geringen Priorität, weil nicht zwingend notwendig und durchaus nicht mit der Umkodierung der Dateien erledigt. Das wird sich jetzt aber definitiv ändern. Wer KOMA-Script aus dem Quellcode-Repository per svn up aktualisiert und selbst erzeugt, sollte daher unbedingt erst
make distcleanaufrufen, um alle temporären Dateien zu löschen. -
scrarticle,scrreport,scrletter: Drei neue Wrapper-Klassen für die Jüngeren unter uns, die sich nicht mehr an 8.3-Dateinamen erinnern können und deshalb Schwierigkeiten mit den normalen Klassennamen haben. Dabei verwenden die Wrapper-Klassen in\KOMAClassNameweiterhin die alten Namen. Es gibt aber zusätzlich dann auch ein\KOMALongClassName, das eigentlich überflüssig ist, weil man es einfach ausscr\ClassNamebilden könnte.
Hinweise: Diese neu verfügbaren Wrapper-Klassen, die auf Anregung eines langjährigen Benutzers (sic!) implementiert wurden, sollten nicht als Freibrief verstanden werden, diese an Stelle der echten Klassen zu verwenden. Offiziell dokumentiert sind weiterhin nurscrartcl,scrreprtundscrlttr2. Die Klassescrlettereine Wrapper-Klasse für die Verwendung von Klassescrartclmit Verwendung von Paketscrletter. Damit bieten die Klasse und das gleichnamige Paket die gleichen Brief-Möglichkeiten, währendscrlttr2ggf. nicht denselben Funktionsumfang hat. -
scrartcl,scrbook,scrreprt,scrlttr2:- Korrektur des Fehlers, dass es bei der Kombination des Pakets
amsthmmit einer KOMA-Script-Klasse passieren konnte, dass der Abstand über einer mitamsthmdefinieren Umgebung bei Verwendung von Absatzabstand verschwindet. In Zusammenhang mitenumitemgeschah das auch ohne Verwendung von KOMA-Script-Optionparskip, wenn diese Umgebung innerhalb einer Listenumgebung steht. Dies stellt jedoch nur einen Spezialfall des eigentlichen Problems dar. Das tatsächliche Problem ist, dassamsthmgenerell für den vertikalen Abstand nicht einfach\topsepverwendet, sondern\addvspace{\topsep}\addvspace{-\parskip}ausführt. Wird bei den Einstellungen für Listen ein Absatzabstand bereits berücksichtigt, führt dies dazu, dass der Absatzabstand doppelt berücksichtigt wird und damit der Abstand zu klein wird. Das war bisher beispielsweise auch bei Verwendung von Paketparskipder Fall. Der Effekt wird bei Verwendung von KOMA-Script-Klassen mit Paketenumitemdadurch verstärkt, dassenumitemohne Optionignoredisplayedaus einertrivlist-Umgebung eine normale Listenumgebung macht.
Hinweis: Zur Umgehung dieses Problems, das meiner Meinung nach eigentlich ein Problem vonamsthmist, patchen die KOMA-Script-Klassen nunamsthmmit Hilfe vonxpatch, um das dann schädliche\addvspace{-\parskip}zu entfernen.
- Korrektur des Fehlers, dass es bei der Kombination des Pakets
-
scrartcl,scrbook,scrreprt:-
Mit
\thankserzeugte Fußnoten werden nun nur noch auf der korrekten Seite ausgegeben. Zu fehlte es bei Verwendung von Titelköpfen, wie sie beiscrartclvoreingestellt sind, teilweise aber auch bei Titelseiten in der Umschaltung auf neue Seiten bzw. Einspaltigkeit bzw. bei der Ausgabe des Titels teilweise am korrekten Zurücksetzen der mit\thankserzeugten Fußnoten.
Hinweis: Das Problem wurde von Andrew D. gemeldet. -
Der ziemlich üble Hack, der auf Kosten diverser Möglichkeiten von KOMA-Script und unter Nutzung diverser interner Makros von
titlesecdie Verwendung vontitlesecmit KOMA-Script-Klassen eingeschränkt ermöglicht hat, wurde entfernt. Dies dient letztlich dazu, Versionsabhängigkeiten von einem Drittpaket zu beseitigen, das selbst die KOMA-Script-Klassen nie sauber unterstützt hat, und auch den Code der Klassen aufzuräumen und wartbar zu halten. Außerdem wird so der Irrglaube reduziert, das Paket würde KOMA-Script-Klassen unterstützen. Das war noch nie der Fall und in vielen Fällen ging die Kombination auch bisher schon schief. Wer echte Unterstützung der KOMA-Script-Klassen durchtitlesechaben will, möge sich an dessen Autor wenden. -
Die Gliederungsbefehle kennen bei Verwendung des erweiterten optionalen Arguments (siehe
headings=optionto…) den neuen Schalternonumber, um die Nummerierung abzuschalten. Für Kapitel und Abschnitte entspricht das letztlich\addchapund\addsec(ohne Stern!).
Hinweis: Diese Möglichkeit wurde schon vor Jahren mit Elke diskutierte. -
Die interne Anweisung
\bprot@dottedtoclineist veraltet und gibt eine entsprechende Warnung aus. Es ist durchaus geplant, sie zukünftig aus den Klassen zu entfernen.
Hinweis: Änderung stand schon lange in der TODO-Datei. -
Wird
amsthmzusammen mit einer KOMA-Script-Klasse verwendet, entsteht eine neue Abhängigkeit von Paketxpatch. Obwohl ich normalerweise bemüht bin, derartige Abhängigkeiten zu vermeiden bzw. inscrhackauszulagern, wurde in diesem Fall beschlossen, das Wagnis vorerst einzugehen. Die Entscheidung ist jedoch nicht endgültig. -
Um zu ermöglichen, dass die Nummerierung aller Gliederungsebenen via
\setcounter{secnumdepth}{-\maxdimen}abgeschaltet werden kann (was beispielsweisescrartclunter gewissen Umständen für Kolumnentitel nutzt), sind bei\DeclareSectionCommandnur nochlevel-Werte größer als-\maxdimenerlaubt.
Hinweis: Diese Änderung/Klarstellung geht auf eine Frage bei TeX.Stackexchange und einen Kommentar zu einer dortigen Antwort zurück. -
Die Anweisung
\IfUseNumber{TRUE-Code}{FALSE-Code}, kann innerhalb der Überschriften und nur dort dazu verwendet werden, festzustellen, ob die aktuell in Verarbeitung befindliche Überschrift mit einer Nummer versehen wird oder nicht. Das schließt die Stellung vonsecnumdepthebenso wie die Verwendung einer Sternform einer Gliederungsüberschrift oder\addpart,\addchapoder\addsecund beiscrbookauch\frontmatter,\mainmatterund\backmatterein. Bei einigen Do-Hooks (siehe unten) kann diese Anweisung ggf. nützlich sein. Sie ist aber nicht bei allen Do-Hooks zulässig. Bisher ist sichergestellt, dass sie beiheadings/begingroup/…undheadings/endgroup/…gültig ist.
Achtung: Im moving Argument einer Gliederungsanweisung ist der Befehl nicht gültig! -
Der neue Do-Hook-Mechanismus (siehe Änderungen bei
scrbase) wird verwendet. Folgende Hook-Ausführungen mit\ExecuteDoHookwurden bisher implementiert:heading/begingroup/Überschriftenname: wird zu Beginn der Gruppe ausgeführt, in der auch\partlineswithprefixformat,\chapterlineswithprefixformat,\chapterlinesformat,\sectionlinesformatbzw.\sectioncatchphraseformatausgeführt werden.heading/endgroup/Überschriftenname: wird am Ende der Gruppe ausgeführt, in der auch\partlineswithprefixformat,\chapterlineswithprefixformat,\chapterlinesformat,\sectionlinesformatbzw.\sectioncatchphraseformatausgeführt werden.heading/preinit/Überschriftenname: wird ganz am Anfang eines Gliederungebefehls ausgeführt, also ggf. noch bevor der vorherige Absatz beendet wurde!heading/postinit/Überschriftenname: wird am Ende der Initialisierung eines Gliederungsbefehls ausgeführt und ersetzt zukünftig\At@startsection. Die Anweisung ist jedoch nicht nur für densection-Stil, sondern auch fürchapterundpartverfügbar. Die veraltete Anweisung\At@startsectionfunktioniert weiterhin (nur für Überschriften im Stilsection) wird aber auf den neuen Do-Hook abgebildet.heading/branch/nostar/Überschriftenname: wird unmittelbar bei der Verzweigung zwischen Sternvarianten und Normalvarianten eines Gliederungsbefehls für die Normalvariante ausgeführt und ersetzt zukünftig\Before@sect. Die Anweisung ist jedoch nicht nur für densection-Stil, sondern auch fürchapterundpartverfügbar. Die veraltete Anweisung\Before@sectfunktioniert weiterhin (nur für Überschriften im Stilsection) wird aber auf den neuen Do-Hook abgebildet.heading/branch/star/Überschriftenname: wird unmittelbar bei der Verzweigung zwischen Sternvarianten und Normalvarianten eines Gliederungsbefehls für die Sternvariante ausgeführt und ersetzt zukünftig\Before@ssect. Die Anweisung ist jedoch nicht nur für densection-Stil, sondern auch fürchapterundpartverfügbar. Die veraltete Anweisung\Before@ssectfunktioniert weiterhin (nur für Überschriften im Stilsection) wird aber auf den neuen Do-Hook abgebildet.
Dabei ist Überschriftenname jeweils der Name einer Überschrift, wie er auch bei
\DeclareSectionCommandetc. angegeben wird.
Diese Hooks sind auf Anforderung derbiblatex-Autoren entstanden. Weitere Hooks dieser Art können je nach Notwendigkeit entstehen.
-
-
scrartcl,scrreprt:- Die Optionen
abstactonundabstractoffwerden in der log-Datei nun nicht mehr fälschlich als Standardoptionen aufgeführt. Stattdessen wird korrekt vor der Verwendung dieser veralteten Optionen gewarnt und der korrekte Ersatz angegeben.
- Die Optionen
-
scrbook,scrreprt:- Das
\relaxin der Definition von\thefigure,\thetableund\theequationwurde entfernt, weil einige Pakete damit ein Problem haben. Eigentlich sollten diese Pakete korrigiert werden, aber ich bin ja nicht so.
- Das
-
scrlttr2,scrletter:- Bei Sprachumstellung auf
australienfunkioniert nun auch die Umstellung des Datumsformats. Der Workaroundin der Dokumentpräambel ist damit überflüssig.\ifundefinedorrelax{dateaustralien}{}{\let\dateaustralian\dateaustralien} - Farbänderungen in Feldern der ersten Briefseite führen nun nicht mehr zu
einem Zurücksetzen der Farbe des Briefs.
Hinweis: Das Problem in früheren Versionen wurde von S. C. analysiert und gemeldet. - Bei Kombination von
DINmtextmitfromalign=falsewird nun nicht mehr das erste Token nach einem\\infromaddressweggeworfen. Da dieser Bug schon recht extrem und seit der ersten Version vonscrlttr2vorhanden war, gehe ich davon aus, dass diese Kombination in 15 Jahren von absolut niemandem verwendet wurde. Daher wurde die Sonderbehandlung der Absenderadresse für diesen Fall, die zu dem Fehler geführt hat, nicht etwas korrigiert, sondern komplett entfernt. - Doppeseitige Briefe werden nun nicht mehr mit vertikalem Ausgleich
(
\flushbottom), sondern Briefe unabhängig vontwosideentsprechen der Anleitung generell ohne vertikalen Ausgleich (also\raggedbottom) gesetzt.
Hinweis: Dieses Problem in Version 3.17 bis 3.26b wurde auf TSX entdeckt und von dritten an mich weitergeleitet. - Option
symbolicnameskennt die neuen Wertemarvosym,fontawesomeundawesome. Der Wertmarvosymentspricht den bisherigen Wertentrue,onundyes. Die beiden Wertefontawesomeundawesomeverwenden dagegen das Paktefontawesomefür die Symbole. - Der neue Befehl
\foreachkomavar{Variable,…}{Code}führt Code{Variable}für jede Variable aus. - Der neue Befehl
\foreachkomavarifempty{Variable,…}{True-Code}{False-Code}führt True-Code{Variable}für jede Variable aus, die leer ist, und False-Code{Variable}für jede Variable, die nicht leer ist. - Der neue Befehl
\foreachemptykomavar{Variable,…}{Code}führt Code{Variable}für jede Variable aus, die leer ist. - Der neue Befehl
\foreachnonemptykomavar{Variable,…}{Code}führt Code{Variable}für jede Variable aus, die nicht leer ist. - Briefe werden generell
\raggedbottomgesetzt. Eine Änderung ist nur noch mit\flushbottominnerhalb von\begin{letter}…\end{letter}bzw. über\AtBeginLetter{\flushbottom}möglich. - Zwar erlaubt
scrlttr2das Setzen von Optiontwocolumn, innerhalb der Briefumgebung führt dies jedoch nicht zu sinnvollen Ergebnissen.
- Bei Sprachumstellung auf
-
scrbase:-
\FamilyOptions(und das davon abgeleitete\FamilyOption) setzen Familienoptionen nun wirklich wie in der Anleitung angegeben als erstes. Zuvor wurden sie leider komplett ignoriert. -
Das unerwünschte Leerzeichen im horizontalen Modus bei Verwendung von
\FamilyExecuteOptionsmit einer Option@else@wurde beseitigt. -
\FamilyOptionsund\FamilyOptionführen nun ebenfalls@else@-Optionen (vgl.\FamilyExecuteOptions) sowohl der Familienmitglieder als auch der Familie selbst aus. Besitzt ein Mitglied eine@else@-Option, so wird diese immer dann gesetzt, wenn das Mitglied eine angegebene Option nicht hat. Sie wird jedoch nicht ausgeführt, wenn das Mitglied die angegebene Option zwar kennt, nicht jedoch den übergebenen Wert. Dagegen wird eine@else@-Option der Familie nur ausgeführt, wenn keines der Mitglieder die Option mit Ergebnis\FamilyKeyStateProcessedverarbeiten konnte.
Möglichkeit wurde aufgrund einer Nachfrage von Falk implementiert. -
\DefineFamilyKeymit explizit leerem erstem, optionalem Argument liefert nun keine Fehlermeldung wegen unbekanntem Mitglied mehr, sondern definiert eine Familienoption.
Diese Änderung wurde im Zuge der Verarbeitung von@else@-Optionen durch\FamilyOptionsimplementiert. -
Werden die Befehle
\defcaptionname,\newcaptionname,\renewcaptionname,\providecaptionnamein der Dokumentpräambel aufgerufen, so definieren sie die entsprechende Anweisung unmittelbar, wenn die aktuelle Sprache einer der Sprachen aus dem ersten Argument entspricht. Um Fehlermeldungen bei Konstrukten wie\newcommand*{\Fooname}{Foo} \newcaptionname{english}{\Fooname}{Foo}und damit eine wesentliche Inkompatibilität zu früheren Versionen zu vermeiden, definiert\newcaptionnameden Begriff in der Dokumentpräambel aber nur unmittelbar, wenn er nicht bereits (sprachunabhängig) definiert ist. Dies stellt keinen substantiellen Nachteil dar, da die korrekte Umschaltung dann ggf. bei\begin{document}erfolgt und dort dann ggf. auch die entsprechende Fehlermeldung ausgegeben wird, wenn\Foonamebereits sprachabhängig definiert ist.
Sinn der ganzen Änderung ist, dass auch ohne Sprachumschaltung (also auch ohne Sprachpaket) nun sprachabhängige Ausdrücke für die aktuelle Sprache (vor dem Aufruf eines Sprachpakets normalerweise Englisch) bereits durch die genannten Befehle sprachunabhängig definiert sind und nicht zusätzlich per\defo. ä. explizit definiert werden müssen. -
\IfArgIsEmptyist nun\long. -
Es wurde ein neuer Hook-Mechanismus namens Do-Hook-Mechanismus implementiert, der kaskadierte Hooks erlaubt. Dabei wird ein Hook durch einen Spezifikator bestimmt, der entweder ein String ist oder ein String gefolgt von einem mit
/abgetrennten Spezifikator, also beispielsweiseheading, aber auchheading/preinit/subsection. Zu dem Mechanismus gehören folgende Befehle:\ExecuteDoHook{Spezifikator}: Diese Anweisung ist Paketautoren vorbehalten und dient dazu einen Do-Hook in der Implementierung eines Befehls zu verankern. Der Spezifikator darf nicht leer sein. Zunächst wird der erste String des Spezifikators abgetrennt. Dann wird String zum Hookname hinzugefügt und der Hook mit dem Rest des Spezifikators als angehängtes Argument ausgeführt. War der Rest nicht leer, wird er anschließend zum neuen Spezifikator und rekursiv die Ausführung von Code fortgesetzt, bis er leer ist.
Beispiel:\ExecuteDoHook{heading/preinit/subsection}führt zunächst den Code von Hookheadingmit dem Argumentpreinit/subsectionaus. Dann den Code vonheading/preinitmit Argumentsubsectionund schließlich den Code vonheading/preinit/subsectionmit einem leeren Argument.\AddtoDoHook{Hook}{Befehl}: Fügt den Befehl dem Hook hinzu. Zu beachten ist, dass bei Ausführung von Befehl immer ein Argument angefügt wird. Beispiel: Mit\AddtoDoHook{heading/preinit}{\typeout}wird der Befehl\typeoutdem Hookheading/preinithinzugefügt. So wird beispielsweise\ExecuteDoHook{heading/preinit/chapter}die Anweisung\typeout{chapter}ausführen,\ExecuteDoHook{heading/preinit/section}wird\typeout{section}ausführen etc. Wird dagegen mit\AddtoDoHook{heading/preinit/section}{\typeout}derselbe Befehl dem Hookheading/preinit/sectionhinzugefügt, so wird lediglich\ExecuteDoHook{heading/preinit/section}die Anweisung\typeout{}ausführen, während\ExecuteDoHook{heading/preinit/chapter}den Befehl nicht ausführen wird.\AddtoOneTimeDoHook{Hook}{Befehl}arbeitet wie\AddtoDoHook{Hook}{Befehl}, allerdings wird der Code für den Hook nach Ausführung gelöscht. Code für One-Time-Hooks wird grundsätzlich nach dem Code für dauerhafte Hooks ausgeführt.\ForDoHook{Spezifikator}{Code}: Durchläuft, wie für\ExecuteDoHookangegeben, die Teilspezifikatoren und führt für jede Unterteilung einmal Code aus. Dem Code werden dabei zwei Parameter angehängt: das Kopfelement und der Rest des Spezifikators.
Eigentlich ist dies eine interne Anweisung zum Zwecke der Definition von\ExecuteDoHook. Normalerweise sollten Paketautoren (und erst recht Anwender) diese Anweisung nicht benötigen.\SplitDoHook{Spezifikator}{Kopfbefehl}{Restbefehl}: Der Spezifikator wird, wie bei\ExecuteDoHookerklärt, in den ersten String und den Rest-Spezifikator aufgeteilt. Der Kopfbefehl wird als der erste String und der Restbefehl als der Rest definiert.
Beispiel:\SplitDoHook{heading/preinit/section}{\Kopf}{\Rest}führt zu\def\Kopf{heading}\def\Rest{preinit/section}.
Hinweis: Die KOMA-Script-Klassen verfügen tatsächlich über die im Beispiel genannten Hooks.
Hinweis: Dieser Mechanismus wurde aufgrund der steigenden Nachfrage nach Hooks beispielsweise durch diebiblatex-Autoren eingeführt. Bestehende Hooks von KOMA-Script werden nach und nach zumindest teilweise auf den neuen Mechanismus umgestellt.
-
-
scrhack:- Der standard class sections Hack ist neu hinzugekommen. Er muss im
Unterschied zu allen anderen Hacks explizit mit Option
standardsectionsaktiviert werden. In diesem Fall werden die Gliederungsbefehle\partbis\subparagraphund die Ausgaben der zugehörigen Zähler genau wie bei den Standardklassen hart definiert. Bei Klassen, die über\mainmatterverfügen, werden außerdem\if@mainmatter,\frontmatter,\mainmatterund\backmatterentsprechend hart definiert.
Achtung: Dieser Hack kann eine Menge zerstören! Es gibt keinen Support für Probeme bei dessen Verwendung!
- Der standard class sections Hack ist neu hinzugekommen. Er muss im
Unterschied zu allen anderen Hacks explizit mit Option
-
scrjura:- Das Paket verwendet nun (endlich)
\DeclareTOCStyleEntryfür die Definition der Inhaltsverzeichniseinträge.
Hinweis: Wer bisher den undokumentierten Zähler statt der dokumentierten Option zur Festlegung der Eintragsebene verwendet hat, wird mit einer Fehlermeldung bestraft und muss dann eben zur Option wechseln. Das ist kein Bug, sondern so gewollt.
Die Änderung war in der TODO-Datei lange angekündigt. Damit steht der Weg frei, um\bprot@dottedtoclineendlich als veraltet zu kennzeichnen, was in TODO ebenfalls lange angekündigt ist.
- Das Paket verwendet nun (endlich)
-
scrlayer-notecolumn:- Die
\catcode-Werte der in\dospecialsabgelegten Zeichen werden vor dem Einlesen der Hilfsdatei mit den Notizspalten wieder auf die Werte eingestellt, die sie bei\begin{document}hatten. Ausnahme ist der\catcodevon@, der auf 11 (letter) gestellt wird. Dadurch funktionieren Notizspalten nun beispielsweise auch, wenn während einerverbatim-Umgebung ein Seitenumbruch erfolgt. und neue Notizen aus der Hilfsdatei gelesen werden müssen. Diese Änderung wurde zur Lösung ein von Karl gemeldetes Problem implementiert. - Bei Verwendung von LuaLaTeX oder PDFLaTeX unterstützt das
Paket nun auch Farbänderungen mit
coloroderxcolorinnerhalb der Notizspalten. Diese Möglichkeit ist noch sehr experimentell. Bei Verwendung von XeLaTeX werden Farben in Notizspalten weiterhin nicht unterstützt, da dann keine Möglichkeit besteht, den aktuellen color stack umzuschalten.
Diese Änderung geht auf allerlei Anfragen zurück.
- Die
-
scrlayer-scrpage:- Kombinationen von
scrlayer-scrpagemit Paketen, die\centering,\raggedrightoder\raggedleftumdefinieren führen immer wieder zu Problemen. Krassestes Beispiel isttabu. Aber auchragged2emit Verwendung von dessen OptionnewcommandsoderNewCommandskann bereits dazu führen, dass die Ausrichtung nicht vollkommen korrekt ist. Obwohl das in meinen Augen eindeutig kein Bug vonscrlayer-scrpageist, sondern ein Misfeature der entsprechenden anderen Pakete, verwendetscrlayer-scrpageKOMA-Script die genannten Anweisungen nicht mehr direkt, sondern nutzt stattdessen\LaTeXcentering,\LaTeXraggedrightund\LaTeXraggedleft. Sind diese Anweisungen beim Laden vonscrlayer-scrpagebereits (beispielsweise vonragged2e) definiert, so bleiben sie unverändert. Anderenfalls werden sie mit der aktuellen Definition von\centering,\raggedrightund\raggedleftversehen. Damit gibt es inscrlayer-scrpagenun auch einen Workaround für das auf TeX.Stackexchange gemeldete Problem bei mehrzeiligen Kopf-/Fußzeilen während einelongtabuverarbeitet wird.
- Kombinationen von
-
scrlfile:- Die Warnung
mit LaTeX ab 2019-10-01 wurde behoben.LaTeX Warning: Command \InputIfFileExists has changed. Check if current package is valid
- Die Warnung
-
scrletter:- Es gibt keine Fehlermeldung mehr bei Verwendung der Option
symbolicnames.
- Es gibt keine Fehlermeldung mehr bei Verwendung der Option
-
scrjura:\labelformatwird genutzt, falls vorhanden und nicht\relax. Damit wird ein Problem mit LaTeX ab 2019-10-01 beseitigt, das zu einer Fehlermeldung entweder bezüglich eines unvollständigen\arabicim ersten LaTeX-Lauf oder wegen eines\parbeim Einlesen der aux-Datei ab dem zweiten LaTeX-Lauf führte.
Ursache des Problems war eine Änderung von\refstepcounterin LaTeX, wodurch die Methode, die (nicht nur) vonscrjuraverwendet wird, damit\thesentenceein Argument von\p@sentencewird, nicht mehr funktioniert. Da ich selbstscrjuranicht verwende, ist mir das trotz intensiver Verwendung vonlatex-devleider erst nach der Release von LaTeX 2019-10-01 aufgefallen.
-
scrlayer-scrpage:- Die Befehle
\chead,\iheadetc. erlauben nun einen Absatz in ihrem Argument. Das ist sowohl deshalb sinnvoll, weil die Argumente innerhalb einer\parboxverwendet werden und daher Absätze erlauben sollte, als auch, weilscrpage2das noch erlaubt hat.
Hinweis: Der Bug wurde bei der Suche nach einem Workaround für „longtabu and scrpage2: line breaks in page header cause compilation errors“ gefunden.
- Die Befehle
-
tocbasic:- Für Optionen, die als Wert Längen oder Zahlen erwarten, wird bei
\DeclareTOCStyleEntryein Additionsoperator+=unterstützt. Derzeit ist jedoch nicht geplant diese Möglichkeit auf die indirekte Verwendung der Optionen beispielsweise per\DeclareNewTOCauszuweiten. - Es gibt für
\DeclareTOCStyleEntryeinen neuen Kopieroperator:=. Damit erwarten die Optionen als Wert nicht mehr die normalerweise erwarteten Werte, sondern den Namen einer anderen Verzeichnisebene, dessen Wert dann kopiert wird. Mitindent:=figurekann man also beispielsweise als Wert für den Einzug denselben Wert wie beifigure-Einträgen einstellen. Ist der entsprechende Wert für die angebene Verzeichnisebene nicht bekannt, so wird ein Fehler ausgegeben. Dieser Kopieroperator funktioniert für die Optionen der Verzeichniseinträge mit Präfixtocentryauch bei\DeclareNewTOC. - Es gibt einen neuen Verzeichniseintragsstil
toctext, der alle aufeinanderfolgenden Einträge dieses Stils innerhalb eines Absatzes ausgibt. Die Optionen ähneln denen vontocline, allerdings werden nicht alle Optionen unterstützt und es gibt ein paar zusätzliche.
Hinweis: Dieser Stil wurde aufgrund einer von Elke an mich weitergeleiteten Frage auf TeX.SX implementiert. Um ihn überhaupt zu ermöglichen, war es u. a. notwendig, am Ende von TOC-Dateien automatisch ein\parauszuführen. - Der Verzeichniseintragsstil
toclinebietet die neue Optionrightindentüber die\@tocrmargabhängig von der Eintragsebene ersetzt werden kann.
Diese Änderung, die mir selbst nur in Ausnahmefällen sinnvoll erscheint, ist auf explizite Nachfrage entstanden. - Der Verzeichniseintragsstil
toclinebietet die neue Optionpagenumberwidthüber die\@pnumwidthabhängig von der Eintragsebene ersetzt werden kann.
Diese Änderung, die mir selbst nur in Ausnahmefällen sinnvoll erscheint, ist auf explizite Nachfrage entstanden - Es gibt ein neues TOC-Feature
noindent. Dies ermöglicht kooperierenden Verzeichniseintragsstilen wietoclinedas Ignorieren der Einstellung für den Einzug, so dass ein komplett linksbündiges Verzeichnis entsteht (vlg.listof=flat, wobeilistof=flatweit mehr tut!).
- Für Optionen, die als Wert Längen oder Zahlen erwarten, wird bei
3.26b
-
scrartcl,scrbook,scrreprt,scrextend:- Auf Wunsch von A. D. wird von
\maketitleeine Warnung ausgegeben, wenn die Argumente von\uppertitlepageoder\lowertitlepagenicht verwendet werden. Das ist beititlepage=falseodertwoside=falseder Fall.
Hinweis: Natürlich kann man in einseitigen Dokumenten vor\maketitleauftwoside=semiumschalten, um beititlepage=truedie Ausgabe eines doppelseitigen Titels zu erzwingend. Und natürlich kann man nach\maketitleggf. mittwoside=falsewieder zu einem echten einseitigen Dokument zurückschalten.
- Auf Wunsch von A. D. wird von
-
scrbase:- In den Werten von Optionen sind nun wieder Absätze möglich. Das ging
kurzzeitig in den vorherigen Versionen nicht mehr. Ursache war eine durch
eine Änderungsdiskussion des LaTeX-Teams angeregten Änderung in der
Behandlung von key=value-Optionen. Damit ist der altbekannte Workaround
der Verwendung von
\endgrafanstelle eines Absatzes nicht mehr notwendig. - In einigen Fällen wurde bisher toleriert, wenn
\FamilyOption{…}{key=value}{}oder\FamilyOption{…}{option,option}{}verwendet wurde, obwohl in diesen Fällen\FamilyOptions{…}{key=value}bzw.\FamilyOptions{…}{option,option}zu verwenden ist. In einigen Fällen führte die falsche Syntax aber auch zu Fehlermeldungen wegen unbekannten Optionen oder zu TeX-internen, wenig aussagekräftigen Fehlermeldungen. Fehlte das leere dritte Argument kam es natürlich zu Folgefehlern weil dann ggf. ein nachfolgender Befehl als Argument behandelt wurde. Das betrifft natürlich auch Befehle, die intern\FamilyOptionverwenden, beispielsweise\KOMAoption.
Seit KOMA-Script 3.27.3055 wird dieser Fehler als Syntaxerror im key-Argument von\FamilyOptionerkannt und gemeldet. In der Schnellhilfe wird auch auf\…Optionsals mögliche Lösung hingewiesen.
Dass die Toleranz von KOMA-Script an dieser Stelle nicht unbedingt wünschenswert ist, wurde übrigens von E. S. und M. S. gemeldet.
- In den Werten von Optionen sind nun wieder Absätze möglich. Das ging
kurzzeitig in den vorherigen Versionen nicht mehr. Ursache war eine durch
eine Änderungsdiskussion des LaTeX-Teams angeregten Änderung in der
Behandlung von key=value-Optionen. Damit ist der altbekannte Workaround
der Verwendung von
-
scrhack:- Der
nomencl-Hack funktioniert nun wieder. Zuvor gab es aufgrund einer Änderung innomenclProbleme.
Hinweis: Solche Probleme können mitscrhackjederzeit auftreten. In der Anleitung wird darauf auch explizit hingewiesen! Dies stellt auch kein Bug dar, sondern schlicht eine der Grenzen vonscrhack. Daher würde ich auch bevorzugen, wenn die zuständigen Paketautoren selbst entsprechende Änderungen an ihren Paketen vornehmen würde, so dass die Hacks nicht notwendig sind. Leider ist das bisher nicht gelungen. Im Fall vonnomenclwurde jedoch wieder einmal ein Versuch gestartet. Daher erkenntscrhacknun nicht nur nomencl 5.0 und patcht dieses korrekt. Da nach meiner Auffassung die Änderung innomenclfehlerhaft ist, wurde auch gleich ein Patch für die erhoffte Änderung und ein Notfallpatch für eine möglicherweise anders aussehende Änderung eingefügt.
- Der
3.26a
tocbasic:- Obwohl die Verwendung von
\DeclareNewTOCohne optionales Argument nur sehr begrenzt sinnvoll ist, wurde die Fehlermeldung wegen nicht definiertem\kernel@ifnexchar, die dann auftrat behoben. Ursache war ein Tippfehler.
- Obwohl die Verwendung von
3.26
-
scrartcl,scrbook,scrreprt:-
Werden die Optionen
index=leveldownoderbibliography=leveldownverwendet, folgten bisher die Kolumnentitel nicht unbedingt den Einstellungen von\sectionmark(scrbookundscrreprt) bzw.\subsectionmark(scrartcl). Das führte beispielsweise bei Dokumenten, bei denen die tiefere Ebene überhaupt nicht in den Kolumnentiteln verwendet wird, dort im jeweiligen Verzeichnis trotzdem auftaucht. Fürtoc=leveldownundlistof=leveldowngab es ein vergleichbares Problem, für das abertocbasiczuständig ist (siehe unten).
Deshalb wird nun möglichst auf\addsecmarkbzw.\subsectionmarkzurück gegriffen, wobei im Fall des letzteren lokalsecnumdepthauf einen sehr kleinen Wert gesetzt wird.
Das ursprüngliche Problem wurde von Elke gemeldet. -
\DeclareSectionCommand(etc.) verwendet beim Stilchaptereinen negativen Wert fürafterskipals negativen, vertikalen Abstand nach der Überschrift.
Hinweis: Diese Erweiterung geht auf eine Anregung von Ulrike.
Wichtiger Hinweise: Diese Änderung macht ggf. Änderungen an existierenden Dokumenten (oder Wrapper-Klassen oder Paketen) notwendig, soweit diese sich bisher darauf verlassen haben, dass stattdessen der Betrag vonafterskipverwendet wird! Da diese Fälle für unwahrscheinlich gehalten werden und entsprechende Anpassungen einfach vorgenommen werden können, gibt es keine Absicherung viaversion! -
\DeclareSectionCommand(etc.) kennen für den Stilsectiondie neuen Einstellungenrunin=true,runin=falseundrunin=bysign. Bei den beiden ersten wird die Frage Spitzmarke oder freistehende Überschrift allein von dieser Einstellung und nicht mehr vom Vorzeichen vonafterskipbestimmt. Ein negatives Vorzeichen beiafterskipfügt dann entsprechend auch einen negativen vertikalen Abstand ein. Für den horizontalen Abstand wird jedoch immer der Betrag vonafterskipverwendet! Die dritte Möglichkeit ist die Voreinstellung und entspricht dem bisherigen Verhalten.
Hinweis: Diese Erweiterung geht auf eine Anregung von Ulrike zurück. -
\DeclareSectionCommand(etc.) kennt die neuen Einstellungenafterindent=true,afterindent=falseundafterindent=bysign. Bei den beiden ersten wird der Absatzeinzug nach der Überschrift allein von dieser Einstellung und nicht mehr vom Vorzeichen vonbeforeskipbestimmt. Ein negatives Vorzeichen beibeforeskipfügt dann entsprechend auch einen negativen Abstand ein! Die dritte Möglichkeit ist bei den Stilensectionundchapterdie Voreinstellung und entspricht dem bisherigen Verhalten. Beiscrartclist beim Stilpartdie Voreinstellung (entsprechend dem bisherigen Verhalten) dagegenfalse. Beiscrbookundscrreprtist beim Stilpartdie Voreinstellung dagegentrue. Das entspricht nicht 100% dem bisherigen Verhalten, kommt dem aber am nächsten.
Hinweis: Diese Erweiterung geht auf eine Anregung von Ulrike zurück. -
Bei den KOMA-Script-Klassen besteht die Möglichkeit, Gliederungsebenen zu definieren, deren numerischer Wert für die Eintragsebene (Option
toclevel) um mehr als 1 von den bekannten numerischen Werten für Eintragsebenen abweicht. Das kann zu Meldungen der Art:Package hyperref Warning: Difference (…) between bookmark levels is greater (hyperref) than one, level fixed on input line …führen, wenn Paket
hyperrefverwendet wird. Eine entsprechende Meldung gibt es übrigens auch bei den Standardklassen, wenn man Gliederungsebenen, die im Inhaltsverzeichnis aufgeführt sind, auslässt. Dieses Problem tritt nicht auf, wenn gleichzeitig Paketbookmarkgeladen wird, da dieses Paket mit solchen Lücken in den Bookmarkebenen umgehen kann. Als Workaround laden die KOMA-Script-Klassen ab sofort bei\begin{document}das Paketbookmark, fallshyperrefgeladen wurde,bookmarkaber noch nicht. Genau genommen ist dieser Zeitpunkt zu spät und es wird empfohlen, das Paket selbst zu laden. Es besteht aber auch die Möglichkeit mit Optionbookmarkpackage=falsedas automatische Laden vonbookmarkzu verhindern. In diesem Fall verwenden die KOMA-Script-Klassen für alle mit\DeclareSectionCommanderzeugten Gliederungsbefehle eine Notlösung für das Problem, die jedoch davon ausgeht, dass die Gliederungsebene aufeinanderfolgenden definiert werden. Wird beispielsweise erst Ebene 10, dann Ebene 12 und dann Ebene 11 definiert, so führt die Notlösung zu falschen Ergebnissen. In diesem Fall ist die Verwendung von Paketbookmarkunumgänglich!
Hinweis: Die Änderung geht auf eine Meldung und einen Vorschlag von Heiko Oberdiek zurück. Die Änderung führt außerdem zu neuen Info-Meldungen und ggf. neuen Warnungen.
-
-
scrlttr2,scrletter:- Weil ich die Nase voll von dem Gemaule habe, dass
\@setplengthnicht funktioniert, gibt es nun zusätzlich\setplength,\newplengthund\addtoplength. - Die neuen Anweisungen
\setplengthtowidth[Fakor]{Pseudolänge}{Inhalt},\setplengthtoheight[Fakor]{Pseudolänge}{Inhalt},\setplengthtodepth[Fakor]{Pseudolänge}{Inhalt}und\setplengthtototalheight[Fakor]{Pseudolänge}{Inhalt}setzen eine Pseudolänge auf das Vielfache der Breite, Höhe, Tiefe oder Höhe + Tiefe einer Box mit dem angegebenen Inhalt.
Hinweis: Diese Erweiterung geht auf einen Bugreport von Andreas S. zurück.
- Weil ich die Nase voll von dem Gemaule habe, dass
-
scrbase:\FamilyStringKeyund\FamilyCSKeyfunktioniert nun auch korrekt, wenn der optionale Säumniswert verwendet wird.
Das usprünglich Problem wurde von Elke gemeldet.- Die bereits seit KOMA-Script 3.20 existierenden
Befehle
\FamilyUseLengthMacroKeyund\FamilySetUseLengthMacrosind dokumentiert.
Hinweis: Diese Änderung geht auf eine Anregung von Falk zurück.
-
scrjura:- Innerhalb von
\Sentencewird die neue Anweisung\sentencenumberformatfür die Formatierung der Nummer verwendet. In der Voreinstellung ist diese als\textsuperscript{\thesentence}definiert.
Hinweis: Diese Anweisung geht auf eine Nachfrage von m.eik zurück. - Es gibt zur Font-Änderung der Satznummern von
\Sentencedas neue Elementsentencenumber.
Hinweis: Diese Anweisung geht auf eine Nachfrage von m.eik zurück.
- Innerhalb von
-
scrlayer-notecolumn:- Das Paket kann nun auch bei Verwendung von XeLaTeX Änderungen an der
slnc-Datei erkennen. Dazu wird das bisher im (zugegeben inoffiziellen aber einzigen) XeTeX Reference Guide vom 6. September 2017 nicht dokumentierte Primitiv\mdfivesumverwendet. Dies geschieht entgegen meiner Überzeugung, dass nicht dokumentierte Dinge nicht existieren.
- Das Paket kann nun auch bei Verwendung von XeLaTeX Änderungen an der
-
tocbasic:- Wird das Feature
leveldownverwendet, folgten die Kolumnentitel bisher nicht unbedingt den Einstellungen von\sectionmark(scrbookundscrreprt) bzw.\subsectionmark(scrartcl). Das führte beispielsweise bei Dokumenten, bei denen die tiefere Ebene überhaupt nicht in den Kolumnentiteln verwendet wird, dazu, dass dort Verzeichnissen trotzdem auftaucht.
Deshalb wird nun möglichst auf\addsecmarkoder ersatzweise auf\sectionmarkbzw.\subsectionmarkzurück gegriffen, wobei im Fall der letzten beiden lokalsecnumdepthauf einen sehr kleinen Wert gesetzt wird.
Das ursprüngliche Problem wurde von Elke gemeldet. - Behung des Problems, bei Kombination der Features
leveldownundtotocwerden bei Klassen, bei denen sowohl\chapterals auch\addsecdefiniert sind (also in der Regel beiscrbookundscrreprt). In dem Fall wurden im entsprechenden Verzeichnis Seitenumbrüche verhindert, wenn über diesem Verzeichnis nicht zusätzlich eine Kapitelüberschrift (\chapter,\chapter*,\addchapoder\addchap*) gesetzt wurd, wie das eigentlich vorgesehen ist.
Das ursprüngliche Problem wurde von Elke gemeldet. - Gibt es Lücken in den numerischen Eintragsebenen und wird Paket
hyperrefverwendet, so gibt es diese Lücken auch bei den numerischen Bookmarkebenen. Wird Paketbookmarknicht verwendet, so führte dies zu Warnungen der Art:
Dieselbe Meldung erhält man auch, wenn bei den Standardklassen eine Gliederungsebene im Dokument ausgelassen wird.Package hyperref Warning: Difference (…) between bookmark levels is greater (hyperref) than one, level fixed on input line …
Datocbasicdie Bookmarkebene immer auf die Eintragsebene setzt, kann das Problem bei generellem Auslassen einer Eintragsebene durch Anpassen der Eintragsebenen gelöst werden.
Es wird empfohlen, immer das Paketbookmarkszu verwenden, wennhyperrefmittocbasickombiniert wird. Falls dies nicht geschieht, verwenden die KOMA-Script-Klassen nun eine Sonderbehandlung für den genannten Fall, so dass die Bookmarkebene angepasst wird. - Die neue Anweisung
\DeclareTOCStyleEntries[Optionen]{Stil}{Liste von Eintragsebenen}verwendet\DeclareTOCStyleEntry, um eine ganze Liste von Eintragsebenen statt nur einer einzigen zu definieren/konfigurieren. Die Eintragsebenen sind dabei durch Komma voneinander getrennt.
Hinweis: Diese Erweiterung geht auf eine Anregung von Elke zurück. - Features (siehe
\setuptocund\unsettoc), die per\AtAddToTocListgesetzt werden, haben keinen Vorrang mehr vor Featureeinstellung per Optionunsetvon\DeclareNewTOC. Stattdessen haben die Einstellungen per\DeclareNewTOCVorrang. Ich bin mir bewusst, dass dies ggf. verhindert, dass beispielsweiselistof=totocals Option bei\documentclassAuswirkungen auf ein Verzeichnis hat, das innerhalb eines Pakets per\DeclareNewTOC[unset=totoc]{…}definiert wird und diese Änderung inkompatibel ist. Trotzdem wird sie nicht perversion-Option abgesichert!
Hinweis: Diese Änderung geht auf einen Bugreport von Elke zurück.
- Wird das Feature
3.25
scrartcl,scrbook,scrreprt,scrlttr2,scrextend,scrletter,scrjura,scrlayer,scrlayer-scrpage:
- Mit der neuen Anweisung
\IfIsAliaskomafont{Element}{Dann-Code}{Sonst-Code}wird der Dann-Code genau dann ausgeführt, wenn Element ein mit\aliaskomafontaber kein mit\newkomafontdefiniertes Element ist.
-
scrartcl,scrbook,scrreprt,scrlttr2,scrextend:- Die neue Option
overfullrulemacht eigentlich das gleiche wiedraftaber eben ohnedraftzu heißen und damit ohne andere Pakete zu beeinflussen.
Hinweis: Diese neue Option geht in der Tat auf einen gewissen Leidensdruck bei mir selbst zurück.
- Die neue Option
-
scrartcl,scrbook,scrreprt,scrextend:- Die neue Anweisung
\frontispiece{Frontispiz}kann verwendet werden, um die Rückseite des Schmutztitels mit einem Inhalt zu versehen.
Hinweis: Eine entsprechende Möglichkeit wurde in der Vergangenheit immer wieder nachgefragt (wurde von mir aber immer mit Verweis auf dastitlepage-Projekt abgelehnt).
- Die neue Anweisung
-
scrartcl,scrbook,scrreprt:- Die mit
\DeclareSectionCommand,\ProvideSectionCommandoder\NewSectionCommandneu definierten Überschriften des Stilspartverwenden nun nicht mehr dasselbe Font-Elementpart, sondern ein eigenes.
Hinweis: Das Problem wurde von Elke gemeldete. - Das letzte Wort eines mehrzeilige
\caption-Textes kann nun ebenfalls getrennt werden. - Es gibt eine neue Anweisung
\setcaptionalignment[Gleitumgebung]{Ausrichtung}mit der man die Ausrichtung des gesamten\caption-Textes einschließlich des Labels beeinflussen kann.
Hinweis: Die Erweiterung geht auf einen Vorschlag von voss zurück. - Es gibt eine neue Anweisung
\partlineswithprefixformat{Ebenenname}{Nummer}{Titel}. Funktion und Parameter entsprechen denen von\chapterlineswithprefixformatallerdings für Überschriften im Stilpart.
Hinweis: Diese Erweiterung geht auf einen Vorschlag von Elke zurück. - Die Umgebung
figurewird mit Hilfe von\DeclareNewTOCdefiniert und verwendet daher den Default-Stil für die Verzeichniseinträge (also letztlich Stiltocline). - Die Umgebung
tablewird mit Hilfe von\DeclareNewTOCdefiniert und verwendet daher den Default-Stil für die Verzeichniseinträge (also letztlich Stiltocline). - Die Anweisungen
\@mkleft,\@mkrightund\@mkdoublewerden immer definiert und auch verwendet. Daraus resultiert eine Code-Vereinfachung bei\bib@headingund\idx@heading.
Hinweis: Diese Änderung geht auf eine Diskussion im Bugtracker vonbiblatexzurück. - Die interne Anweisung
\bib@headingstützt sich nun auf die ebenfalls interne Anweisung\bibliography@heading, die ein Argument erwartet. Paketautoren ist die Verwendung sowohl von\bib@headingals auch\bibliography@headinggestattet. Umdefinieren sollten sie die Anweisungen allerdings nicht.
Hinweis: Diese Änderung geht auf eine sehr konstruktive Diskussion im Bugtracker vonbiblatexzurück.
- Die mit
-
scrjura:- Wenn man für eine mit
\DeclareNewJuraEnvironmentdefinierten Umgebungfoomit\newkomafont{foo.Clause}{…}einen neuen Font definiert, wird dieses nun auch verwenden. Zuvor wurde stattdessen für die Überschrift immer das Elementcontract.Clauseverwendet. - Es gibt für
\DeclareNewJuraEnvironmenteine neue OptionClauseFont, mit der ein neues Font-Element Name.Clausedefiniert und Einstellungen dafür vorgenommen werden können.
Hinweis: Diese Erweiterung geht auf einen Fehler zurück. - Seit dem Entfernen von
\pdfmdfivesumaus LuaTeX 0.85 konnte das Paket nicht mehr selbst feststellen, ob sich die Randnotizen im Vergleich zum vorherigen Lauf geändert bzw. verschoben haben, um eine entsprechende Rerun-Meldung zu veranlassen. Bei Verwendung von LuaLaTeX > 0.85 wird daher nun die Prüfsumme mit Hilfe der Lua-Funktionmd5.sumhexabestimmt.
Hinweis: Diese Erweiterung ist Resultat einer Anfrage auf komascript.de. Für XeTeX gibt es keine entsprechende Lösung, da dieses keinerlei Prüfsummenberechnung bietet.
- Wenn man für eine mit
-
scrlayer-notecolumn:- Problem mit dem Schließen einer Ausgabedatei, die dem Paket gar nicht
gehört, am Anfang von
\end{document}behoben. Das Problem führte beispielsweise bei der Verwendung vonbiblatexunter Umständen dazu, dass dessenbcf-Datei unvollständig blieb.
Hinweis: Das Problem war von MoeWe gemeldet worden.
- Problem mit dem Schließen einer Ausgabedatei, die dem Paket gar nicht
gehört, am Anfang von
-
scrlayer-scrpage:- Es gibt eine neue Option
autoenlargeheadfoot, die in der Voreinstellung aktiv ist. Schaltet man die Option beispielsweise mitautoenlargeheadfoot=falseab, so vergrößertscrlayer-scrpageden Seitenkopf oder -fuß nicht mehr automatisch, falls der Inhalt zu groß ist, sondern warnt nur noch.
Hinweis: Diese Erweiterung geht auf eine Frage eines Anwenders zurück.
- Es gibt eine neue Option
-
tocbasic:- Anweisung
\DeclareNewTOCkennt zwei neue Optionensetup=Featureliste undunset=Featureliste, mit der man Features direkt bei der Definition via\setuptocund\unsettocsetzen bzw. löschen kann.
Hinweis: Diese Erweiterung wurde u. a. von Falk vorgeschlagen
- Anweisung
-
typearea:- Entsprechend dem, was seit Jahren in der KOMA-Script-Anleitung
dokumentiert ist, verwendet
typeareanur noch dann, vordefinierteDIV-Werte, wenn das Papierformat (annähernd) A4 entspricht. Dabei wird Papier, das schmaler als 207mm oder breiter als 213mm oder weniger hoch als 294mm oder höher als 300m ist nicht mehr als A4 akzeptiert. Es wird also der bei Büchern übliche Anschnitt toleriert. Allerdings gibt es diesen Einfluss des Papierformats nur, wenn nicht (beispielsweise mitversion=3.24) explizit Kompatibilität zu früheren KOMA-Script-Versionen angefordert wurde. In derlog-Datei wird über die Umschaltung aufDIV=calcggf. informiert.
Hinweis: Diese Änderung des Verhaltens, das auf einen Bug-Report von Elke zurück
- Entsprechend dem, was seit Jahren in der KOMA-Script-Anleitung
dokumentiert ist, verwendet
3.24
-
scrartcl,scrbook,scrreprt,scrlttr2,scrletter,scrextend,scrjura,scrlayer,scrlayer-notecolumn:\use…ofkomafontwurde inscrkbasekomplett neu implementiert. Dies wurde notwendig, weil die frühere Implementierung zu Fehlermeldungen führte, wenn diefd-Datei einer beteiligten Fontfamilie noch nicht geladen wurde, ein Font also noch nicht initialisiert war. Betroffen davon war beispielsweise die Klassekomacv, die intensiven Gebraucht von\usefontofkomafontfür die Initialisierung eigener Font-Variablen macht. Es kann keine Kompatibilität zu früheren missbräuchlichen Verwendungen von\setkomafontund\addtokomafontgarantiert werden.
Hinweis: Genau genommen entspringt die Definition von\usefontofkomafontder Schnapsidee Anwenderfehler tolerant zu behandeln und einem (IMHO) Bug incolorundxcolor, der zu Fehlern führt, wenn\coloroder\normalcolorinnerhalb von\AtBeginDocumentaufgerufen wird. Aus Kompatibilitätsgründen werde ich trotzdem vorerst an den\use…ofkomafont-Befehlen festhalten.- Die gesamte Font-Schnittstelle wurde etwas restriktiver bezüglich des
(leider häufig zu findenden) Missbrauchs. Entsprechend haben sich die
dokumentierten Voreinstellungen für die mit
\addtokomafontrelaxlist,\addtokomafontonearglistund\addtokomafontgobblelistkonfigurierbaren Ausnahmelisten sowie die Funktionsweise von\use…ofkomafontgeändert.
Hinweis: Diese Änderung ist Folge der Beseitigung eines von Ulrike gemeldeten Bugs.
-
scrartcl,scrbook,scrreprt,scrlttr2:- Die Warnung vor
fancyhdrwird durch zusätzliche Informationen abgeschwächt.
Hinweis: Diese Änderung geht auf eine Anregung von Schweinebacke zurück. - Es gibt eine nur in
scrkernel-miscellaneous.dtxdokumentierte Möglichkeit für erfahrene Autoren von Wrapperklassen, um Warnungen vor einzelnen, nicht komplett kompatiblen Paketen zu deaktivieren. Sollte diese Möglichkeit jedoch Eingang in von DAUs erstellte und verbreitete Templates finden, werde ich sie wieder entfernen!
Hinweis: Diese Änderung geht auf eine Anregung von Ulrike zurück.
- Die Warnung vor
-
scrartcl,scrbook,scrreprt:- Bei der Definition von neuen Gliederungsbefehlen im Stil
sectionwird für fehlende Optionenindentundfontkein Fehler, sondern nur noch eine Warnung ausgegeben.indentist dann 0pt (weil das die häufigste gewünschte Einstellung ist) undfontist\normalsize(weil davon ausgegangen wird, das tiefere Ebenen implementiert werden). Es kann aber sein, dass sich diese Voreinstellungen noch ändern, beispielsweise bei\subName die Einstellungen von\Name übernommen werden.
Hinweis: Die Änderung geht auf eine Anregung von Elke zurück. - Bei der Definition von neuen Gliederungsbefehlen im Stil
partwerden für diverse fehlende Optionen nach einer entsprechenden Warnung die Einstellungen für den Befehl\partverwendet. Änderungen der Einstellungen für\partführen damit auch zu Änderungen an den neuen Befehlen. Das resultiert daraus, dass die Definition häufig tatsächlich nicht als echte neue Ebene erfolgt, sondern für einen Befehl auf gleicher Ebene, bei dem nur einige Einstellungen abgewandelt werden sollen.
Hinweis: Die Änderung geht auf eine Anregung von Elke zurück.
- Bei der Definition von neuen Gliederungsbefehlen im Stil
-
scrbook,scrreprt:- Bei der Definition von neuen Gliederungsbefehlen im Stil
chapterwerden für diverse fehlende Optionen nach einer entsprechenden Warnung die Einstellungen für den Befehl\chapterverwendet. Änderungen der Einstellungen für\chapterführen damit auch zu Änderungen an den neuen Befehlen. Das resultiert daraus, dass die Definition häufig tatsächlich nicht als echte neue Ebene erfolgt, sondern für einen Befehl auf gleicher Ebene, bei dem nur einige Einstellungen abgewandelt werden sollen.
Hinweis: Die Änderung geht auf eine Anregung von Elke zurück.
- Bei der Definition von neuen Gliederungsbefehlen im Stil
-
scrbase:- Es gibt eine neue Anweisung
\IfRTL{TRUE-Argument}{FALSE-Argument}. Das TRUE-Argument wird genau dann expandiert, wenn\if@RTLdefiniert und\iftrueist. Anderenfalls wird das FALSE-Argument expandiert.
Hinweis: Die Änderung ist die Folge eines Feature-Request von Behnam. - Es gibt eine neue Anweisung
\IfLTR{TRUE-Argument}{FALSE-Argument}. Das TRUE-Argument wird expandiert, wenn\if@RTLnicht definiert oder nicht\iftrueist. Ist\if@RTLhingegen definiert und\iftrue, so wird das FALSE-Argument expandiert.
Hinweis: Die Änderung ist die Folge eines Feature-Request von Behnam.
- Es gibt eine neue Anweisung
-
scrlayer,scrlayer-scrpage:- Minimale Unterstützung für right-to-left-Satz mit Paketen, die in
entsprechendem Zustand
\if@RTLauf\iftruesetzen.
Hinweis: Die Änderung geht auf einen Feature-Request von Behnam zurück.
- Minimale Unterstützung für right-to-left-Satz mit Paketen, die in
entsprechendem Zustand
-
scrlayer:- Es gibt eine neue, globale Option
singlespacing(Typ einfacher Schalter), mit der Kopf und Fuß aller Ebenen-Seitenstile mit\linespread{1}\selectfontgesetzt werden. Die Option wird voroninit-Code ausgeführt und erspart letztlich einpsoninit=\linespread{1}\selectfont.
Hinweis: Diese Änderung ist das Resultat diverser Fragen in verschiedenen Foren. - Die
\layerwidth,\layerheight,\layerxoffsetund\layeryoffsetwerden nicht mehr mit\edef, sondern mit\protected@edefdefiniert, wobei die Definition zusätzlich mit\noexpand\dimexprund\relaxeingeschlossen wird. Sie expandieren jetzt also immer zu\dimexpr …\relaxund sind daher genau wie Längen einsetzbar.
Diese Änderungen geht auf einen Hinweis von Rolf zurück.
- Es gibt eine neue, globale Option
-
scrlayer-notecolumn:- Ein
\clearpage, das zu keiner Seitenausgabe führen soll (beispielsweise bei aufeinanderfolgende\clearpage), führt zu einer zu frühen Ausgabe der Notizen der nachfolgenden Seite und damit zu Seiten, die nur die Notizen dieser nachfolgenden Seite enthalten. Das wiederum kann zu indeterministischen Zuständen führen, bei denen die Randnotizen zwischen Seiten hin und her hüpfen.__ Hinweis: An dieser Stelle sei noch einmal deutlich darauf hingewiesen, dass das Paket lediglich eine Konzeptstudie darstellt. Es handelt sich dabei jedoch nicht um ein fertiges Paket. Daher auch die sehr kleine Versionsnummer, die mit 0.1 beginnt!
Hinweis: Der Fehler wurde Dank der Meldung von Dominik L. gefunden.
- Ein
3.23
-
scrartcl,scrbook,scrreprt,scrextend:- Umgebung
addmarginführt nun nicht mehr zu Warnungen wegen doppelt definierter Label. - Es gibt eine neue Anweisung
\raggedfootnote, mit der man die Ausrichtung der Fußnoten verändern kann (vgl.\raggedsection,\raggedchapteretc.)
Hinweis: Diese Änderung wurde auf Nachfrage von F. H. implementiert.
- Umgebung
-
scrartcl,scrbook,scrreprt:- Da das Paket
minitoceine unbekannte Zahl an Möglichkeiten der KOMA-Script-Klassen beschädigt, gibt es eine Warnung vor der Benutzung des Pakets.
- Da das Paket
-
scrartcl:- Es gibt einen Workaround gegen die Zerstörung der
\@sect-Erweiterung von KOMA-Script durchminitoc. Damit funktionieren nicht nur Optionen wienumbers=enddotwieder, sondern auch die Erweiterung des optionalen Argument von Gliederungsbefehlen.
- Es gibt einen Workaround gegen die Zerstörung der
-
scrbase:- Der Code von
\AtEndOfFamilyOptionsverschwindet nicht mehr im Nirwana, wenn innerhalb einer Option sowohl\AtEndOfFamilyOptionsverwendet als auch danach mit\FamilyOptionoder\FamilyOptionseine weitere Option derselben Familie aufgerufen wird. - Der Code von
\AtEndOfFamilyOptionswird nun korrekt ausgeführt, wenn eine Option, die\AtEndOfFamilyOptionsverwendet, per\ExecuteFamilyOptionsausgeführt. \ifdvioutputliefert mit LuaTeX nach Version 0.85 nun nicht mehr fälschlich true als Ergebnis, wenn nicht ausdrücklich DVI-Ausgabe eingestellt wurde. Es ist nun also nicht mehr notwendigzu laden, um ein korrektes Ergebnis zu erzielen. Übrigens wurde\usepackage{luatex85}\ifpdfoutputbereits vorher korrekt behandelt.- Es gibt von
\AtEndOfFamilyOptionseine neue Stern-Form\AtEndOfFamilyOptions*{Code}. Während im Falle verschachtelter Aufrufe von\FamilyOptionsfür dieselbe Familie die Variante ohne Stern Code am Ende des Aufrufs ausführt, in dem es verwendet wurde, führt die Sternvariante Code erst am Ende des obersten Aufrufs (bis hin zum Aufruf von\FamilyProcessOptions) aus.
- Der Code von
-
scrhack:- Es gibt einen neuen Hack für das Paket
nomencl. Mit diesem Hack wird das Paket teilweise unter die Kontrolle von Pakettocbasicgestellt, so dass es nicht nur die KOMA-Script-Optiontoc=indentunnumberedberücksichtigt, sondern auch lebende Kolumnentitel passend gesetzt werden und mit\setuptocdiverse Features aktiviert werden können, beispielsweisenumberedoderleveldown. Das Paket wird also insgesamt (und nicht nur für die Verwendung mit KOMA-Script-Klassen) aufgewertet. Um dies zu erreichen wurde die Umgebungthenomenclaturemit Hilfe vonxpatchmodifiziert.
- Es gibt einen neuen Hack für das Paket
-
scrlayer-notecolumn:
Hinweis: Dascrlayer-notecolumnnur eine Konzeptstudie ist, ist gar nicht beabsichtigt, damit alle möglichen Erwartungen zu befriedigen. Probleme stellen daher nicht automatisch Bugs dar.\label,\indexund\glossaryfunktionieren nun in Notizspalten.- Es gibt eine neue Sternvariante von
\makenotemit denselben Argumenten. Diese verwendet jedoch\detokenizefür das Schreiben der Notiz in die Hilfsdatei. Es werden also normalerweise keine Befehle expandiert (aber als solche erkannt). Dadurch kann man sich zwar die Verwendung von\protectsparen, dafür sollte man aber keine Befehle in der Notiz verwenden, die expandiert werden sollten, beispielsweise weil sie zu einem anderen Zeitpunkt eine andere Bedeutung haben.
-
scrletter:- Ich weiß zwar nicht, wozu es gut sein soll, aber das Paket funktioniert nun auf besonderen Wunsch bis zu einem gewissen Grad auch mit den Standardklassen.
-
typearea:- Bei Verwendung von Option
footseplinewird nun korrektfootincludeangepasst. Vermutlich seit Version 3.20 wurde zuvor stattdessen fälschlichheadincludeangepasst. - Bei Verwendung von
\activateareasinnerhalb des Dokuments, also auch bei Verwendung von\typeareaund Optionen, die innerhalb des Dokuments zu einem solchen Aufruf führen, gibt es keine Warnung mehr, dass man dies nur vor\begin{document}tun sollte. Stattdessen zähle ich darauf, dass die entsprechende Neuberechnung von internen LaTeX-Längen auch weiterhin funktionieren wird und gebe nur noch eine Info aus, dass an der Stelle mit einem schmutzigen Trick gearbeitet wird.
- Bei Verwendung von Option
3.22
-
Die Anleitung ist farblich neu gestaltet. An anderer Stelle in Erklärungen verwendete Befehle, Umgebungen, Zähler, Optionen sind direkt auf die für das jeweilige Kapitel relevanteste Erklärung derselben verlinkt. Dies ist ein Nebeneffekt davon, dass die eBook-Fassung des KOMA-Script-Buchs nun direkt von mir erstellt wird und mir dabei eine vollständige Verlinkung wünschenswert erschien.
-
scrartcl,scrbook,scrreprt,scrextend,scrlttr2:- Listen und davon abgeleitete Umgebungen innerhalb von Fußnoten
beeinflussen den Einzug nach der Umgebung nicht mehr in unerwarteter
Weise.
Bemerkung: Ich halte wenig von Fußnotenapparaten, die derart ausufern, dass darin der Einsatz von Listen sinnvoll wäre. Aber die Leute, die das machen, interessiert das ja leider nicht.
Hinweis: Zur Behebung des Problems wird eine komplett neue Methode für die Ausgabe der Fußnoten verwendet, soweit nicht Kompatibilität zu eine KOMA-Script-Version kleiner 3.22 eingestellt ist (Optionversion). - Die
addmargin*-Umgebung meldet bei einseitigen Dokumenten nicht mehr fälschlich einen Seitenumbruch innerhalb der Umgebung einschl. einer Warnung vor daraus entstehenden Problemen. Tatsächlich gibt es kein Problem, da dieaddmargin*-Umgebung bei einseitigen Dokumenten die Offsets genau wieaddmargineinstellt und eben nicht nach linken und rechten Seiten unterscheidet. Mit der Änderung muss man nun aber nicht mehr darauf achten, in einseitigen Dokumenten eben nichtaddmargin*, sondern ausschließlichaddmarginzu verwenden. Das erleichtert den Wechsel zwischen einseitigem und doppelseitigem Satz oder umgekehrt.
- Listen und davon abgeleitete Umgebungen innerhalb von Fußnoten
beeinflussen den Einzug nach der Umgebung nicht mehr in unerwarteter
Weise.
-
scrartcl,scrbook,scrreprt:- Bei Verwendung von
\printdateaus dem Paketisodateinnerhalb von\captionfunktioniert wieder.
Hinweis: Das zeitwilige Problem war durch Beseitigung eines alten entstanden. \newlineinnerhalb des Textes von\captionist zwar weiterhin nicht empfohlen, funktioniert aber wie erwartet und schaltet auch auf mehrzeilige Verarbeitung.\\benötigt hingegen ggf. weiterhin ein\protect.
- Bei Verwendung von
-
scrartcl,scrbook,scrreprt:- Genau wie durch Tabelle 21.3 der Anleitung angedeutet, führen positive
Werte für
beforeskipbei\DeclareSectionCommandund Kapitelbefehle (style=chapter) zu einem Absatzeinzug beim auf die Überschrift folgenden Absatz.
- Genau wie durch Tabelle 21.3 der Anleitung angedeutet, führen positive
Werte für
-
scrlttr2,scrletter:- Schriftänderungen für
tonameodertoaddresssind nun korrekt auf diese beiden Elemente beschränkt. - Ein Problem bei leerem Bezeichner für die Variable
ccseparatorbzw. bei leerem Separator wurde behoben.
- Schriftänderungen für
-
scrlayer:- Option
automarkmeldet bei Klassen, die weder über\chapterund\sectionnoch über\sectionund\subsectionverfügen, keinen Fehler mehr. Das betraf beispielsweisescrlttr2. Mit Anweisung\automark{}(ja, mit einem leeren obligatorsichen Argument) trat das Problem hingegen nicht auf. - Die Layer-Einstellungen
everypagefunktioniert nun wie dokumentiert. - Die Layer-Einstellungen
unrestrictedfunktioniert nun wie dokumentiert.
- Option
-
scrlayer-notecolumn:- Funktioniert nun auch mit LuaTeX ab Version 0.85. Ein Workaround wie
oder
\makeatletter \providecommand*{\scr@lastypos}{\lastypos} \makeatotherentfällt damit.\usepackage{luatex85}
- Funktioniert nun auch mit LuaTeX ab Version 0.85. Ein Workaround wie
-
tocbasic:- Einstellung
dynnumwidthfunktioniert nun zuverlässig. \removefromtoclistfunktioniert nun.
- Einstellung
-
typearea:- Die schon lange überholte Schreibweisen
BCORWert undDIVWert ergeben nun korrekt eine Warnung und setzen die Kompatibilität aufversion=first. - Wird
typeareazusammen mit dempreview-Paket und dessen Optiontightpageverwendet, so werden am Dokumentanfang keine\specialfür die Papiergröße mehr geschrieben, weil daspreview-Paket damit nicht umgehen kann, falls XeLaTeX verwendet wird. Erkannt wird dies über das Vorhandensein von\pr@nextbbund\ifPreviewgleich\iftrue. Dies ist in erster Linie ein Zugeständnis an LyX. - Bei Option
paperhängt es von der gewählten Orientierung des Papiers ab, ob die Semantikpaper=Breite:Höhe oderpaper=Höhe:Breite ist. Beipaper=landscapeoderpaper=seascapeist der kleinere Wert immer die Höhe und der größere die Breite. Dagegen ist beipaper=portrait(Voreinstellung) der kleinere Wert immer die Breite und der größere die Höhe.
Mitversion=3.21kann auf das frühere Verhalten zurückgeschaltet werden. Es sei aber darauf hingewiesen, dass dann aus Gründen der Kompatibilität die Reihenfolge von Angabe der Papiergröße und Angabe der Ausrichtung von Bedeutung sein kann. - Es gibt eine neue Option, mit der Einstellungen von
typeareaangeometryweitergereicht werden, falls das Paketgeometrygeladen wird. Das ermöglicht theoretisch auch, das Seitenformat bzw. die Seitenausrichtung im Dokument übertypeareazu ändern, die Verteilung der Ränder und die Größe des Satzspiegels dann aber mit\newgeometryzu verändern (geometryalleine bietet das nicht). Ebenso kann man mittypeareagrundsätzliche Einstellungen vornehmen, aber anschließend übergeometrybeispielsweise nur den linken und rechten Rand ändern. Die Option gilt aber weiterhin als experimentell.
- Die schon lange überholte Schreibweisen
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. - Durch die Beseitigung eines Bugs in der Ausgabe von
\captionetc. kann es zu Änderungen beim Umbruch kommen. Dies kann nicht durch Wahl eines passenden Wertes für Optionversionverhindert werden, da es sich – wie gesagt – um die Beseitigung eines Bugs und nicht nur um eine typographische Verbesserung handelt.
- 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,scrletter:- Die Spaßoption
XXXXXdoesnotlikesansseriftitles1 wird auch von diesen beiden beachtet. Das Paket kennt die Option allerdings nicht selbst, sondern verwendet lediglich die Einstellungen der jeweiligen Klasse. Da die Option nicht offiziell ist, gibt es dafür keinen Support!
- Die Spaßoption
-
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
-
tocbasic:- In Vorbereitung auf eine eventuell geplante Möglichkeit TOC-Features
direkt bei
\DeclareNewTOCals Optionen angeben zu können, wurde der Präfix für Eintragsstiloptionen intocentrygeändert. Der alte Präfix funktioniert (mit Warnung) so lange weiter, bis das Präfixtocfür Verzeichnisoptionen (statt Verzeichniseintragsoptionen) benötigt wird. Dies war eigentlich von Anfang an so geplant (vgl. Optiontocentrystyle), wurde dann aber bei der Übernahme entsprechenden Codes von\DeclareSectionCommandleider vergessen. - Der Verzeichniseintragsstil
toclinehat eine neue Eigenschaftraggedentrytext. Wird dieser einfache Schalter gesetzt, so wird der Text des Eintrags nicht mehr im Blocksatz, sondern im Flattersatz (nahezu ohne automatische Trennung) gesetzt.
Die Option ist kompatibel zur früher fürscrbookundscrreprtdokumentierten Möglichkeit der Definition von\raggedchapterentryimplementiert. Das Makro\raggedchapterentrywird aber im Gegensatz zur früheren Implementierung nicht mehr ausgeführt, sondern dient nur noch als Indikator. - Die Nummer der Verzeichnisebene wird automatisch auch als
\toclevel@Ebene definiert. Dies geschieht zusätzlich zu\Ebenetocdepth, weil es u. U. mehrfach erfolgen muss, weilhyperrefdie Werte für einige Ebenen wieder überschreibt.
- In Vorbereitung auf eine eventuell geplante Möglichkeit TOC-Features
direkt bei
-
typearea:- Fehlermeldung
bei Verwendung von LuaLaTeX ohneMissing number, treated as zero. p l.2 \begin{document}\usepackage{luatex85}behoben.
- Fehlermeldung
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ßerscrsize. 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.
-
Der ursprüngliche Name der Option wurde auf Bitten eines Anwenders verschleidert. ↩︎