Sie sind hier

Inhaltsverzeichnis: Ziffern der Kapitel- u. Abschnittsnr., sowie Seitenzahlen formatieren

Guten Abend zusammen,

ich habe ein (hoffentlich) kleines Problem, bei dem ich gerne Eure Hilfe in Anspruch nehmen würde:

Ich nutze komascript scrbook mit lualatex (texlive 2015, update:aktuell). Als Font verwende ich EB-Garamond. Dieser bietet u.a. proportionale sowie monospaced Ziffern.

Als default für das gesamte Dokument nutze ich proportionale Ziffern -- funktioniert gut, sogar so gut, dass die Ziffern im Inhaltsverzeichnis (leider) ebenfalls proportional sind.

Frage: Wie kann ich sämtliche Ziffern im Inhaltsverzeichnis auf monospaced umstellen? Ich habe mich daran versucht (s. MWE), hatte aber keinen, bzw. negativen Erfolg, soll heißen:
Sobald ich tocstyle lade, funktioniert die Zentrierung der "Part-Einträge" im Inhaltsverzeichnis nicht nur nicht mehr, sondern es steht Schrott (TeX-Source) an den beiden Part-Einträgen im Output-PDF drinnen.

Wie's aussehen soll, kann man schnell testen, indem man beim laden der Schrift die Option "proportional" gegen "monospaced" ersetzt und tocstyle nicht läd (besonders deutlich bei der Seitenzahl des dritten Kapitels wegen der Zahl 11). Nur passt's dann im Rest des Dokuments leider nicht.

Ich würde mich sehr freuen wenn mir jemand von Euch bitte helfen könnte.

Vielen Dank!

mm

\documentclass[%
	paper=a4,
	paper=portrait,
	pagesize=auto,
	twoside=true,
	version=last,
	headings=normal,
	toc=listof,
	toc=graduated,
	parskip=half,
	headsepline=false,
	footsepline=false,
	cleardoublepage=empty,
]{scrbook}
 
\usepackage{fontspec}
 
\setmainfont[%
Extension = .otf ,
Path=C:/EBGaramond/ ,
Numbers = {OldStyle,Proportional},%<-- Nummerierung global: proportional
UprightFont = {EBGaramond08-Regular},
ItalicFont = {EBGaramond08-Italic},
UprightFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Regular}},
		{Size={10-},Font={EBGaramond12-Regular}},
	},
},
ItalicFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Italic}},
		{Size={10-},Font={EBGaramond12-Italic}},
	},
},
]{EB Garamond}
 
\addtokomafont{disposition}{\normalfont\normalcolor}
 
\usepackage{tocstyle}
\usetocstyle{standard}
\setkomafont{chapterentrypagenumber}{\addfontfeatures{Numbers=Monospaced,}}
\settocstylefeature{pagenumberhook}{\addfontfeatures{Numbers=Monospaced,}}
 
\KOMAoptions{DIV=last}
 
\begin{document}
\setcounter{tocdepth}{2}
\setcounter{secnumdepth}{3}
\newcommand{\tocHeading}{Inhaltsverzeichnis}
\renewcommand{\contentsname}{\tocHeading}
\renewcommand*{\chapterpagestyle}{empty}
\pagestyle{empty}
\let\raggedsection\centering%
\tableofcontents%
\let\raggedsection\raggedright%
 
