我希望我的章节的打印标题为斜体,编号为罗马格式(但不是罗马数字)。但是,使用memoir
章节格式化命令时,\itshape
中的setsecheadstyle
似乎会覆盖其余格式。
梅威瑟:
\documentclass{memoir}
\setsecnumformat{\rmfamily\csname the#1\endcsname\quad}
\renewcommand{\thesection}{\rmfamily § \arabic{section}}
\setsecheadstyle{\itshape}
\begin{document}
\section{A Test}
\end{document}
答案1
您不想在 的定义中添加格式命令\thesection
,因为在交叉引用时您会遇到麻烦。
\documentclass{memoir}
\setsecnumformat{\textnormal{§ \csname the#1\endcsname\quad}}
\renewcommand{\thesection}{\arabic{section}}
\setsecheadstyle{\itshape}
\makeevenhead{headings}{\rightmark}{}{\thepage}
\makeoddhead{headings}{\rightmark}{}{\thepage}
\createmark{section}{both}{shownumber}{\upshape § }{\quad\itshape}
\begin{document}
\section{A Test}
\end{document}
这可能是一种简化,您可能希望区分左页和右页的标题,但显示了要执行操作的主要部分。
答案2
要以直立形式排版文本(与斜体相反),可以将其放在一组中(用括号分隔),并使用显式宣言 \upshape
。 相应的命令是\textit
和\textup
。
这里'文本样式及其关系的简短参考。
您的 MWE 将成为:
\documentclass{memoir}
\setsecnumformat{\rmfamily\csname the#1\endcsname\quad}
\renewcommand{\thesection}{{\rmfamily\upshape § \arabic{section}}}
\setsecheadstyle{\itshape}
\begin{document}
\section{A Test}
\end{document}