TikZ в заголовке раздела в moderncv

TikZ в заголовке раздела в moderncv

Я экспериментировал довольно бессистемно и задумался о том, чтобы вставить немного 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}

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