Ich konnte Textdekorationen wie Hervorhebungen oder Aufgaben aus dem Inhaltsverzeichnis entfernen, aber nicht aus der Kopfzeile. Ich habe dies getan, ohne den Klartext in den optionalen Parameter von einzufügen, \chapter[]{}
da Pandoc zum Konvertieren des Textes in Latex verwendet wird und derzeit keine optionalen Parameter unterstützt.
Hier ist ein einfaches MWE:
\documentclass[oneside]{book}
\usepackage{xcolor}
\usepackage{soul}
\usepackage{todonotes}
\usepackage{lipsum}
\usepackage{ulem}
\DeclareRobustCommand{\nohl}[1]{#1}
\addtocontents{toc}{\begingroup%
\protect\renewcommand{\protect\todo}[1]{}
\let\hl\nohl
}
\AtEndDocument{%
\addtocontents{toc}{\endgroup}
}
\begin{document}
\tableofcontents
{\let\clearpage\relax \chapter{Header with \hl{highlights} and \sout{deletions}}}
\section[A second header with a note]{A second header with a note\todo{keep it}}
\lipsum[1-2]
\end{document}
Wie kann ich die Hervorhebung in der Kopfzeile (Standard und mit fancyhdr) entfernen, ohne den optionalen Parameter von \chapter zu verwenden? Oder ist es sogar möglich, jeden Latex-Befehl/jedes Latex-Makro zu entfernen und nur den inneren Text beizubehalten?
BTW: das \DeclareRobustCommand
und \let\hl\nohl
ist ein Workaround, weil \protect\renewcommand{\hl}[1]{#1}
der Fehler! Illegal parameter number in definition of \reserved@a.
Antwort1
Ob der Befehl ins Inhaltsverzeichnis oder in die Überschriften geht, können Sie mit prüfen \ifx\protect\@unexpandable@protect <code for moving text> \else <normal code> \fi
.
Beachten Sie, dass es für die Funktion dieses Verfahrens wichtig ist, dass das so definierte Makronichtgeschützt / „robust“ sein.
Versuche dies:
\documentclass[oneside]{book}
\usepackage{xcolor}
\usepackage{soul}
\usepackage{todonotes}
\usepackage{lipsum}
\usepackage{ulem}
\makeatletter
\newcommand\ifmoving{%
\ifx\protect\@unexpandable@protect
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
}
\let\oldhl\hl
% If you used \DeclareRobustCommand or \protected\def it would not work.
\renewcommand\hl{\ifmoving{}{\oldhl}}
\makeatother
\begin{document}
\tableofcontents
{\let\clearpage\relax \chapter{Header with \hl{highlights} and \sout{deletions}}}
\section[A second header with a note]{A second header with a note\todo{keep it}}
\lipsum[1-2]
\end{document}