Winedt为什么可以用pdfLaTex编译中文(pdfLaTex和XeLaTex的使用)

发布于:2022-11-09 ⋅ 阅读:(14) ⋅ 点赞:(0) ⋅ 评论:(0)

Winedt为什么可以用pdfLaTex编译中文

前言:如果你只是想用Winedt实现LaTex中英混排那么可以直接选择编译器为XeLaTex,并且在导言区的第一行使用documentclass{cteart}即可,此外如果你需要使用memoir或者由你的大学提供的论文的.cls文件,但仍想使用ctex包,你可以加载ctex包,如下

\documentclass{UniThesis}
\usepackage{ctex}

起因:在开始学习LaTex时阅读了Liam Huang老师的一份其实很短的 LaTeX 入门文档里面提到了如何实现中英文混排,只需要我们使用CTEX宏包和使用XeLaTex编译即可,但是我在使用Winedt编译时由于没有更改默认的配置自动使用的是pdfLaTex编译,发现pdfLaTex也能编译中文文档所以查找了很多资料,解决了我的疑惑。

查看Winedt的默认编译器:

①Options->Execution Modes

Winedt中的默认编辑器_1

②红框中的就是默认的生成pdf格式的编译器(在你使用编译按钮时自动调用,当然你也可以从导航栏中的TeX自主的选择每次使用的编译器),Winedt默认的是pdflatex,我的已经改成了xelatex
Winedt中的默认编辑器_2

1.XeLaTex和pdfLaTex的关系

  • 相同点:首先XeLaTex和pdfLaTex都是使用LaTex格式,并且最后都是生成的pdf格式的文档。如果对于TEX家族的各个成员(如Tex、Latex、pdfLaTex、pdfLaTex等等)还不是很了解可以看这篇文章:TEX家族成员简介
  • 不同点:它俩最主要的区别就是XeLaTex支持Unicode字符,可以对中文字符进行排版,而pdfLaTex只支持ASCII字符编码,不能使用中文字符。

2.Winedt中使用pdfLaTex编译中文的tex

在overleaf上down下来的源码

\documentclass{ctexart}
\begin{document}
\tableofcontents

\begin{abstract}
这是简介及摘要。
\end{abstract}

\section{前言}

\section{关于数学部分}
数学、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.

這是繁體中文。
\end{document}

编译输出:可以看到红框中的内容我们使用了PDFLaTex编译成功
PDFLaTex编辑成功中文原文件

生成的pdf文档:可以看到pdf也没有任何问题
PDFLaTex生成的PDF
为什么会有这样的现象呢?

3.原因

在各种网站上搜索无果后,我找到了Winedt官网下载了官网的QuickGuide文件,在里面找到了答案。

在其第四章中介绍了Winedt本身就是一个unicode编辑器,所以很多情况下它不使用XeLaTex也能对中文进行编译。
WinedtQuickStart

但是,其在后边的章节中介绍了,(下面这段话的大意)虽然WinEdt对unicode的支持相当好,但这不一定是所有TEX编译器的情况。例如,pdfTeX不是一个unicode应用程序,它只支持有限的unicode范围,这对大多数使用拉丁字母的国际用户来说可能是足够的,但对中日韩或中东用户来说肯定是不够的。因此用pdfLaTex来编译中文排版也有可能出现问题的,建议直接用XeLaTex不会有任何问题- -!
WinedtQuickStart

4.验证

为了确认能用pdfLaTex编译中文的文档是Winedt的特性,我特意在overleaf(在线LaTex编辑器)上编译了一下第二节中的代码。

这是使用XeLaTex编译的情况:
overleaf使用PDFLaTex编辑中文源文件

使用pdfLaTex编译的情况,可以看到出现了各种报错,这就解释了Winedt的特性,一款unicode编译器

在这里插入图片描述


网站公告

欢迎关注微信公众号

今日签到

点亮你在社区的每一天
签到