Заголовок главы содержит ошибку в документе

Заголовок главы содержит ошибку в документе

Я хочу создать новый формат главы в виде книги, в котором перед названием главы есть изображение, и придумал код, переопределив его, chapterчтобы сделать это через tikzpicture, но теперь проблема в том, что во всем документе название главы в заголовке каждой страницы — «Содержание», а не соответствующее название главы. Есть ли у кого-нибудь идея, как это исправить, чтобы заголовок был названием текущей главы?

Вот MWE моего документа.

\documentclass[letterpaper]{memoir}

\usepackage{lipsum,tikz}
\usepackage{geometry}
    \geometry{top=2cm,bottom=2cm,left=2cm,right=2cm}

\renewcommand{\chapter}[2]{
    \clearforchapter
    \addtocounter{chapter}{1}
    \chapterheadstart
    \begin{tikzpicture}[remember picture, overlay, path image/.style={
            path picture={
                \node[xshift=-1cm] at (path picture bounding box.center) {
                \includegraphics{#2}
        };}}]
        \draw [path image=#2] (current page.north west) rectangle (\paperwidth, 0);
        \draw (-1.5,0) circle (0pt) node [right, rectangle, rounded corners=8pt, fill=blue]
            {\Huge\bfseries\color{yellow}\thechapter\; #1};
    \end{tikzpicture}
    \addcontentsline{toc}{chapter}{\thechapter\hspace{0.5em} #1}
    \par\vspace{1cm}
    }
 
\begin{document}
\tableofcontents*

\chapter{First}{nilum}

\lipsum[1]\newpage
\lipsum[2]

\chapter{Second}{nilum}

\lipsum[3]
\end{document}

решение1

Способ, которым вы переопределяете \chapterкоманду, портит формат по умолчанию и обновление заголовка. Я считаю, что причина, по которой вы используете memomirкласс, заключается в том, чтобы следовать формату по умолчанию этого класса. В противном случае есть так много других вариантов (например, книга, отчет). Поэтому я не рекомендую вам использовать geometeryпакет. Если вы действительно хотите настроить заголовок главы в memomirклассе, вы должны использовать те предопределенные команды в memomir. Таким образом, это не испортит формат и обновление заголовка. Кроме того, версия заголовка главы со звездочкой (например, contents) также имеет тот же формат, что и пронумерованная. Используйте этот метод, у вас не будет второго аргумента для указания изображения главы. Таким образом, команда \chapterimageопределена. Изображение главы можно изменить, обновив команду \chapterimageперед вводом новой главы. Даже следующий метод достигает цели, но он не рекомендуется.

\documentclass[letterpaper]{memoir}
\usepackage{lipsum,tikz}
\usepackage{geometry}
\geometry{top=2cm,bottom=2cm,left=2cm,right=2cm}

\renewcommand{\printchaptername}{}
\renewcommand{\chapternamenum}{}
\renewcommand{\printchapternum}{\def\chapnumcontents{\thechapter\; }}
\renewcommand{\printchapternonum}{\def\chapnumcontents{}}
\renewcommand{\afterchapternum}{}
\renewcommand{\printchaptertitle}[1]{
\chaptitlefont\begin{tikzpicture}[
remember picture, 
overlay, 
path image/.style={
path picture={
\node at (path picture bounding box.center) {\includegraphics{\chapterimage}};
}
}
]

\draw [path image=\chapterimage](current page.north west) rectangle (\paperwidth-2cm-1pt, 0);

\node [rectangle, rounded corners=8pt, fill=blue,anchor=west] at (-1,0) {\color{yellow}\chapnumcontents#1};
\end{tikzpicture}
}
\setlength{\afterchapskip}{1cm}
\newcommand\chapterimage{example-image}
 
\begin{document}
\tableofcontents*

\renewcommand\chapterimage{example-image-a}
\chapter{First}

\lipsum[1]\newpage
\lipsum[2]

\renewcommand\chapterimage{example-image-b}
\chapter{Second}

\lipsum[3]
\end{document}

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

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