我想在 \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}