TOC 페이지 번호, A페이지 왼쪽 정렬, S페이지 중앙 정렬

TOC 페이지 번호, A페이지 왼쪽 정렬, S페이지 중앙 정렬

일부 페이지 번호 매기기를 사용자 정의했습니다. 내 조언자는 A-pagenum이라는 라벨이 붙은 부록 페이지를 원했습니다. 그래서 그것은 \renewcommand{\thepage}{A-\arabic{page}}S-pagenum으로 라벨이 붙은 지원 정보를 사용하여 수행되었습니다 \renewcommand{\thepage}{S-\arabic{page}}.

그러나 내 TOC를 보면 페이지 번호가 한 자리에서 두 자리로 전환될 때 내 A 페이지가 왼쪽 정렬된 것으로 보입니다. 하지만 내 S 페이지는 아마도...중앙에 위치해 있을까요? 모양이 이상해 보이는데 S는 중앙에 있고 A는 그렇지 않은 이유를 모르겠습니다.

제가 모르고 있거나 간과하고 있는 문제 중 하나인 것 같습니다. 하지만 S 페이지도 A 페이지처럼 왼쪽 정렬되기를 바랍니다.

다음은 MWE입니다(관련 게시물의 MWE이므로 조금 더 깁니다).

\documentclass{memoir}
\setlength{\parskip}{12pt plus2pt}
\def\baselinestretch{1.6}
\linespread{1.3}
\usepackage{titletoc}

\begin{document}
\tableofcontents*
\setsecnumdepth{subsection}
\maxsecnumdepth{subsection}
\settocdepth{subsection}    
\chapter{Chap1}
\section{Chap1Sec1}
\section{Chap1Sec2}
\chapter{Chap2}
\section{Chap2Sec1}
\section{Chap2Sec2}
\subsection{Chap2Sec2Subsec1}
\chapter{Chap3}
\settocdepth{section}
\renewcommand{\thesection}{\thechapter-\Roman{section}}
\renewcommand{\thesubsection}{\thechapter-\Roman{section}.\arabic{subsection}}
\renewcommand{\thepage}{S-\arabic{page}}
\section{Chap3Sec1}
\clearpage
\section{Chap3Sec2}

\startcontents
\printcontents{}{2}{\addtocontents{ptc}{\setcounter{tocdepth}{2}}}
\subsection{Chap3Sec2Subsec1}
\subsection{Chap3Sec2Subsec2}
\subsection{Chap3Sec2Subsec3}
\subsection{Chap3Sec2Subsec4}
\stopcontents
\section{Chap3Sec3}\clearpage
\section{Chap3Sec4}\clearpage
\section{Chap3Sec5}\clearpage
\section{Chap3Sec6}\clearpage
\section{Chap3Sec7}\clearpage
\renewcommand{\thepage}{A-\arabic{page}}
\setcounter{page}{9}
\chapter{Chap4}
\settocdepth{subsection}
\section{Chap4Sec1}\clearpage
\section{Chap4Sec2}\clearpage
\subsection{Chap4Sec2Subsec1}
\end{document}

답변1

왼쪽 정렬과 중앙 정렬이 아니지만 상자 너비를 약간 초과하는 것과 상당히 다릅니다. 9.2.2절을 인용합니다. 매뉴얼 중 memoir:

[ToC의] 페이지 번호는 고정 너비 상자에 조판됩니다. 이 명령은 \setpnumwidth상자의 너비를 변경하는 데 사용할 수 있습니다(LaTeX의 내부 \@pnumwidth). 타이틀 텍스트는 오른쪽 여백에 도달하기 전에 종료됩니다. \setrmarg이 거리를 설정하는 데 사용할 수 있습니다(LaTeX의 내부 \@tocrmarg). 에 사용된 길이는 \setrmarg에 설정된 길이보다 커야 합니다 \setpnumwidth. 이러한 값은 특정 문서에서 일정하게 유지되어야 합니다.

\@pnumwidth및 값을 확대하면 \@tocrmarg페이지 번호(IMO, 올바르게)가 오른쪽 정렬됩니다. 왼쪽 정렬로 만들려면 다양한 매크로도 다루어야 합니다 \cftKformatpnum.

\documentclass{memoir}
\setlength{\parskip}{12pt plus2pt}
\def\baselinestretch{1.6}
\linespread{1.3}
\usepackage{titletoc}

\setpnumwidth{2.5em}
\setrmarg{3.5em}

\makeatletter
\renewcommand*{\cftchapterformatpnum}[1]{%
    \hbox to \@pnumwidth{{\cftchapterpagefont #1}}}
\renewcommand*{\cftsectionformatpnum}[1]{%
    \hbox to \@pnumwidth{{\cftsectionpagefont #1}}}
\renewcommand*{\cftsubsectionformatpnum}[1]{%
    \hbox to \@pnumwidth{{\cftsubsectionpagefont #1}}}
\makeatother

\begin{document}
\tableofcontents*
\setsecnumdepth{subsection}
\maxsecnumdepth{subsection}
\settocdepth{subsection}    
\chapter{Chap1}
\section{Chap1Sec1}
\section{Chap1Sec2}
\chapter{Chap2}
\section{Chap2Sec1}
\section{Chap2Sec2}
\subsection{Chap2Sec2Subsec1}
\chapter{Chap3}
\settocdepth{section}
\renewcommand{\thesection}{\thechapter-\Roman{section}}
\renewcommand{\thesubsection}{\thechapter-\Roman{section}.\arabic{subsection}}
\renewcommand{\thepage}{S-\arabic{page}}
\section{Chap3Sec1}
\clearpage
\section{Chap3Sec2}

\startcontents
\printcontents{}{2}{\addtocontents{ptc}{\setcounter{tocdepth}{2}}}
\subsection{Chap3Sec2Subsec1}
\subsection{Chap3Sec2Subsec2}
\subsection{Chap3Sec2Subsec3}
\subsection{Chap3Sec2Subsec4}
\stopcontents
\section{Chap3Sec3}\clearpage
\section{Chap3Sec4}\clearpage
\section{Chap3Sec5}\clearpage
\section{Chap3Sec6}\clearpage
\section{Chap3Sec7}\clearpage
\renewcommand{\thepage}{A-\arabic{page}}
\setcounter{page}{9}
\chapter{Chap4}
\settocdepth{subsection}
\section{Chap4Sec1}\clearpage
\section{Chap4Sec2}\clearpage
\subsection{Chap4Sec2Subsec1}
\end{document}

관련 정보