
Estoy intentando insertar un ícono (un pdf
archivo) literalmente al lado del nombre de la sección.
Quiero que el pequeño ícono del escudo esté donde <Icon>
está.
El código para generar esta imagen es:
\subsection{Sentinel $<$Icon$>$}\icon{static/sentinel.pdf}
Si intento agregar el \icon
interior de \subsection
:
\subsection{Sentinel \icon{static/sentinel.pdf}}
Recibo un error.
! Missing \endcsname inserted.
<to be read again>
\csname\endcsname
l.42 ...ction{Sentinel \icon{static/sentinel.pdf}}
?
! Emergency stop.
<to be read again>
\csname\endcsname
l.42 ...ction{Sentinel \icon{static/sentinel.pdf}}
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on generated//manual.log.
make: *** [all] Error 1
Si es posible sería bueno que el ícono no aparezca en la tabla de contenido y que el enlace de la tabla de contenido siga funcionando.
\icon
es definido por
\newcommand{\icon}[1]{\begingroup
\setbox0=\hbox{\includegraphics[height=12pt,keepaspectratio]{#1}}%
\parbox{\wd0}{\box0}\endgroup}
Respuesta1
Necesitas algo de \protect
ion. Por cierto, eso complicado \newcommand
se puede simplificar.
\documentclass{article}
\usepackage{graphicx}
\newcommand{\icon}[1]{\includegraphics[height=12pt]{#1}}
\begin{document}
\section{Some section here}
\subsection{Sentinel \protect\icon{example-image-a}}
\end{document}
Si en muchos casos no quieres \protect
, tienes estas posibilidades. Primero hazlo robust
usando etoolbox
.
\documentclass{article}
\usepackage{graphicx}
\usepackage{etoolbox}
\newcommand{\icon}[1]{\includegraphics[height=12pt]{#1}}
\robustify{\icon}
\begin{document}
\section{Some section here}
\subsection{Sentinel \icon{example-image-a}}
\end{document}
O usar \newrobustcmd
(de etoolbox
nuevo) como
\usepackage{etoolbox}
\newrobustcmd{\icon}[1]{\includegraphics[height=12pt]{#1}}
O utilice un argumento opcional como
\subsection[<opt argument>]{Sentinel \icon{example-image-a}}
etc....
Si está usando, hyperref
es posible que necesite hacerlo \texorpdfstring{\icon{example-image-a}}{}
para deshacerse de la advertencia y las consecuencias.
\documentclass{article}
\usepackage{graphicx}
\usepackage{etoolbox}
\usepackage{hyperref}
\newrobustcmd{\icon}[1]{\includegraphics[height=12pt]{#1}}
\begin{document}
\section{Some section here}
\subsection{Sentinel \texorpdfstring{\icon{example-image-a}}{}}
\end{document}