
Я экспериментировал довольно бессистемно и задумался о том, чтобы вставить немного TikZ в заголовки разделов.
С article
, это
\documentclass{article}
\usepackage{tikz}
\newcommand{\my}{\tikz\draw (0,0) circle (5pt);}
\begin{document}
\section{Introduction \protect\my}
\end{document}
работает.
Но если я использую moderncv
, это
\documentclass{moderncv}
\usepackage{tikz}
\moderncvstyle{classic}
\newcommand{\my}{\tikz\draw (0,0) circle (5pt);}
\begin{document}
\section{Introduction \protect\my}
\end{document}
не работает.
Почему?
решение1
Это конфликт между hyperref
и tikz
, и moderncv
нагрузками hyperref
.
Решение заключается в использовании \texorpdfstring
для определения вашей команды.
Что-то вроде этого:
\texorpdfstring{tikz code}{alternative (empty)}
Ваш MWE должен быть следующим:
\documentclass{moderncv}
\usepackage{tikz}
\moderncvstyle{classic}
\newcommand{\my}{\texorpdfstring{\tikz\draw (0,0) circle (5pt);}{}}
\firstname{John}
\familyname{Doe}
\begin{document}
\section{Introduction \protect\my}
\end{document}