나는 가지고있다
\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}
캡션을 다음과 같이 보이게 하려면 어떻게 해야 합니까?
{\bfseries Table 1.} {\itshape A caption.}
(그래서 "표 1."은 굵은 글씨로, "캡션"은 이탤릭체로)?
더 좋은 점은 {\bfseries Table 1}
한 줄, {\itshape A caption.}
다음 줄을 타고 두 줄을 모두 중앙에 둘 수 있다는 것입니다.
(더 이상 사용되지 않는 명령을 대체하도록 편집되었습니다.)
답변1
caption
그렇게 하려면 패키지를 사용할 수 있습니다 . 그런 다음 captionsetup
원하는 대로 캡션의 형식을 지정하는 데 사용합니다 .
\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}
답변2
@Kiraa의 답변에 남긴 쿼리에 따라 패키지 \LT@makecaption
의 매크로를 longtable
직접 수정하는 솔루션이 있습니다. 솔루션은 패키지 \patchcmd
의 매크로를 사용하여 매크로 etoolbox
에 필요한 작업을 수행합니다 \LT@makecaption
.
\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}
부품 뒤에 줄바꿈을 적용하려면 Table <x>
다음 코드를 사용할 수 있습니다(위에 표시된 패치 코드 대신 서문에 삽입).
\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