如何在 \sectionmark 中使用 adjustbox?

如何在 \sectionmark 中使用 adjustbox?

我想在 \sectionmark 中使用 adjustbox,但它不起作用。有解决方法吗?

\documentclass{book}
\usepackage{blindtext}
\usepackage{adjustbox}
\usepackage{fancyhdr}
\pagestyle{fancy}

\renewcommand{\sectionmark}[1]{\markright{#1 \adjustbox{valign=t}{\rule{1.5pt}{\baselineskip}} \thesection}}

\fancyhead[RO]{\rightmark}
\fancyhead[LO]{}


\begin{document}

\chapter{An example chapter}

\section{An example section}

\blindtext[25]

\end{document}

答案1

\rule都是脆弱命令,因此在移动参数(的参数是)时应在它们前面\adjustbox使用。\protect\sectionmark

然而,有一个更好的方法来实现你的愿望:

\documentclass{book}
\usepackage{blindtext}

\usepackage{fancyhdr}
\pagestyle{fancy}

\renewcommand{\sectionmark}[1]{%
  \markright{#1 \strut\vrule width 1.5pt\relax\ \thesection}}

\fancyhead[RO]{\rightmark}
\fancyhead[LO]{}


\begin{document}

\chapter{An example chapter}

\section{An example section}

\blindtext[25]

\end{document}

在此处输入图片描述

相关内容