PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tocloft Führungspunkte trotz \cftsetpnumwidth ?



AnniFranni
23-09-2013, 12:05
Hallo ihr Lieben.

Nachdem mir beim letzten Mal schon so toll geholfen werden konnte als ich ein Problem mit meinen Tabellen hatte nun mein letztes Problem bevor ich meine Arbeit endlich abgeben kann.

Um in meinem Inhaltsverzeichnis noch Formatierungen vornehmen zu können bin ich für meine Arbeit auf tocloft umgestiegen und komme eigentlich ganz gut klar, bis auf eine Sache habe ich auch schon alle Probleme beheben können.

Ich habe nur noch Probleme mit den Führungspunkten im Inhaltsverzeichnis. Da ich sehr große Seitenzahlen habe (römisch 31...) habe ich diese in eine Box eingebettet damit sie nicht den rechten Rand sprengen (ich finde rechtsbündig sieht da schöner aus im Inhaltsverzeichnis).

Allerdings reichen dann natürlich die Führungspunkte nur noch bis zum Rand der Box und nicht mehr bis zu den einzelnen Zahlen. Ich habe gelesen dass das Auffüllen bis zur Zahl nur möglich ist wenn man keine Box verwendet, stimmt das?
Wenn ich sie aber weglasse siehts aus wie Kraut und Rüben...

Geht es irgendwie die Seitenzahlen so à la \raggedright oder so als rechtsbüdig zu definieren, gibt es irgendein anderes Kommando das ich übersehen habe? In der Dokumentation von tocloft hab ich dazu nicht wirklich was gefunden. :confused:

Oder kann man vielleicht die definierte Box doch irgendwie mit Punkten füllen bis zur Zahl?

Es wäre toll wenn jemand eine Idee hätte wie ich das Problem lösen kann, ansonsten muss ich wohl einfach mit dem Abstand vor den Zahlen leben.

Hier mein (hoffentlich :D) Minimalbeispiel:



\documentclass[listof=totocnumbered,9pt,a4paper,ngerman]{scrartcl} % Verzeichnisse im IV aufgeführt mit Nr.

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{extsizes}
\usepackage[a4paper,left=3cm,right=2.5cm,top=2cm,bottom=2cm]{geometry}
\usepackage[titles]{tocloft} % Formatierung der Vezeichnisse

\cftsetpnumwidth{1.0cm}

\renewcommand{\cftsecdotsep}{\cftdotsep}
\renewcommand{\cftsecleader}{\normalfont\cftdotfil l{\cftsecdotsep}}

\begin{document}
\makeatletter
\renewcommand{\cftdotsep}{0.5} % Einstellung der Punktabstände im VZ
\makeatother

\tableofcontents % Inhaltsverzeichnis

\newpage
\newcommand*{\thesectionwas}{}
\let\thesectionwas\thesection
\renewcommand{\thesection}{\Roman{section}}
\setcounter{section}{0}

\section{Abkürzungsverzeichnis}

\newpage
\makeatletter
\renewcommand{\cftdotsep}{0.5}
\makeatother
\listoffigures % Abb-VZ

\newpage
\makeatletter
\renewcommand{\cftdotsep}{0.5}
\makeatother
\listoftables % Tab-VZ
\newpage

\renewcommand{\thesection}{\Roman{section}}
\setcounter{section}{3}
\pagenumbering{Roman}
\setcounter{page}{31}

\begin{appendix}
\refstepcounter{section}
\section{bla}
\section{blabla}
\end{appendix}

\end{document}


Viele liebe Grüße und danke im Voraus! :)

