PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Punkteabstand bei \tableofcontents II



chris1234567
29-05-2009, 08:57
Diese Frage ist eine Erweiterung der Frage von: http://www.mrunix.de/forums/showthread.php?t=64686

Mir ist aufgefallen, dass bei List of Tables sowie List of Figures die Zeilen mit den Seitenangaben eingerückt sind. Ich würde sie, aufgrund der Einheitlichkeit mit anderen Verzeichnissen, gerne nicht eingerückt, bündig mit der jeweiligen Überschrift, von List of Tables und List of Figures darstellen (also ein Stück nach links rücken). Der Versuch
\newcommand*{\@tablelistsgap}{10\p@} funktioniert nicht. Das \@ sei schon definiert! Hat jemand einen Hinweis für mich?

Anbei das Minimalbeispiel:


\documentclass[a4paper,bibtotoc,oneside,fleqn]{scrbook}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}

\usepackage[pdfpagelayout=SinglePage]{hyperref}
\makeatletter

\def\@dottedtocline#1#2#3#4#5{%
\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@tempdima #3\relax
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
{#4}\nobreak
\cleaders\hb@xt@ .44em{\hss.\hss}\hfill
\nobreak
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
\par}%
\fi}

\makeatother
\begin{document}

\chapter[Chapter1]{Chapter1}
\subsection[Subsection1]{Subsection1}

%\newcommand*{\@tablelistsgap}{10\p@}

\tableofcontents
a\dotfill b\\
a\dotfill b

\begin{table}[hbt]
\begin{center}
\caption[Notation ]{\small{Notation }}
\footnotesize{
\begin{tabular}{|lll|}
N\textsuperscript{o} & f~[mHz]~ & V\textsubscript{eff}~[mV]~ \\
\end{tabular}
}
\end{center}
\end{table}

\begin{figure}[htbp]
\centering
\caption[University of ]{University of}
\end{figure}

\listoftables
\listoffigures

\end{document}

BG C

u_fischer
29-05-2009, 09:18
Das \@ sei schon definiert!

Beachte das \makeatletter-\makeatother, das um meinen Code steht.

http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atsigns

Ulrike Fischer

chris1234567
29-05-2009, 10:42
Soweit ich das verstanden habe: Das Paket welches verändert wird ist durch @ geschützt durch \makeatletter @ kann man den Schutz aufheben. Das Makro wird wieder durch \makeatother gesperrt.

Wenn ich nun
\renewcommand\subsection{\@tablelistsgap {subsection}{2}{0mm}} in die \makeatletter \makeatother Umgebung schreibe funktioniert es aber auch nicht. Liegt es daran, dass die List of Tables nicht in Subsections gegliedert ist, also subsection falsch ist?

Der Fehler beim Compilieren lautet. Undefined control sequence \subsection -> \@tablelistsgap Das würde einen Hinweis darauf geben, dass subsection falsch ist. Aber auch mit
\renewcommand{\@tablelistsgap{0mm}} geht es nicht.

Was mache ich nur falsch? :(
Bitte nocheinmal um einen Hinweis.

BG C

u_fischer
29-05-2009, 11:24
Soweit ich das verstanden habe: Das Paket welches verändert wird ist durch @ geschützt durch \makeatletter @ kann man den Schutz aufheben. Das Makro wird wieder durch \makeatother gesperrt.

Nicht ganz. Befehlsnamen dürfen (mit der Ausnahme von 1-Symbol-Befehlen wie \,) nur Buchstaben enthalten. @ ist kein Buchstabe. Aber du kannst @ (und alle anderen Eingabezeichen auch) zu einem Buchstaben "machen".
\makeatletter = mache @ zu Buchstabe.

Ansonsten empfehle ich eine Kaffeepause.

\renewcommand\subsection ist quatsch. Das definiert \subsection um.

Bei \renewcommand{\@tablelistsgap{0mm}} sind die Klammern falsch.

(Ich habe übrigens keine Ahnung was \@tablelistsgap tut oder tun soll.)

Ulrike Fischer

chris1234567
29-05-2009, 12:28
So Kaffeepause hinter mich gebracht.
Mit
\@tablelistsgap möchte ich erreichen, dass bei der List of Tables der Abstand nach links verkleinert wird. Gibt es dafür einen anderen Befehl? Meiner scheint ja falsch zu sein.

BG C

chris1234567
31-05-2009, 09:12
Habe gesehen, dass mit dem Befehl
\chapterlistsgap der vertikale Abstand verändert werden kann. Wie kann ich denn nun den horizontalen Abstand (Abstand zum Seitenrand verändern?) Wo stehen denn diese Befehle? Wenn man \chapterlistsgap in der Koma Beschreibung sucht, findet man das nicht einmal. Hat wer einen Hinweis?

BG C

rais
31-05-2009, 10:09
Moin moin,

Habe gesehen, dass mit dem Befehl
\chapterlistsgap der vertikale Abstand verändert werden kann. Wie kann ich denn nun den horizontalen Abstand (Abstand zum Seitenrand verändern?) Wo stehen denn diese Befehle? Wenn man \chapterlistsgap in der Koma Beschreibung sucht, findet man das nicht einmal.
ein `\chapterlistsgap' finde ich nicht mal in scrbook.cls, vermutlich meinst Du \@chapterlistsgap? Und den könntest Du etwas bequemer per chapteratlists-Option erreichen -- und die ist auch dokumentiert.;-)

Tut denn listof=flat nicht das, was Du suchst?

MfG

chris1234567
01-06-2009, 19:34
Danke für den Hinweis, aber wie verwende ich den Befehl richtig?
Egal wo ich den jetzt hingesetzt habe, kommen Fehlermeldungen...

BG C

rais
01-06-2009, 19:46
Moin moin,

Danke für den Hinweis, aber wie verwende ich den Befehl richtig?
Egal wo ich den jetzt hingesetzt habe, kommen Fehlermeldungen...

ist ja auch kein Befehl ...


\documentclass[listof=flat]{scrbook}

vgl. scrguide.

MfG

chris1234567
01-06-2009, 22:00
Wow, danke!!! Es funktioniert, danke für diesen Hinweis.

BG C