如何在Latex公式中使用中文?

如何在Latex公式中使用中文?

我正在用 Latex 写中文配方。

\begin{equation}
    平均访问延迟 = 缓存命中时间 + 缓存失效率 × 失效代价
\end{equation}

我尝试了多种方法,但仍然无法渲染。

在此处输入图片描述

我在这里使用模板(在背面)。

https://www.overleaf.com/latex/templates/2022-peking-university-master-thesis-template-iofu728-pkuthss/rwfvbkpzydpf

由于这个模板太大,我没法给出一个小的例子,但是可以直接在overlead上进行测试。

\documentclass[fontset=fandol,ugly,language=chinese]{pkuthss}

并使用 进行编译XeLatex

答案1

该模板是中文模板,所以不需要对中文字体做任何设置。

\text{}对于公式中的中文输入,您只需要使用(或)\textrm\textit{}、等命令。例如,您的文本应输入为\textsf{}\textbf{}

\begin{equation}
    \text{平均访问延迟}=\text{缓存命中时间}+\text{缓存失效率}\times\text{失效代价}
\end{equation}

需要注意的是,中文标点符号也应该输入\text{}(或\textrm)、\textit{}\textsf{}\textbf{},例如应该输入\text{。}

另外,还要注意一些相关的、较难的输入。如果不希望方程式中汉字的字体形状、字体系列随环境变化而变化,例如定理和定义环境,则应将它们放在(\text{\normalfont }\text{\normalfont\rmfamily })、\text{\normalfont\itshape }、、 等中。这不同于在方程式中输入英文,英文输入、\text{\normalfont\sffamily }、、可以正常工作,但汉字则不行。当然,我们很少使用汉字作为固定的、稳定的数学符号。请参阅下面的数学符号表。\text{\normalfont\bfseries }\mathrm{}\mathit{}\mathsf{}\mathbf{}

\documentclass{ctexart}
\usepackage{amsmath,amsfonts,amssymb}

\begin{document}
{right input: \bfseries\itshape $\text{\normalfont\rmfamily 中文}$ $\text{\normalfont\sffamily 长城}$ \text{中文} \textsf{长城}}

{wrong input: \bfseries\itshape $\mathrm{\text{中文}}$ $\mathsf{\textrm{长城}}$ \text{中文} \textsf{长城}}

{wrong input: \bfseries\itshape $\mathrm{\text{中文}}$ $\mathsf{\textsf{长城}}$ \text{中文} \textsf{长城}}

{right input: \bfseries\itshape $\mathrm{Chinese},\mathsf{Wall}$ \textrm{Chinese} \textsf{Wall}}

\end{document}

在此处输入图片描述

答案2

另一种方法是:将序言中的第一行更改为ctext

\documentclass[12pt]{ctexart}
...

\begin{document}
...
\end{document}

然后,当你写一个等式时,使用\textrm{}来包含中文术语。例如,

\begin{equation}
    \textrm{平均访问延迟}=\textrm{缓存命中时间}+\textrm{缓存失效率}×\textrm{失效代价}
\end{equation}

参考:https://www.overleaf.com/learn/latex/Chinese

相关内容