Eu tenho
\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}
Como posso fazer com que a legenda pareça
{\bfseries Table 1.} {\itshape A caption.}
(então, "Tabela 1." em negrito e "Uma legenda." em itálico)?
Melhor ainda, eu poderia entrar {\bfseries Table 1}
em uma linha, {\itshape A caption.}
na próxima linha e ambas as linhas centralizadas?
(Editado para substituir comandos obsoletos.)
Responder1
Você pode usar caption
o pacote para fazer isso. Em seguida, use captionsetup
para formatar a legenda de acordo com sua preferência.
\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}
Responder2
De acordo com a consulta que você deixou na resposta do @Kiraa, aqui está uma solução que modifica diretamente a macro \LT@makecaption
do pacote. longtable
A solução utiliza a \patchcmd
macro da etoolbox
embalagem para realizar a cirurgia necessária na \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 obter uma quebra de linha após a Table <x>
parte, você pode usar o seguinte código (a ser inserido no preâmbulo no lugar do código de patch mostrado acima):
\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