\mintinline 在脚注中双重渲染 # 符号

\mintinline 在脚注中双重渲染 # 符号

我用它minted来显示脚注中的内联代码。出于某种原因,# 符号被渲染了两次。这种情况不会发生在脚注之外。

\footnote{bla bla \mintinline{python}{x = 5 # text} and so on}

在此处输入图片描述

答案1

正如第 8 页第一个脚注所述minted文档

命令 ( \mintinline) 经过精心设计,在大多数情况下,它在其他命令中使用时都能正常运行。1

1例如,\mintinline在脚注中有效!主要的例外是当代码包含百分比%或井号#字符,或不匹配的花括号时。

下面的技巧可以尝试处理#

\documentclass{article}
\usepackage{minted}

\makeatletter
\let\footnote@orig\footnote
\def\footnote{%
  \begingroup
  \@makeother\#%
  \footnote@i
}
% added \long to accept multi-para footnotes
\long\def\footnote@i#1{%
  \endgroup
  \footnote@orig{#1}%
}
\makeatother

\begin{document}
content\footnote{bla bla \mintinline{python}{x = 5 # text} and so on}
\end{document}

更新:

答案2

供参考,如果您使用该包piton来格式化 Python 列表,则不会遇到此问题(但\piton仅适用于 LuaLaTeX)。

\documentclass{article}
\usepackage{xcolor}
\usepackage{piton}

\begin{document}

Some text.\footnote{bla bla \piton{x = 5 # text} and so on}

\end{document}

上述代码的输出

manni这些颜色是Pygments (和 ) 的风格minted

答案3

我在投影仪幻灯片中使用双哈希渲染时遇到了类似的问题。将属性添加fragile到框架解决了我的问题。

相关内容