Tengo
\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}
¿Cómo puedo hacer que el título se vea así?
{\bfseries Table 1.} {\itshape A caption.}
(entonces, "Tabla 1." en negrita y "Un título." en cursiva)?
Aún mejor, ¿podría pasar {\bfseries Table 1}
a una línea, {\itshape A caption.}
a la siguiente y ambas líneas centradas?
(Editado para reemplazar los comandos obsoletos).
Respuesta1
Puedes usar caption
el paquete para hacerlo. Luego utilícelo captionsetup
para formatear el título a su gusto.
\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}
Respuesta2
Según la consulta que dejó en la respuesta de @ Kiraa, aquí hay una solución que modifica la macro \LT@makecaption
del longtable
paquete directamente. La solución utiliza la \patchcmd
macro del etoolbox
paquete para realizar la cirugía requerida en la \LT@makecaption
macro.
\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}
Para obtener un salto de línea después de la Table <x>
parte, puede usar el siguiente código (que se insertará en el preámbulo en lugar del código de parche que se muestra arriba):
\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