Номера страниц TOC, страница A выровнена по левому краю, страница S выровнена по центру

Номера страниц TOC, страница A выровнена по левому краю, страница S выровнена по центру

Я настроил некоторые нумерации страниц. Мой консультант хотел, чтобы страницы приложений были помечены как A-pagenum. Так что это было сделано, \renewcommand{\thepage}{A-\arabic{page}}в то время как моя вспомогательная информация была помечена как S-pagenum, так что \renewcommand{\thepage}{S-\arabic{page}}.

Однако, глядя на мой TOC, кажется, что мои страницы A выравниваются по левому краю, когда pagenum переключается с однозначных на двузначные. Но мои страницы 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:

Номера страниц [в оглавлении] набираются в поле фиксированной ширины. Эту команду \setpnumwidthможно использовать для изменения ширины поля (внутреннее значение LaTeX \@pnumwidth). Текст заголовка будет заканчиваться до достижения правого поля. \setrmargможно использовать для установки этого расстояния (внутреннее значение LaTeX \@tocrmarg). Обратите внимание, что длина, используемая в , \setrmargдолжна быть больше длины, заданной в \setpnumwidth. Эти значения должны оставаться постоянными в любом документе.

Увеличение значений \@pnumwidthи \@tocrmargсделает номера страниц (на мой взгляд, правильно) выровненными по правому краю. Чтобы сделать их выровненными по левому краю, вам также придется повозиться с различными \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}

Связанный контент