我正在用 Latex 写中文配方。
\begin{equation}
平均访问延迟 = 缓存命中时间 + 缓存失效率 × 失效代价
\end{equation}
我尝试了多种方法,但仍然无法渲染。
我在这里使用模板(在背面)。
由于这个模板太大,我没法给出一个小的例子,但是可以直接在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}