
我似乎無法在腳註的 \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}