You definitely don't want \verb
there:
\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
Text\index{quote (\texttt{""})}
\begin{figure}
\centering
\fbox{Diagram placeholder}
\caption[ok]{\index{quote (\string\texttt{""})}ok}
\end{figure}
\printindex
\end{document}
Why \string
? Because \index
is not able to read verbatim its argument when it is in the argument to another command.
Note also that the “short caption” argument is needed, or the entry would be indexed also when the caption appears in the list of figures.
Why not \protect\verb
? Because \verb
can never go in the argument to another command.
Actually, \verb
could work:
\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
\index{quote (\verb+""+)}
\begin{figure}
\centering
\fbox{Diagram placeholder}
\caption{\index{quote (\string\verb+""+)}ok}
\end{figure}
\printindex
\end{document}
gives the same result, but it's wrong to begin with.
makeindex
manual: "Recall that special characters like\
may appear in the argument of an\index
command only if that command is not itself contained in the argument of another command. This is most likely to be a problem when indexing items in a footnote. Even in this case, robust commands can be placed in the “@
” part of an entry, as in\index{gnu@{\it gnu}}
, and fragile commands can be used if protected with the\protect
command." – jon Dec 6 '15 at 3:24\verb
here? That is, is this just an example? Because it would probably be easier to produce the marks in another way. (Why are there 2?) – cfr Dec 6 '15 at 3:46