![自定义 algorithmicx 使用的字体](https://linux22.com/image/277869/%E8%87%AA%E5%AE%9A%E4%B9%89%20algorithmicx%20%E4%BD%BF%E7%94%A8%E7%9A%84%E5%AD%97%E4%BD%93.png)
我使用algorithmicx
XeTeX 排版我的算法。使用fontspec
,我将默认字体设置为 Linux Libertine 和历史连字符(例如ct
、st
)。不幸的是,这也是用来排版我的算法的字体algorithmicx
,历史连字符在那里看起来非常不合适。
这可能是一个新手的问题,但是有没有办法自定义algorithmic
环境中使用的字体,而不必在每个环境开始时指定自定义字体?
一个简单的解决方案是定义一个新的环境
\newenvironment{halgorithmic}
{ \begin{algorithmic}\algofont }
{ \end{algorithmic} }
并使用halgorithmic
而不是algorithmic
。有没有想到更清洁的方法?
答案1
您的解决方案干净清晰,我也许只希望不要将所有内容分成两组,而是直接调整环境:
\let\algorithmicOLD\algorithmic
\def\algorithmic{\algorithmicOLD\algofont}
现在您可以\begin{algorithmic}
直接使用。优点是您不会使用错误的字体,从而获得错误的字体。