나는 TOC에 대해 아래 디자인에 도달하려고 시도하고 있습니다(그러나 회고록 클래스를 사용함).
기본적으로 장 번호, 이름 및 페이지와 하위 섹션 번호, 이름 및 페이지만 표시됩니다. 회고록의 표준 목차 구조는 이름과 페이지 사이에 점을 추가하는데, 이를 제거하겠습니다.
부분적인 해결책에 도달할 수 있었는데, 하위 섹션에서는 점을 제거했지만 장이나 하위 섹션(MWE)에서는 점을 제거하지 못했습니다.
\documentclass{memoir}
\usepackage{lipsum}
\renewcommand*{\cftsectionleader}{}
\tableofcontents*
\begin{document}
\chapter{Introduction}
\section{lipsum}
\lipsum[1-10]
\end{document}
그러나 이 접근 방식은 목차에 잘못된 줄을 생성합니다.
- 회고록 유틸리티만 사용하여 어떻게 이를 달성할 수 있습니까?
답변1
나는 당신이 이것을 재현하고 싶어한다는 것을 압니다.https://logic.rwth-aachen.de/~ummels/diss.pdf
l@chapter
한 가지 옵션은 다음 과 같이 재정의하는 것입니다 .
\documentclass{memoir}
\usepackage{fontspec}
\setmainfont{Minion Pro}
\renewcommand\chapternumberline[1]{\numberline{#1}} %not necessary when using the book class
\makeatletter
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1ex \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@
\rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \large % added for large font for chapters
%\advance\leftskip\@tempdima
\hskip -\leftskip %\@chapapp~ \par % added \@chapapp~ \par
#1\nobreak \raggedright % originally \hfil
%added for leaders (dots) in chapter in toc
%\xleaders\hbox{$\m@th
% \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
% mu$}\hfill%
%%
\nobreak\hb@xt@\@pnumwidth{\hss ~\textbullet~#2}\par\vspace{.5ex} % ADDED VSPACE
\penalty\@highpenalty
\endgroup
\fi}
\renewcommand*\l@section[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
%\vskip .5ex \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent 3em
\rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \normalsize %
\advance\leftskip\@tempdima
\hskip -\leftskip %
#1\nobreak \raggedright % originally \hfil
%added for leaders (dots) in chapter in toc
%\xleaders\hbox{$\m@th
% \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
% mu$}\hfill%
%%%
\nobreak\hb@xt@\@pnumwidth{\hss \textbullet~#2}\par%\vspace{.5ex} % ADDED VSPACE
\penalty\@highpenalty
\endgroup
\fi}
\renewcommand*\l@subsection[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
%\vskip .5ex \@plus\p@
\setlength\@tempdima{2.3em}%
\begingroup
\parindent 5.3em
\rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \normalsize %
\advance\leftskip\@tempdima
\hskip -\leftskip %
#1\nobreak \raggedright % originally \hfil
%added for leaders (dots) in chapter in toc
%\xleaders\hbox{$\m@th
% \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
% mu$}\hfill%
%%%
\nobreak\hb@xt@\@pnumwidth{\hss \textbullet~#2}\par\vspace{1ex} % ADDED VSPACE
\penalty\@highpenalty
\endgroup
\fi}
\makeatother
\begin{document}
\tableofcontents
\chapter{title}
\section{section name}
\subsection{section name}
\chapter{title}
\section{section name}
\subsection{section name}
\chapter{title}
\section{section name}
\subsection{section name}
\chapter{title}
\section{section name}
\subsection{section name}
\end{document}
취향에 맞게 길이를 조절하시면 됩니다.
목차에 하위 섹션을 표시하려면 memoir
다음을 추가해야 합니다.
\setcounter{tocdepth}{2}
\setcounter{secnumdepth}{2}
답변2
다음은 동일한 내용입니다 memoir
(주로 매뉴얼 155페이지 참조 memoir
).
\documentclass{memoir}
\usepackage{lipsum}
\renewcommand*{\cftchapterleader}{}
\renewcommand*{\cftsectionleader}{}
\renewcommand*{\cftsubsectionleader}{}
\renewcommand{\cftchapterpagefont}{}
\renewcommand*{\cftchapterformatpnum}[1]{~\textbullet~#1}
\renewcommand*{\cftsectionformatpnum}[1]{~\textbullet~#1}
\renewcommand*{\cftsubsectionformatpnum}[1]{~\textbullet~#1}
\renewcommand{\cftchapterafterpnum}{\cftparfillskip}
\renewcommand{\cftsectionafterpnum}{\cftparfillskip}
\renewcommand{\cftsubsectionafterpnum}{\cftparfillskip}
\setrmarg{3.55em plus 1fil}
\setsecnumdepth{subsection}
\maxsecnumdepth{subsection}
\settocdepth{subsection}
\begin{document}
\tableofcontents*
\chapter{Introduction}
\section{lipsum}
\subsection{lipsum 2}
\end{document}
추가로, 들여쓰기를 가지고 놀 수 있는 추가 코드는 다음과 같습니다.
\setlength\cftsectionindent{0pt}
\setlength\cftsubsectionindent{0pt}
\setlength\cftchapternumwidth{3em}
\setlength\cftsectionnumwidth{3em}
\setlength\cftsubsectionnumwidth{3em}
숫자 상자도 같은 크기로 만들었습니다.