\chapter{Kapitel Eins}
\section{Abschnitt}
\section{Abschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\section{Abschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\part{Altes Testament}
\chapter{Kapitel Zwei}
\section{Abschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\part{Neues Testament}
\chapter{Kapitel Drei}
\section{Abschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
\subsection{Unterabschnitt}
 
\end{document}
Bild von Markus Kohm

Leider habe ich den Font nicht (schon gar nicht unter C:/EBGaramond/). Daher kann ich Dir leider bei diesem Beispiel nicht helfen.

Mir ist auch nicht ganz klar, ob Deine Frage nun darauf abziehlt, wie man Font-Features mit fontspec lokal ändern kann oder wie man im Inhaltsverzeichnis den Font ändern kann oder darauf, wie man das mit tocstyle macht oder darauf wie man die Formatierung von Verzeichniseinträgen extrem verändern kann.

So etwas:

	%Entfernt die Part-Eintrag-Seitennummer im Inhaltsverzeichnis:
	\addtokomafont{partentrypagenumber}%
		{\let\hfil\relax\def\hb@xt@#1#2{}}
 
	%Zentriert Part-Eintrag im Inhaltsverzeichnis (kollidiert mit tocstyle)
	\addtokomafont{partentry}%
		{\def\numberline#1{#1\autodot~}\centering\partname~}%

ist jedenfalls ein ganz übler Hack und liegt weit außerhalb dessen, wofür \addtokomafont vorgesehen ist. Sich darauf zu verlassen, dass das zufällig mal funktioniert hat, wäre ein großer Fehler. Wer \addtokomafont weit außerhalb der Spezifikation verwendet, darf dafür keinen Support erwarten.

Falls Du – was ich vermute – mehrere Fragen miteinander vermischt hast, sei darauf hingewiesen, dass das unklug ist. Zwecks Übersichtlichkeit sollte man komplexe Fragen auf möglichst klar abgegrenzte Einzelprobleme reduzieren und diese einzeln – ggf. mit Bezug zueinander – stellen.

1. Ich bitte höflichst um Entschuldigung. Leider weiß ich immer noch nicht, wo Du Deine Fonts ablegst. Wenn Du's mir verrätst, passe ich das MWE entsprechend an (C:/xyz war nur ein Beispiel, weil ich glaube dort wo ich meine Fonts ablege, legst Du Deine auch nicht ab.).

2. EB Garamond ist lizenzfrei verfügbar. (Prinzipiell dürfte jeder Font als Beispiel, der proportionale und monospaced Ziffern unterstützt funktionieren)
Homepage von Georg Duffner: http://www.georgduffner.at/ebgaramond/de/index.html
Download-Link https://bitbucket.org/georgd/eb-garamond/downloads

3. Auf die addtokomafont-Vergewaltigung würde ich gerne verzichten - weiß aber nicht wie (ist aus'm Netz, und hat tatsächlich zufällig bisher immer funktioniert, nur eben jetzt nicht, weshalb ich einsehe, dass es ein [H|K]ack übelster Sorte ist.

Ich habe das MWE angepasst, d.h. den Hack daraus entfernt. Die Schriftumschaltung funktioniert leider trotzdem nicht, weshalb ich mich freuen würde, wenn Du nochmal drüberschauen würdest.

Vielen Dank!

Bild von Markus Kohm

Am besten ist immer, in Minimalbeispielen gar keine Pfade vorzugeben.

Dessen ungeachtet scheint es generell nicht zu funktionieren, mit \addfontfeatures{Numbers=Monospaced,} auf Tabellenziffern umzuschalten:

\documentclass{article}
 
\usepackage{fontspec}
 
\setmainfont[%
Extension = .otf,
Numbers = {OldStyle,Proportional},%<-- Nummerierung global: proportional
UprightFont = {EBGaramond08-Regular},
ItalicFont = {EBGaramond08-Italic},
UprightFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Regular}},
		{Size={10-},Font={EBGaramond12-Regular}},
	},
},
ItalicFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Italic}},
		{Size={10-},Font={EBGaramond12-Italic}},
	},
},
]{EB Garamond}
 
\begin{document}
\raggedright
  \frame{11}
 
  \addfontfeatures{Numbers=Monospaced,}\selectfont
  \frame{11}
 
\end{document}

Erzeugt bei mir zwei gleich breite Kästen mit proportionalen Ziffern. Das verwundert auch nicht sehr, weil die neuen Features lediglich zu den alten hinzugefügt werden. Du müsstest aber die alten durch die neuen ersetzen, damit kein Konflikt entsteht. Es gibt dazu sogar einen expliziten Hinweis in der fontspec-Anleitung.

Ich weiß jetzt ehrlich gesagt nicht, wie man mit fontspec korrekt das Feature Numbers=Proportional abschaltet, um Numbers=Monospaces einschalten zu können. Soweit ich die Anleitung richtig verstanden habe, existiert eine solche Möglichkeit nicht wirklich. Man muss also wohl eine zweite Schriftfamilie mit den gewünschten Einstellungen definieren. Die ist dann aber natürlich nicht \normalfont. Als Hack funktioniert beispielsweise:

