我正在尝试使用自定义页面样式。我想在奇数页标题中显示章节名称和部分名称...但我还需要使用迷你页面环境(或者无论如何都想使用迷你页面环境),而 latex 无法识别迷你页面中的部分...我也尝试使用 parbox,但同样不起作用。除了放弃迷你页面之外,还有其他想法吗?
\documentclass[12pt]{memoir}
\usepackage{lipsum}
\makepagestyle{teststyle}
\makeoddhead{teststyle}{}{\leftmark * \rightmark}{\thepage}
\makeevenhead{teststyle}{\thepage}{ book name}{}
\makepsmarks{teststyle}{%
\createmark{chapter}{both} {nonumber}{ }{. \ }
\createmark{section}{right} {nonumber}{ }{. \ }}
\pagestyle{teststyle}
\begin{document}
\chapter{Name of Chapter}
\noindent\begin{minipage}[t][][b]{0.25\textwidth}
\small This is on the Left
\end{minipage}
\begin{minipage}[b][][t]{.5\textwidth}
\section{Name of Section}
\end{minipage}
\begin{minipage}[t][][b]{0.25\textwidth}
\hfill \small This is on the right
\end{minipage}
\lipsum
\lipsum
\lipsum
\section{Non Minipage Section}
\lipsum
\lipsum
\end{document}
答案1
您的\section
文档被“困”在了 minipage 中,因此其标记信息无法传出。虽然我不会对某些神奇的解决方案感到惊讶,但最简单的方法可能是使用命令\markright
,这是\rightmark
普通文档中包含的命令。本质上,您的文档正在使用:
\markboth{<main mark>}{<sub mark>}
\markright{<sub mark>}
在哪里
\leftmark{}
\rightmark{}
分别包含最新的<main mark>
和<sub mark>
文本。因此,如果您想要此行 ---
\makeoddhead{teststyle}{}{\leftmark{} * \rightmark}{\thepage}% Note the difference the added "{}" makes
--- 要正常工作,您只需添加:
\markright{Name of Section}% where "Name of Section" == the section title in the minipage
如果您希望 中的字母\rightmark
大写,就像 中的默认字母大写一样memoir
,那么 ---
\markright{\MakeUppercase{Name of Section}}
--- 应该可以解决问题。