PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abbildungsverzeichnis: Mindestanzahl von Punkten zum Auffüllen festlegen



Magger
04-05-2012, 09:49
Hallo,

ich habe ein Dokument mit vielen Abbildungen, langen Abbildungsbeschriftungen und einem entsprechend langem Abbildungsverzeichnis. Deshalb passiert es relativ oft, das im Abbildungsverzeichnis zwischen dem Titel und der Seitenzahl nur 1 oder 2 Punkte stehen, was ehrlich gesagt relativ bescheiden aussieht, da ein einzelner Punkt auch wie ein verlorenes Satzzeichen aussieht.

Folgendes Minimalbeispiel veranschaulicht das Problem:


\documentclass{scrartcl}

\usepackage[ngerman]{babel}

\makeatletter
%\renewcommand*{\@pnumwidth}{2.1em}
%\renewcommand*{\@tocrmarg}{5em}
\makeatother

\begin{document}

\listoffigures

\begin{figure}[p]
\caption{Eine lange, lange, lange, lange, lange, lange, lange Bildunterschrift}
\end{figure}

\begin{figure}[p]
\caption{Eine sehr, sehr, sehr, sehr, sehr, sehr, sehr, sehr lange Bildunterschrift}
\end{figure}

\begin{figure}[p]
\caption{Eine sehr lange, lange, lange, lange, lange, lange, lange Bildunterschrift}
\end{figure}

\begin{figure}[p]
\caption{Eine lange, lange, lange, lange, lange, lange, lange, lange Bildunterschrift}
\end{figure}

\end{document}

Gibt es eine Möglichkeit eine Mindestanzahl (z.B. 3) von Punkten festzulegen?

Wenn nur 1 oder 2 Punkte hinpassen würden, sollen keine Punkte gesetzt werden, da bei einem solch kurzen Abstand noch ein direkter Bezug zwischen Titel und Seitenzahl gegeben ist. Wenn 3 oder mehr Punkt hinpassen, sollen diese auch gesetzt werden.

Ich habe schon versucht mit pnumwidth und tocrmarg zu spielen. Damit verschiebt man das Problem aber nur zu kürzeren Titeln hin. Ich habe mir auch mal das tocloft- und das caption-Paket angesehen, aber auch dort keine Lösung gefunden.

Viele Grüße, Mathias

cookie170
04-05-2012, 20:20
Davon habe ich auch noch nie gehört. Aber man kann die Punkte insgesamt abstellen. Oder Du machst das, was alle anderen auch machen: \caption[Kurzbezeichnung]{langer langer Titel mit vielen Erklärungen}

Wobei, wenn Du mich fragst, das Auslagern von Text in Beschriftungen von Bildern eine Unsitte ist. Schreib' in Deinem Text, was Du zu sagen hast. Nicht unter die Bilder.

Klaus-Anton
04-05-2012, 23:29
Tag Mathias,

wenn du wie cookie170 die Punkte ganz abstellst, dann kannst du sie aber (manuell) wieder hereinnehmen, aber mit geänderten Abständen, entweder von Punkt zu Punkt oder auch geänderte Abstände zwischen Text bzw. Zahlen und Punkten.

Die Punkte kannst so definieren (und statt 1em kannst du einen kleineren Wert nehmen und vor und nach \mydotfill kannst du nach deinem gusto \hspace-Werte variabel festlegen):

\def\mydotfill{\leaders\hbox to 1em{\hss.}\hfill}

ctansearch
05-05-2012, 01:02
Da stimme ich Cookie170 zu, das ist ein hausgemachtes Problem.

Entweder machst Du die Bildunterschriften so kurz, daß es ein Verzeichnis ergibt, welches mindestens vier Punkte (dotfill) zulässt, denn nur dann sind sie als dotfill erkennbar, oder Du machst die Unterschriften so lang, daß sich im Verzeichnis ein Zeilenumbruch ergibt.

Man muß die Bildunterschriften ja nicht gerade so lang machen, daß dotfill nicht mehr funktioniert.

TeX kann ja vieles, aber schlechtes Schreiben zu gutem Setzen zu machen ist einfach zuviel verlangt.

Klaus-Anton
05-05-2012, 17:43
[...] welches mindestens vier Punkte (dotfill) zulässt, [...]

ctansearch, ich verstehe nicht, wie dass funktionieren soll mit dem, was du behauptest, mindestens vier Punkte.

