ページ番号をいくつかカスタマイズしました。アドバイザーは付録ページを A-pagenum とラベル付けすることを望んでいました。そのため、\renewcommand{\thepage}{A-\arabic{page}}
補足情報に S-pagenum とラベル付けすることでそれが実現しました\renewcommand{\thepage}{S-\arabic{page}}
。
しかし、目次を見ると、ページ番号が 1 桁から 2 桁に切り替わるときに、A ページが左揃えになっているようです。しかし、S ページはおそらく...中央揃えになっているのでしょうか? 見た目がおかしいし、S が中央揃えになって、A が中央揃えにならない理由がわかりません。
これは私が気づいていない、または見落としている落とし穴の 1 つであるようです。ただし、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
ページ番号が (私の意見では正しく) 右揃えになります。ページ番号を左揃えにするには、さまざまな\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}