LaTeX之四:如何兼容中文(上手中文简历和中文论文)、在win/mac上安装新字体。

改成中文版

如果你已经修改了.cls文件和主文档,但编译后的PDF仍然显示英文版本,可能有以下几个原因:

  1. 编译器问题:确保你使用的是XeLaTeX或LuaLaTeX进行编译,因为它们对Unicode和中文支持更好。你可以在你的LaTeX编辑器中选择编译器。

  2. 缓存问题 :有时候LaTeX编辑器会缓存旧的编译结果。尝试清理项目中的辅助文件(如.aux.log.out等),然后重新编译。

  3. 文件路径问题 :确保你修改的.cls文件和主文档是你正在编译的文件。如果你有多个相同名称的文件,可能会导致混淆。

  4. 编辑器设置问题:有些编辑器可能需要额外的设置来正确处理中文内容。

以下是一些具体的步骤来解决这些问题:

1. 确保使用XeLaTeX或LuaLaTeX编译

在你的LaTeX编辑器中,选择XeLaTeX或LuaLaTeX作为编译器。例如,在TeXShop中,你可以在菜单栏中选择Typeset -> XeLaTeX。在Overleaf中,你可以在项目设置中选择编译器。

2. 清理辅助文件

删除项目目录中的所有辅助文件(如.aux.log.out等),然后重新编译。大多数LaTeX编辑器都有一个"清理"或"清除辅助文件"的选项。

3. 确认文件路径

确保你修改的.cls文件和主文档是你正在编译的文件。你可以通过以下步骤确认:

  • 打开你修改的.cls文件和主文档,确保它们是你期望的文件。
  • 在主文档中添加一些独特的标记(如注释或简单的文本),然后保存并编译,看看这些标记是否出现在PDF中。

4. 编辑器设置

确保你的编辑器设置正确。例如,在TeXShop中,你可以在菜单栏中选择TeXShop -> Preferences,然后在Engine选项卡中设置默认编译器为XeLaTeX或LuaLaTeX。

示例

假设你使用的是XeLaTeX编译器,以下是一个完整的示例:

修改后的.cls文件(resume.cls)
latex 复制代码
% 启用自定义颜色
\RequirePackage[usenames,dvipsnames]{xcolor}

% 移除段落缩进
\usepackage[parfill]{parskip}

% 启用表格列的粗体
\usepackage{array}

% 启用if-then-else语句
\usepackage{ifthen}

% 取消页码
\pagestyle{empty}

% 用于创建可缩放的符号
\usepackage{scalerel}
\usepackage{bbding,pifont} % 用于创建自定义的项目符号符号

% 添加中文支持
\RequirePackage{ctex}
修改后的主文档(resume.tex)
latex 复制代码
\documentclass{resume}

% 设置文档的边距
\usepackage[left=0.75in,top=0.6in,right=0.75in,bottom=0.6in]{geometry}

% 颜色和超链接包
\usepackage{xcolor}
\usepackage{hyperref}

% 脚注和边距调整包
\usepackage{footnote}
\usepackage{changepage}

% Fontawesome 图标包
\usepackage{fontawesome}

% Tabularx 包用于自定义表格
\usepackage{tabularx}

% 定义 navyblue 颜色
\definecolor{navyblue}{RGB}{0,54,123}

% 添加中文支持
\usepackage{ctex}

% 设置中文字体
\setCJKmainfont{SimSun} % 设置中文主字体为宋体(SimSun),你可以根据需要更改为其他字体

% 自定义命令和环境
% ...(保持原有的自定义命令和环境定义)

% 设置名字为 navyblue 颜色
\name{\color{navyblue} Carl Johnson (CJ)}

\begin{document}

\printPersonalInfo{
  \personalInfo{\tag{Residence/domicile}\info{113, Groove Street}}
  \personalInfo{\tag{E-mail}\info{pleasedonotcontactme@gmail.com} \infoSeparator\tag{Telephone number}\info{+1-202-555-0100}}
  \personalInfo{\tag{Place of birth}\info{Ariccia, Italy} \infoSeparator\tag{Date of birth}\info{08-11-1968}}
}

% 教育部分
\begin{rSection}{教育背景}

    % 硕士学位条目
    \begin{rSubsectionNoBullet}{\bf Memeology 和 Unicorn Analytics 硕士学位}{Faber College}{硕士学位项目}{2019年2月 - 2020年4月}
        \italicitem{以优异成绩毕业}
        \italicitem{论文题目:深度学习预测下一次脱欧:独角兽 vs. 白色行者}
    \end{rSubsectionNoBullet}
    
    % 学士学位条目
    \begin{rSubsectionNoBullet}{\bf Absurd Robotics Engineering 学士学位}{Westeros University}{学士学位项目}{2016年5月 - 2018年8月}
        \italicitem{最终成绩:9001/10000}
        \italicitem{毕业设计:使用火焰喷射器制作吐司的机器人设计与实现}
    \end{rSubsectionNoBullet}
    
    % 高中毕业条目
    \begin{rSubsectionNoBullet}{\bf 高中毕业证书}{Rydell High School}{高中毕业项目}{2011年6月 - 2015年5月}
        \italicitem{最终成绩:7/7}
        \italicitem{毕业项目:应用机器学习技术预测学生基于其表情包消费习惯的失败率}
    \end{rSubsectionNoBullet}