Das leuchtet mir aus der Orginal-Definition von \dotfill nicht ein, die nämlich lautet (aus source2e.pdf):
\def\dotfill{%
236 \leavevmode
237 \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
238 \kern\z@}

Außerdem funktioniert \dotfill bei Mathias ganz genau so, wie es eingerichtet ist, also exactly so wie es soll. Nur dass er ästhetisch damit nicht zufrieden ist. Ob er formal-stilistisch richtig vorgeht, das mag ihm zu bedenken zu geben sein; aber mitunter können ihm ja die Hände gebunden sein, weil er z.B. von seinen Gutachtern andere Vorgaben hat, z.B. weil er einen Reprint von einem Buch erstellt ...

Mathias müsste sich, um das zu erreichen, was er will, mit \renewcommand meiner Ansicht nach ein \dotfill zurechtbasteln, z.B. so (nun aber mit \renewcommand statt mit \def):
\def\mydotfill{%
\leavevmode
\cleaders \hb@xt@ .44em{\hss.\hss}\hfill
\kern\z@%
\mbox{}\hspace{.44em}.\hspace{.44em}.\hspace{.44em }.\hspace{.44em}\mbox{}%
}

Ob wegen \cleaders statt \leaders die Punkte alle tatsächlich die gleichen Abstände haben, da muss man ggf. noch ein Auge drauf werfen und evtl. notfalls doch \leaders verwenden.

Zusätzlich sähe ich noch die Möglichkeit, in der .aux Datei im final run von LaTeX die entsprechenden Einträge manuell zu ändern.

ctansearch
05-05-2012, 21:37
Nur dass er ästhetisch damit nicht zufrieden ist. Ob er formal-stilistisch richtig vorgeht, das mag ihm zu bedenken zu geben sein; aber mitunter können ihm ja die Hände gebunden sein

Natürlich ist das seine Sache, aber es geht hier nur um 3 oder 4 Zeichen zuviel oder zuwenig in der Bildunterschrift. Ich meine, daß das nicht den Aufwand wert ist, um nach geeigneten Befehlen zu suchen.

Magger
11-05-2012, 13:17
Danke für die Antworten. Ich sehe ja ein, dass Bildunterschriften möglichst kurz sein sollten, allerdings gibt es bei uns eine Richtlinie, die sagt:


Bildunterschriften sollen selbsterklärend sein. Notwendige Erklärungen sind unter der
Bildunterschrift zu geben, z.B. die Bedeutungen mehrerer Kurven im gleichen Bild oder
wichtige Randbedingungen, unter denen die Kurven erhalten wurden. Bilder selbst sollen
möglichst wenig Text enthalten.

Außerdem sind gerade in den Ingenieurwissenschaften mal ein paar mehr Worte nötig, um den Bildinhalt hinreichend exakt zu beschreiben.

Leider habe ich die Antwort von Klaus-Anton nicht so richtig nachvollziehen können. Minimalbeispiel?

Viele Grüße, Mathias

rstuby
11-05-2012, 13:29
Und der ganze Text muss unbedingt auch ins Verzeichnis? Ich würde hierin Alexander (Cookie) in #2 zustimmen:
\caption[Kurzfassung fürs Verzeichnis]{Lange Version mit allen Erklärungen, die nur direkt unter dem Bild erscheint}
ist der beste Weg.

ctansearch
11-05-2012, 15:15
Notwendige Erklärungen sind unter der
Bildunterschrift zu geben
Wenn das so ist, benutze mbenotes.sty
http://ctan.org/tex-archive/macros/latex/contrib/mbenotes

\documentclass[draft]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman,american]{babel}
\usepackage{csquotes,graphicx,mbenotes}
\begin{document}
\listoffigures
\begin{figure}[ht]
\includegraphics[width=1cm,height=1cm]{test}\mbenote{Lange Erklärung zum Bild, die nicht mehr in das Verzeichnis passt,
aber auch nicht dort hinein geschrieben wird.}
\caption[Text mit Referenz]{Text mit Referenz}
\thembenotes[]
\end{figure}
\end{document}

Magger
12-05-2012, 19:19
Danke für die Vorschläge. Ich habe es jetzt hauptsächlich so gemacht, wie von cookie vorgeschlagen und von rstuby wiederholt, und bin ganz zufrieden damit.