AnniFranni
23-09-2013, 20:27
Schade, gibt es wirklich keine Lösung für mein Problem? :(

rais
24-09-2013, 21:42
Moin moin,


Ich habe nur noch Probleme mit den Führungspunkten im Inhaltsverzeichnis. Da ich sehr große Seitenzahlen habe (römisch 31...) habe ich diese in eine Box eingebettet damit sie nicht den rechten Rand sprengen (ich finde rechtsbündig sieht da schöner aus im Inhaltsverzeichnis).

Wenn Du mit `in eine Box einbetten' die Verwendung von \cftsetpnumwidth meinst: damit definierst Du nur die Breite der Box; daß die Seitenangabe in einer Box ausgegeben wird, darum kümmert sich hier \cftsecfillnum.


Allerdings reichen dann natürlich die Führungspunkte nur noch bis zum Rand der Box und nicht mehr bis zu den einzelnen Zahlen. Ich habe gelesen dass das Auffüllen bis zur Zahl nur möglich ist wenn man keine Box verwendet, stimmt das?
Wenn ich sie aber weglasse siehts aus wie Kraut und Rüben...

Geht es irgendwie die Seitenzahlen so à la \raggedright oder so als rechtsbüdig zu definieren, gibt es irgendein anderes Kommando das ich übersehen habe? In der Dokumentation von tocloft hab ich dazu nicht wirklich was gefunden. :confused:

Theoretisch ginge, die Boxbreite für die Seitenangabe auf Null zu setzen, dann wandert eine längere Seitenangabe nach links -- vorausgesetzt, \cftpnumalign bleibt unverändert auf `r' -- birgt aber die Gefahr, daß sich Seitenangabe und dazugehöriger Titeltext in die Quere kommen.
Dem könnte man noch durch Anheben von \@rmarg entgegenwirken (siehe \cftsetrmarg in der tocloft-Doku), allerdings überschreibt die Seitenangabe dann immer noch ein paar von den Punkten...


Oder kann man vielleicht die definierte Box doch irgendwie mit Punkten füllen bis zur Zahl?

Auch das ginge theoretisch, z. B. durch Unterjubeln von \cftsecleader in \cftsecpagefont oder innerhalb \cftsecfillnum in der \makebox einen zweiten \cftsecleader (vor #1) setzen, dann hättest Du aber eine sichbare Kante/Lücke beim Übergang `Punkte vor der Box/Punkte in der Box'.



\makeatletter
\renewcommand{\cftdotsep}{0.5} % Einstellung der Punktabstände im VZ
\makeatother

Einmal abgesehen davon, daß \makeatletter/\makeatother hier überflüssig sind: wozu setzt Du \cftdotsep vor jedem Verzeichnis neu?



\begin{appendix}
(...)
\end{appendix}


Weder im LaTeX-Kern, noch in der von Dir verwendeten Klasse ist appendix als Umgebung definiert, vielmehr als Schalter: \appendix.

Etwa so könntest Du die Box `weglassen':


\documentclass[listof=totocnumbered,fontsize=9pt,a4paper,ngerman]{scrartcl} % Verzeichnisse im IV aufgeführt mit Nr.

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\usepackage[a4paper,left=3cm,right=2.5cm,top=2cm,bottom=2cm]{geometry}
\usepackage[titles]{tocloft} % Formatierung der Vezeichnisse

%\cftsetpnumwidth{1.0cm}<-- siehe \cftsecfillnum

\cftsetrmarg{2cm}% <-- IMHO etwas breiter als die breiteste Seitenangabe im TOC(/LOF/LOT) wählen, damit sich Titel dessen Seitenangabe nicht überschneiden

\renewcommand{\cftsecdotsep}{\cftdotsep}
\renewcommand{\cftsecleader}{\normalfont\cftdotfil l{\cftsecdotsep}}
\renewcommand{\cftdotsep}{0.5} % Einstellung der Punktabstände im VZ
\renewcommand{\cftsecfillnum}[1]{%<-- Original siehe tocloft.sty
{\cftsecleader}\nobreak
{\cftsecpagefont #1}% Seitenangabe ohne Box, damit wird die Breitenangabe (\cftsetpnumwidth) obsolet -- vorausgesetzt, \cftfigfillnum, \cftsubsecfillnum, etc. werden analog mit angepasst
\cftsecafterpnum\par
}

\begin{document}
\tableofcontents % Inhaltsverzeichnis

\newpage
\section{Ein etwas längerer Titel, um einen etwaigen Zeilenumbruch im Inhaltsverzeichnis sehen zu können}

\newpage
\listoffigures % Abb-VZ

\newpage
\pagenumbering{Roman}
\setcounter{page}{37}

\appendix%<-- ist ein Schalter, keine Umgebung!
\section{bla}
\newpage
\section{blabla}
\section{Noch ein etwas längerer Titel, um einen etwaigen Zeilenumbruch im Inhaltsverzeichnis sehen zu können}
\end{document}

MfG