[latexrefman-discuss] \protect, Mysterious error about missing closing round bracket
Vincent Belaïche
vincent.belaiche at domain.hid
Fri Feb 5 12:48:30 CET 2016
Hello,
In node \protect you have this example:
--8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
In this example the @code{\caption} command gives a mysterious error
about an extra curly brace. Fix the problem by preceding each
@code{\raisebox} command with @code{\protect}.
@example
\begin at domain.hid@}
...
\caption at domain.hid headquarters of A\raisebox at domain.hid@}@{C@}@}
\end at domain.hid@}
@end example
--8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8----
However with my LaTeX distro this issue was solved, there is no (no
longer w.r.t. when this example was provided) such mysterious error.
I know that with time, more and more standard commands are made robust,
and that is a good thing. So giving an example using only standard
commands is sooner or later bound to fail.
Any suggestions ?
I propose to change the example to some hand-made stuff like this (the
silly \MyFragileCmd make é from e and does not change its argument
otherwise). If you remove the \protect that will break.
--8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
\documentclass{article}
\makeatletter
\newcommand*\MyFragileCmd[1]{%
\def\@tempa{#1}\def\@tempb{e}\ifx\@tempa\@tempb
\'e\else #1\fi
}
\makeatother
\begin{document}
\listoffigures
\begin{figure}\centering
\begin{picture}(40,40)
\put(20,20){\circle{40}}
\end{picture}
\caption{Company headquarters of La Capon\protect\MyFragileCmd
e\protect\MyFragileCmd ale}
\end{figure}
\end{document}
--8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8----
VBR,
Vincent
More information about the latexrefman
mailing list