我正在尝试以下操作:
\begin{frame}[fragile]{OCP en Exceptions}
``If you throw a checked exception from a method in your code and the
\verb!catch! is three levels above, \textit{you must declare that
exception in the signature of each method between you and
the \verb!catch!}''
\end{frame}
不知为何我无法使用斜体块内的逐字文本。我该如何正确解决这个问题?
答案1
你不能在另一个宏参数中使用逐字材料。已经提到的cprotect
包可以解决这个问题,但我认为在这里使用它有点过头了。只需使用字体宣言在组内而不是字体宏,即{\itshape text \verb+$%^+ text}
而不是\textit{text \verb+$%^+ text}
。
应用于您的代码示例:
\begin{frame}[fragile]{OCP en Exceptions}
``If you throw a checked exception from a method in your code and the
\verb!catch! is three levels above, {\itshape you must declare that
exception in the signature of each method between you and
the \verb!catch!}''
\end{frame}
此外,仅使用逐字来获得字体效果是一种误用。只需直接使用字体即可tt
!对于经常使用的真实逐字材料,我建议使用\verbdef
verbdef
包。(还有\Verbdef
我的newverbs
包(如果您需要可扩展形式,但通常情况并非如此。)
答案2
使用cprotect
包。更多详细信息,请参阅手册。
\documentclass{article}
\usepackage{cprotect}
\begin{document}
\cprotect\textit{\verb|\LaTeX| is one of my primary weapons}
\end{document}