我似乎无法在脚注中的 \lstinline 中写波浪号。如果您取消注释我最小工作示例中唯一注释的行,您就会明白我的意思:
\documentclass{article}
\usepackage{listings}
\begin{document}
This works:
\begin{lstlisting}
~/path/to/file
\end{lstlisting}
And this works: \lstinline{~/path/to/file}
And this works:\footnote{\lstinline{/path/to/file}}
%But this does \emph{not} work:\footnote{\lstinline{~/path/to/file}}
\end{document}
编辑:我不确定链接的帖子(脚注中的列表)是否涵盖了这个问题的答案,因为该问题与环境有关listings
,而不是lstinline
宏观。
答案1
当\lstinline
是另一个命令的参数时,它会以有限的方式工作,因为它无法执行某些活动。您可以尝试使用\scantokens
,至少使用 可以~
。
\documentclass{article}
\usepackage{listings}
\begin{document}
This works:
\begin{lstlisting}
~/path/to/file
\end{lstlisting}
And this works: \lstinline{~/path/to/file}
And this works:\footnote{A path: \lstinline{/path/to/file}}
But this does \emph{not} work:\footnote{A path: \scantokens{\lstinline{~/path/to/file}\relax}}
\end{document}