病態列表問題:註腳中 \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}

在此輸入影像描述

相關內容