\documentclass[%
	paper=a4,
	paper=portrait,
	pagesize=auto,
	twoside=true,
	version=last,
	headings=normal,
	toc=listof,
	toc=graduated,
	parskip=half,
	headsepline=false,
	footsepline=false,
	cleardoublepage=empty,
]{scrbook}
 
\usepackage{fontspec}
 
\setmainfont[%
Extension = .otf ,
Numbers = {OldStyle,Proportional},%<-- Nummerierung global: proportional
UprightFont = {EBGaramond08-Regular},
ItalicFont = {EBGaramond08-Italic},
UprightFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Regular}},
		{Size={10-},Font={EBGaramond12-Regular}},
	},
},
ItalicFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Italic}},
		{Size={10-},Font={EBGaramond12-Italic}},
	},
},
]{EB Garamond}
 
\newfontfamily{\GaramondMonoNumbers}{EB Garamond}[%
Extension = .otf ,
Numbers = {OldStyle,Monospaced},%<-- Nummerierung global: proportional
UprightFont = {EBGaramond08-Regular},
ItalicFont = {EBGaramond08-Italic},
UprightFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Regular}},
		{Size={10-},Font={EBGaramond12-Regular}},
	},
},
ItalicFeatures = {%
	SizeFeatures={%
		{Size={-9.99},Font={EBGaramond08-Italic}},
		{Size={10-},Font={EBGaramond12-Italic}},
	},
},
]
 
\addtokomafont{disposition}{\normalfont\normalcolor}
 
\makeatletter
\AfterTOCHead[toc]{\l@addto@macro\normalfont{\GaramondMonoNumbers}\normalfont}
\makeatother
 
\KOMAoptions{DIV=last}
 
\usepackage{mwe}
 
\begin{document}
\tableofcontents%
 
\blinddocument\blinddocument\blinddocument\blinddocument
\end{document}

Hallo Markus,

vielen Dank, das hat mir sehr weiter geholfen. Auf \AfterTOCHead wäre ich nicht gekommen, auch wenn ich das "Ding" noch nicht ganz verstehe, sehe ich ein, dass pagenumberhook natürlich nicht genügt um die Nummerierung der sections zu erfassen. Hättest Du evtl. noch nen Tip, wie ich die Part-Einträge vernünftig, d.h. unge[h|k]ackt zentriere (oder sollte ich diesbzgl. einen neuen Thread aufmachen?)

Übrigens: Die fontfeature-Umschaltung nutze ich seit je her erfolgreich z.B. bei der lokalen Aktivierung von swashes oder der globalen Umschaltung der Fußnotenummerierung auf lining-proportional im Fließtext und oldstyle-monospaced in den Fußnoten (s. Bsp. unten). Deswegen wundert's mich etwas, dass es mit addtokomafont nicht funktioniert.

%---Fußnoten---
%Fußnotenmarkierung im Text:
\deffootnotemark{%
	\textsuperscript{%
		\ifluatex%
		       {\addfontfeatures{Numbers={Proportional,Lining}}%
			\thefootnotemark}%
		\else%
		        \textlf{\thefootnotemark}%
		\fi%
	}%
}%
 
%Formatierung der Fußnote mit KOMA-script Boardmittel: Funktioniert mit 
%hyperref bookmarks (footmisc funktioniert nicht mit hyperref).
\deffootnote[0em]{0em}{1em}{%
	{\addfontfeatures{Numbers={Monospaced,}}
		%\textsuperscript
		\thefootnotemark\ }%	%followed by a blank
}
Bild von Markus Kohm

Wie mein Beispiel mit article zeigt, ist das keine Frage von \addtokomafont. Es ist noch nicht einmal eine Frage von KOMA-Script.

.. zumindest Deiner - Danke nochmals für Deine Zeit und frohe Weihnachten!

Comments for "Inhaltsverzeichnis: Ziffern der Kapitel- u. Abschnittsnr., sowie Seitenzahlen formatieren" abonnieren