我将其定义|
为“短内联字符”,使用
\lstMakeShortInline|
我想使用该分隔符在脚注或标题中排版内联代码,例如
\footnote{Java uses the |break| keyword...}.
但是,编译时出现以下错误:
Argument of \lst@temp has an extra }.
我该如何解决这个问题?
答案1
默认情况下,脚注不能包含“裸露的”逐字内容。但是,bigfoot
例如,加载包将允许您在脚注中使用单字符简写来表示内联列表(例如|
),而不会出现任何问题。
使用单字符速记排版标题中的内联列表更加困难;例如,列表标题内的动词。你最好使用\lstinline
。
\documentclass{article}
\usepackage{lipsum}
\usepackage{bigfoot}
\usepackage{listings}
\lstMakeShortInline[language=Java]|
\newcommand\inlineJava[2][]{\lstinline[language=Java,#1]+#2+}
\begin{document}
\begin{table}[tbp]
... some table ...
\caption{\inlineJava{break}}
\end{table}
\lipsum[1-3]
Here is some tidbit about |break| but that's not the whole story.%
\footnote{Java uses the |break| keyword.}
\end{document}
答案2
\documentclass{article}
\usepackage{listings}
\begin{document}
a\footnote{Java uses the \lstinline|break| keyword.}
\end{document}
有效。如果您想做些不同的事情,请按照 Caramdir 的建议,用一个最小的例子来更新您的问题。