我想在三个地方为章节标题指定自己的换行符:
- 在章节标题页(即章节第一页)上,
- 在注释章节的相应小标题中(即
\pagenote
),以及 - 在目录中。
我可以写\chapter[A display\\of hot dogs: Oscar Meyer, Inc.]{A display\\of\\hot dogs:\\Oscar Meyer, Inc.}
,但在注释章节中,副标题将默认为目录条目。在 中memoir
,我可以重新定义\pnchap
以将章节副标题设置为注释,但我该如何重新定义它?memoir
手册没有提供示例。尝试和下面的 MWE——我超出了我的能力范围。
期望输出
试图
我想重新定义\chapter
命令以添加第三个参数,例如,
\chapter%
[A display\\of hot dogs: Oscar Meyer, Inc.]%
{A display\\of\\hot dogs:\\Oscar Meyer, Inc.}%
{A display of hot dogs:\\Oscar Meyer, Inc.}
其中新的第三个参数最终将作为 Notes 中的章节副标题打印出来。为了实现这一点,我尝试了:
\makeatletter
\renewcommand{\@m@mchapter}[1][]{%
\def\ch@pt@c{#1}%
\@ifnextchar[{\my@chapter}{\my@chapter[]}%
}
\def\my@chapter[#1]#2#3{\def\f@rxtra{#3}\@chapter[#1]#2}
\renewcommand{\pnchap}{\f@rxtra}
\makeatother
但是我收到了这个错误:
! Parameters must be numbered consecutively.
<to be read again>
##
l.38 \end
{document}
我不太明白。我猜这个\my@chapter
定义有些问题。
平均能量损失
\documentclass{memoir}
\usepackage[showframe,pass]{geometry}
\usepackage{lipsum}
% % ATTEMPT 1
% \makeatletter
% \renewcommand{\@m@mchapter}[1][]{%
% \def\ch@pt@c{#1}%
% \@ifnextchar[{\my@chapter}{\my@chapter[]}%
% }
% \def\my@chapter[#1]#2#3{\def\f@rxtra{#3}\@chapter[#1]#2}
% \renewcommand{\pnchap}{\f@rxtra}
% \makeatother
\makepagenote
\begin{document}
\tableofcontents
\part{Foo}
% % ATTEMPT 1
% \chapter%
% [A display\\of hot dogs: Oscar Meyer, Inc.]%
% {A display\\of\\hot dogs:\\Oscar Meyer, Inc.}%
% {A display of hot dogs:\\Oscar Meyer, Inc.}
\lipsum[1]\pagenote{Blah blah}
\printpagenotes
\end{document}
答案1
答案稍微简单一点,不需要覆盖现有的\chapter
:
\makeatletter
\newcommand\mychapter[3][]{\def\f@rxtra{#3}\chapter[#1]{#2}}
\renewcommand{\pnchap}{\f@rxtra}
\makeatother
进而
\mychapter[some line\\breaks]{some\\line\\breaks}{some\\line breaks}