newtxmath 中的下标校正 + listings + literate 中的下标 =

newtxmath 中的下标校正 + listings + literate 中的下标 =

喂食

\documentclass{article}
\usepackage{newtxtext}
\usepackage[subscriptcorrection]{newtxmath}% subscriptcorrection not really needed for this minimal example but is helpful in general
\usepackage{listings}
\begin{document}
\begin{lstlisting}[columns=flexible,mathescape=true,literate={{₁}{$_1$}1}]
  f$_1$ // ok
  f₁ // error with subscriptcorrection
\end{lstlisting}
\end{document}

产量pdflatex

! TeX capacity exceeded, sorry [grouping levels=255].
<to be read again> 
                   {
l.9   f₁
           // error with subscriptcorrection
!  ==> Fatal error occurred, no output PDF file produced!

当然,f$_1$而不是f₁有效,因此可以使用文档级别的解决方法。在序言级别甚至包级别上是否有更好的解决方案?目的是f₁在源 LaTeX 文档中键入内容并获取f₁生成的 PDF 文档。

相关内容