Как использовать adjustbox в \sectionmark?

Как использовать adjustbox в \sectionmark?

Я хочу использовать adjustbox в \sectionmark, но он не работает. Есть ли обходной путь для этого?

\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}

введите описание изображения здесь

Связанный контент