Ich habe
\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{|c|c|}
\caption{A caption.}\label{tab1} \\ \hline
1 & 2 \\ \hline
3 & 4 \\ \hline
\end{longtable}
\end{document}
Wie kann ich die Beschriftung so gestalten,
{\bfseries Table 1.} {\itshape A caption.}
(also „Tabelle 1“ in Fettdruck und „Eine Überschrift“ in Kursivdruck)?
Oder noch besser: Könnte ich {\bfseries Table 1}
auf eine Zeile, {\itshape A caption.}
auf die nächste Zeile und beide Zeilen zentriert gelangen?
(Bearbeitet, um veraltete Befehle zu ersetzen.)
Antwort1
Sie können caption
hierfür das Paket verwenden. Anschließend können Sie captionsetup
die Beschriftung nach Ihren Wünschen formatieren.
\documentclass{article}
\usepackage{longtable}
\usepackage{caption}
\begin{document}
\captionsetup[longtable]{labelfont=bf,textfont=it,labelsep=newline}
\begin{longtable}{|c|c|}
\caption{A caption.}\label{tab1} \\ \hline
1 & 2 \\ \hline
3 & 4 \\ \hline
\end{longtable}
\end{document}
Antwort2
Gemäß der Frage, die Sie in der Antwort von @Kiraa hinterlassen haben, gibt es hier eine Lösung, die das Makro \LT@makecaption
des longtable
Pakets direkt ändert. Die Lösung verwendet das \patchcmd
Makro des etoolbox
Pakets, um die erforderliche Operation am \LT@makecaption
Makro durchzuführen.
\documentclass{article}
\usepackage{longtable}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\LT@makecaption}%
{\@tempboxa{#1{#2: }#3}}
{\@tempboxa{#1{\textbf{#2. }}\itshape #3}}{}{}
\patchcmd{\LT@makecaption}%
{#1{#2: }#3}
{#1\textbf{#2. }{\itshape #3}}{}{}
\makeatother
\begin{document}
\begin{longtable}{|c|c|}
\caption{A caption.} \label{tab1} \\
\hline
1 & 2 \\ \hline
3 & 4 \\ \hline
\end{longtable}
\end{document}
Um einen Zeilenumbruch nach dem Table <x>
Teil zu erhalten, können Sie den folgenden Code verwenden (der in die Präambel anstelle des oben gezeigten Patchcodes eingefügt wird):
\usepackage{etoolbox,ragged2e}
\makeatletter
\patchcmd{\LT@makecaption}%
{\@tempboxa{#1{#2: }#3}}
{\@tempboxa{#1{\textbf{#2.\ }}\itshape #3}}{}{}
\patchcmd{\LT@makecaption}%
{#1{#2: }#3}
{\Centering #1\textbf{#2.}\par{\itshape #3}}{}{}
\patchcmd{\LT@makecaption}%
{\hbox to\hsize{\hfil\box\@tempboxa\hfil}}
{\Centering #1\textbf{#2.}\par{\itshape #3}}{}{}
\makeatother