病理列表问题:脚注中的 \lstinline 中的波浪号

病理列表问题:脚注中的 \lstinline 中的波浪号

我似乎无法在脚注中的 \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}

在此处输入图片描述

相关内容