Unterstreichen von Captions

Tabellen und Grafiken erstellen und anordnen


Eichhörnchen
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Do 12. Feb 2009, 13:52

Unterstreichen von Captions

Beitrag von Eichhörnchen »

Liebe Leute,

ich muß für ein Journal alle Captions von Subtables unterstreichen, konkret, "Panel A. Title" muß unterstrichen sein. Ich verwende die Packages caption und subfig und habe es mit
 \DeclareCaptionFormat{undercap}{\underline{#1#2#3}} 
in mehreren Varianten versucht, aber immer kommt der Fehler
 Paragraph ended before \underline was complete. 
Die analogen Befehle für CaptionLabelFormat und CaptionTextFormat funktionieren, produzieren jedoch Striche in unterschidlicher Höhe wegen evtl. hängender Buchstaben im Titel.

Ich wäre sehr dankbar für jegliche Ideen!

Ciao, Eichhörnchen

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

\underline funktioniert nur im horizontalen Modus, das bedeutet, dass innerhalb von \underline nicht umbrochen wird und deshalb auch kein Absatzende vorkommen darf. Siehe dazu auch die Anleitung zu Paketen wie ulem oder soul.

Eichhörnchen
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Do 12. Feb 2009, 13:52

Beitrag von Eichhörnchen »

Danke,

ich habe alle CTAN-Pakete, die mit underlining zu tun haben, bereits ausprobiert (analog wie oben), und es kommt immer die gleiche Fehlermeldung, bloß ist das Wort "\underline" ersetzt durch "\UL@on" (bei ulem) oder "\SOUL@" (bei soul).

Außerdem sind alle meine Subcaption-Texte Einzeiler, d.h. ein Zeilenumbruch kommt nirgends wirklich vor. Wird ein Absatzende intern durch subfig oder caption generiert?!

Ciao, Eichhörnchen

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Eichhörnchen hat geschrieben:Wird ein Absatzende intern durch subfig oder caption generiert?!
Ja, das muß es auch, da ansonsten diverse Formatierungsoptionen des caption-Paketes nicht richtig greifen würden.

Als Abhilfe fällt mir so spontan nur ein, das interne Kommando \caption@@make des caption-Paketes, welches letztendlich die Beschriftungen des caption- und subfig-Paketes setzt, umzudefinieren. Zum Beispiel so:
\documentclass{article}
\usepackage{caption}

\makeatletter
\renewcommand\caption@@make[2]{%
  \centering\underline{#1:~#2}}
\makeatother

\begin{document}

\begin{table}[!ht]
  \caption{A table with caption}
  \centering
  \begin{tabular}{cc}\hline
    column1 table 2 & column2 table 2\\\hline
  \end{tabular}
\end{table}

\end{document}
Hierbei gehen aber reichlich Einstellungen bzgl. captions über den Jordan, d.h. entsprechende Formatierungswünsche müsste man in die obrige Definition von \caption@@make selber einbauen.

Liebe Grüße,
Axel

Eichhörnchen
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Do 12. Feb 2009, 13:52

Beitrag von Eichhörnchen »

Der obige Vorschlag wäre natürlich die "saubere" Lösungsvariante, aber weder bin ich dermaßen versiert im LaTeX noch will ich die Zeit investieren -- sorry.

Ich habe das Problem jetzt mit einem quick & dirty workaround erledigt, aber eine echte Lösung ist das natürlich nicht:
\DeclareCaptionFormat{underlabel}{\underline{#1#2}#3}
\DeclareCaptionTextFormat{undertext}{\underline{\protect\raisebox{-0.6ex}{}#1}}
\renewcommand{\subtablename}{\protect\raisebox{-0.6ex}{}Panel}
Danke für beide Antworten!

LG, Eichhörnchen

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Eichhörnchen hat geschrieben:Der obige Vorschlag wäre natürlich die "saubere" Lösungsvariante, aber weder bin ich dermaßen versiert im LaTeX
\caption@@make umzudefinieren unterscheidet sich doch nicht sonderlich von \DeclareCaptionFormat!?
noch will ich die Zeit investieren -- sorry.
Was stört dich denn noch an obriger Lösung von mir, so daß da noch Zeit investiert werden muß?

Liebe Grüße,
Axel

Eichhörnchen
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Do 12. Feb 2009, 13:52

Beitrag von Eichhörnchen »

sommerfee hat geschrieben:\caption@@make umzudefinieren unterscheidet sich doch nicht sonderlich von \DeclareCaptionFormat!?
Das stimmt. Was mich abschreckt, ist Deine Anmerkung, daß man alle sonstigen Formatierungen neu einbauen muß. Einerseits habe ich schon alle im subfig-Paket eingestellt, andererseits bin ich nicht absolut sicher, daß ich sie alle selber erzeugen kann.
sommerfee hat geschrieben:Was stört dich denn noch an obriger Lösung von mir, so daß da noch Zeit investiert werden muß?
Ich weiß nicht, wie ich Deine globale Lösung auf meine Situation anpassen kann, also nicht alle Captions, sondern nur Captions von Subtables unterstreichen.

(Außerdem bin ich schon deswegen genervt, weil ich meiner Meinung nach als Autorin die Verlagsarbeit (= das Typesetten) machen muß.)

Sorry fürs Mißverständnis & liebe Grüße!

Antworten