\end{rSection}

% 工作经验部分
\begin{rSection}{工作经验}

    % 第一份工作经验条目
    \begin{rSubsection}{Dank Memes Inc.}{2019年9月 - 2021年9月}{"荒诞机器学习"部门主管}{意大利 Ariccia}
        \item 开发了下一代表情包的最先进预测模型。
        \item 应用机器学习技术优化独角兽安装的激光系统。
        \item 简化了内部表情包生成流程。
    \end{rSubsection}
    
    % 第二份工作经验条目
    \begin{rSubsection}{Viral News Robotics Laboratory (VNRL)}{2019年3月 - 2019年7月}{机器人喜剧演员实习生}{弗吉尼亚 Fries}
        \item 设计了一款不断问"酒在哪里?"的机器人提利昂·兰尼斯特。
    \end{rSubsection}
    
    % 第三份工作经验条目
    \begin{rSubsection}{Library of Alexandria 2.0}{2017年1月 - 2018年4月

一般步骤

LaTeX 默认不支持 Unicode 字符,因此在你的文档中使用 Unicode 字符(例如 山)时会报错。要解决这个问题,你可以使用 xeCJK 包,它允许在 LaTeX 文档中使用 Unicode 字符。

以下是如何修改你的 LaTeX 文档以支持 Unicode 字符的步骤:

在LaTeX文档中加入中文支持需要一些额外的包和配置。以下是一个基本的步骤指南,帮助你在现有的LaTeX文档中加入中文支持:

安装必要的包:

ctex:这是一个专门为中文设计的LaTeX宏包,能够很好地处理中文字符。

xeCJK:这是一个基于XeLaTeX的宏包,能够处理中日韩字符。

修改文档类和导言区:

使用ctex包或者xeCJK包来处理中文字符。

如果你选择使用xeCJK,你需要使用XeLaTeX或LuaLaTeX进行编译。

报错:

报错"Undefined control sequence"通常是由于使用了不支持的命令或包。根据你的错误信息,问题可能出在xeCJK包的使用上。为了使用xeCJK包,你需要确保以下几点:

使用XeLaTeX或LuaLaTeX进行编译:xeCJK包需要XeLaTeX或LuaLaTeX编译器,而不是传统的pdfLaTeX编译器。

正确安装字体:你需要确保系统中安装了你指定的中文字体,例如SimSun(宋体)。

列出系统的字体和安装新字体

使用系统中已有的中文字体

如果你不确定系统中有哪些中文字体,可以使用fc-list命令来列出系统中所有可用的字体。打开终端并运行以下命令:

bash 复制代码
fc-list :lang=zh

这将列出所有支持中文的字体。选择一个你系统中已有的字体,并在LaTeX文档中使用它。

如下:

那么我可以使用的字体就有:Xingkai SCYuppy SC

要在系统中安装SimHei(黑体)和SimSun(宋体)字体,你可以按照以下步骤进行操作。这里假设你使用的是Windows或macOS系统。

在Windows上安装SimHei和SimSun字体

  1. 下载字体文件

    • 你可以从互联网上下载SimHei和SimSun字体文件。通常这些字体文件的扩展名为.ttf.ttc
    • 例如,你可以从以下链接下载:
  2. 安装字体

    • 下载完成后,找到下载的字体文件。
    • 右键点击字体文件,然后选择"安装"。
    • 安装完成后,字体将会出现在系统的字体列表中。

在macOS上安装SimHei和SimSun字体

  1. 下载字体文件

    • 你可以从互联网上下载SimHei和SimSun字体文件。通常这些字体文件的扩展名为.ttf.ttc
    • 例如,你可以从以下链接下载:
  2. 安装字体

    • 下载完成后,找到下载的字体文件。
    • 双击字体文件,然后在弹出的窗口中点击"安装字体"。
    • 安装完成后,字体将会出现在系统的字体列表中。
相关推荐
禁默23 天前
【学术会议-第五届机械设计与仿真国际学术会议(MDS 2025) 】前端开发:技术与艺术的完美融合
前端·论文·学术
Better Rose1 个月前
2025美赛Latex模板可直接运行!O奖自用版
数学建模·latex·template method·美赛
HI_Forrest1 个月前
20250118 PPT画的论文插图如何导出高分辨率图片:修改电脑注册表
powerpoint·论文
诸神缄默不语1 个月前
Re78 读论文:GPT-4 Technical Report
chatgpt·llm·论文·openai·transformers·大规模预训练语言模型·gpt-4
摸鱼仙人~1 个月前
3D滤波器处理遥感tif图像
latex
金创想1 个月前
latex与word优缺点对比
word·latex
今天不coding2 个月前
春招快速准备和是否考研建议
考研·项目·学历·简历·春招·学习计划
Wils0nEdwards2 个月前
overleaf中出现TeX capacity exceeded PDF object stream buffer=5000000的原因和解决方案
latex
winfredzhang2 个月前
PDFMathTranslate 一个基于AI优秀的PDF论文翻译工具
人工智能·pdf·论文·翻译
wangan0942 个月前
Please activate LaTeX Workshop sidebar item to render the thumbnail of a PDF
latex