긴 표 캡션의 스타일을 어떻게 변경합니까?

긴 표 캡션의 스타일을 어떻게 변경합니까?

나는 가지고있다

\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

관련 정보