PythonTeX 上的漂亮打印不够漂亮?

PythonTeX 上的漂亮打印不够漂亮?

我尝试使用 PythonTeX 制作 LaTeX 文档,这是我的 MWE:

\documentclass{article}
\usepackage{pythontex}
\begin{document}
\section{Perhitungan Pangkat}
\paragraph{}
SymPy dapat melakukan perhitungan pangkat, namun perlu didefinisikan variabel yaitu sebagai berikut :
\begin{pyconsole}
from sympy import *
x,t,z,nu = symbols('x t z nu')
\end{pyconsole}
\paragraph{}
Untuk menampillkan \emph{pretty printing}, kita perlu menggunakan karakter yang didasarkan pada Unicode, dengan perintah berikut :
\begin{pyconsole}
init_printing(use_unicode=True)
\end{pyconsole}
\paragraph{}
Misalkan kita akan mencari suatu turunan dari $e^x\sin(x)$
\begin{pyconsole}
diff(sin(x)*exp(x),x)
\end{pyconsole}
\paragraph{}
Kita menghitung nilai suatu integral $\int (e^x \sin(x)+e^x \cos(x))dx$ :
\begin{pyconsole}
integrate(exp(x)*sin(x)+exp(x)*cos(x),x)
\end{pyconsole}
\begin{enumerate}
\item Hitung $\int_{-\infty}^{\infty}\sin(x^2)dx$
\begin{pyconsole}
integrate(sin(x**2),(x,-oo,oo))
\end{pyconsole}
\end{enumerate}
\end{document} 

编译后得到如下结果:

不漂亮

但是,如果我使用 Python IDLE 来实现,那么我会得到如下结果:

漂亮的

如何解决它以获得像 Python IDLE 那样的结果? 可用字体或其他问题是什么?我对此一无所知。

答案1

这是字体问题。PythonTeX 默认使用 UTF8,所有字符都正确显示。您需要一种可以正确显示所有数学字符的等宽字体。它必须采用等宽字体,否则上标将无法正确排列(上标位于其所连字符上方的行上)。

有不同的方法来解决这个问题。最简单的方法可能是使用LuaLaTeX使用尽可能完整的等宽字体。如果您在序言开头添加此字体,则将使用 MS Gothic(假设您有)。它提供了不错的表示,尽管分隔线太长并且存在一些字体警告。

\usepackage{fontspec}
\setmonofont{MS Gothic}

您还可以使用GNU统一字体。它提供了我在系统上发现的最准确的表示,尽管仍有一些字体警告。而且由于它是位图字体,因此外观可能不是您想要的。

\usepackage{fontspec}
\setmonofont{GNU Unifont}

在此处输入图片描述

可能还有其他不错的字体选项。这些只是我安装的或能快速找到的。

相关内容