목차에 다중 열 열 추가

목차에 다중 열 열 추가

다중 열 환경에서 섹션/하위 섹션의 열을 목차에 추가할 수 있습니까?

현재 목차는 이렇습니다

1. Headline 1 ......... 1 % Shows only the page
2. Headline 2 ......... 1
3. Headline 3 ......... 1

하지만 난 이렇게 생겼으면 좋겠어

1. Headline 1 ......... 1.1 % <page>.<column>
2. Headline 2 ......... 1.3
3. Headline 3 ......... 1.5

다음은 확장되어야 하는 최소한의 예입니다.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[a4paper, landscape, margin=3cm]{geometry}
\usepackage{lipsum} 
\usepackage{multicol}

\begin{document}
\begin{multicols*}{5}

\tableofcontents
\section{Headline 1}
\lipsum[1-3]

\section{Headline 2}
\lipsum[4-6]

\section{Headline 3}
\end{multicols*}

\end{document}

답변1

다음은 원하는 작업을 수행합니다. 모든 것을 올바르게 표시하려면 몇 번의 실행(3)이 필요합니다. 이 옵션은 colaction명령 \docolaction과 패치가 작동하는 데 필요합니다.

임의 개수의 열에 대한 새로운 답변

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lipsum} 
\usepackage[colaction]{multicol}
\usepackage[left=1cm,right=1cm,top=1cm,bottom=1cm]{geometry}
\usepackage{etoolbox}

\makeatletter
\newcounter{brnk@col@count}
\renewcommand*\addcontentsline[3]
  {%
    \addtocontents{#1}
      {%
        \protect\contentsline{#2}{#3}
          {\thepage\ifnum\doublecol@number>0\relax.\string\brnk@cur@col\fi}%
      }%
  }
\def\brnk@patch@last
  {%
    \stepcounter{brnk@col@count}%
    \protected@write\@auxout{}%
      {%
        \string\@writefile{toc}%
          {\string\def\string\brnk@cur@col{\arabic{brnk@col@count}}}%
      }%
  }
\def\brnk@patch@else
  {%
    \ifmc@firstcol
      \setcounter{brnk@col@count}{0}%
    \fi
    \brnk@patch@last
  }
\def\brnk@patch@error
  {%
    \GenericError{}
      {Patching of \string\mc@col@status@write\space failed}
      {%
        Make sure `colaction` was set as an option for `multicol`.%
        \MessageBreak
        Else you're screwed, don't use the code provided here.\MessageBreak%
      }
      {No further help available.}%
  }
\pretocmd\mc@lastcol@status@write{\brnk@patch@last}{}{\brnk@patch@error}
\pretocmd\mc@col@status@write{\brnk@patch@else}{}{\brnk@patch@error}
\makeatother

\begin{document}
\begin{multicols*}{5}

\tableofcontents
\section{Headline 1}
\lipsum[1-2]

\section{Headline 2}
\lipsum[3]

\section{Headline 3}
\lipsum[4-7]

\subsection{Subsection 1}
\lipsum[8]
\subsection{Subsection 2}
\lipsum[9]
\end{multicols*}
\section{Headline 4}
\lipsum[5]
\begin{multicols*}{2}
\section{Headline 5}
\lipsum[6]
\end{multicols*}

\end{document}

여기에 이미지 설명을 입력하세요


3개 열에 대한 원래 답변

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lipsum} 
\usepackage[colaction]{multicol}

\makeatletter
\renewcommand*\addcontentsline[3]{%
  \def\brnk@column{}%
  \ifnum\doublecol@number>0
    \docolaction
      [5]
      {\def\brnk@column{.1}}
      {\def\brnk@column{.2}}
      {\def\brnk@column{.3}}%
  \fi
  \addtocontents{#1}{\protect\contentsline{#2}{#3}
    {\thepage\brnk@column}}}
\makeatother

\begin{document}
\begin{multicols*}{3}

\tableofcontents
\section{Headline 1}
\lipsum[1-2]

\section{Headline 2}
\lipsum[3]

\section{Headline 3}
\lipsum[4]
\end{multicols*}
\section{Headline 4}
\lipsum[5]
\begin{multicols*}{2}
\section{Headline 5}
\lipsum[6]
\end{multicols*}

\end{document}

결과 ToC:

여기에 이미지 설명을 입력하세요

관련 정보