Я использую LaTeX и класс memoir для набора книги. Издатель книги (Кембридж) просит, чтобы в оглавлении главы и заголовки были слева, номера страниц справа, а самая первая запись содержала номер страницы, которому предшествовало слово «страница».
Я пытался:
\renewcommand*{\cftchapterformatpnum}[1]{\emph{страница} \cftchapterpagefont #1}
и это позволило мне добавить "страницу", но это добавляется к каждой записи. Я попробовал:
\renewcommand*{\cftchapterformatpnum}[1] {\cftchapterpagefont #1}
в другом месте моего документа, чтобы вернуть его обратно, но, очевидно, есть что-то, чего я принципиально не понимаю в работе LaTeX. Похоже, что он учитывает эту команду только до:
\begin{документ}
Может ли эксперт по LaTeX подсказать мне правильный способ достижения цели?
решение1
А как насчет этого (без опечаток)?
\documentclass{memoir}
\newcommand*{\epage}{\emph{page }} % for convenience
\renewcommand*{\cftchapterformatpnum}[1]{\epage\cftchapterpagefont #1}
\begin{document}
\frontmatter
\tableofcontents* % don't add the ToC reference to the ToC
%\addtocontents{toc}{\hfill \epage\par} % put page above page numbers
\mainmatter
\chapter{One}
\addtocontents{toc}%
{\protect\renewcommand*{\protect\epage}{}% nullify printing page
}
\section{one}
\chapter{Two}
\section{one}
\end{document}
Молодец, что зашел так далеко. Хитрость в том, чтобы добавить команды в ToC в соответствующих местах, используя\addtocontents{<file>}{<text>}
; см. раздел 9.1Общие методы ToCв руководстве ( > texdoc memoir
).