LaTeX之四:如何兼容中文(上手中文简历和中文论文)、在win/mac上安装新字体。
改成中文版
如果你已经修改了.cls
文件和主文档,但编译后的PDF仍然显示英文版本,可能有以下几个原因:
-
编译器问题:确保你使用的是XeLaTeX或LuaLaTeX进行编译,因为它们对Unicode和中文支持更好。你可以在你的LaTeX编辑器中选择编译器。
-
缓存问题:有时候LaTeX编辑器会缓存旧的编译结果。尝试清理项目中的辅助文件(如
.aux
、.log
、.out
等),然后重新编译。 -
文件路径问题:确保你修改的
.cls
文件和主文档是你正在编译的文件。如果你有多个相同名称的文件,可能会导致混淆。 -
编辑器设置问题:有些编辑器可能需要额外的设置来正确处理中文内容。
以下是一些具体的步骤来解决这些问题:
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)
% 启用自定义颜色
\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)
\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命令来列出系统中所有可用的字体。打开终端并运行以下命令:
fc-list :lang=zh
这将列出所有支持中文的字体。选择一个你系统中已有的字体,并在LaTeX文档中使用它。
如下:
那么我可以使用的字体就有:Xingkai SC
和Yuppy SC
要在系统中安装SimHei(黑体)和SimSun(宋体)字体,你可以按照以下步骤进行操作。这里假设你使用的是Windows或macOS系统。
在Windows上安装SimHei和SimSun字体
-
下载字体文件:
- 你可以从互联网上下载SimHei和SimSun字体文件。通常这些字体文件的扩展名为
.ttf
或.ttc
。 - 例如,你可以从以下链接下载:
- SimHei.ttf
- SimSun.ttc
- 你可以从互联网上下载SimHei和SimSun字体文件。通常这些字体文件的扩展名为
-
安装字体:
- 下载完成后,找到下载的字体文件。
- 右键点击字体文件,然后选择“安装”。
- 安装完成后,字体将会出现在系统的字体列表中。
在macOS上安装SimHei和SimSun字体
-
下载字体文件:
- 你可以从互联网上下载SimHei和SimSun字体文件。通常这些字体文件的扩展名为
.ttf
或.ttc
。 - 例如,你可以从以下链接下载:
- SimHei.ttf
- SimSun.ttc
- 你可以从互联网上下载SimHei和SimSun字体文件。通常这些字体文件的扩展名为
-
安装字体:
- 下载完成后,找到下载的字体文件。
- 双击字体文件,然后在弹出的窗口中点击“安装字体”。
- 安装完成后,字体将会出现在系统的字体列表中。
相关文章:

LaTeX之四:如何兼容中文(上手中文简历和中文论文)、在win/mac上安装新字体。
改成中文版 如果你已经修改了.cls文件和主文档,但编译后的PDF仍然显示英文版本,可能有以下几个原因: 编译器问题:确保你使用的是XeLaTeX或LuaLaTeX进行编译,因为它们对Unicode和中文支持更好。你可以在你的LaTeX编辑器…...

Unity自动LOD工具AutoLOD Mesh Decimator的使用
最近在研究大批量物体生成,由于我们没有专业美术,在模型减面工作上没有人手,所以准备用插件来实现LOD功能,所以找到了AutoLOD Mesh Decimator这个插件。 1,导入插件后,我们拿个实验的僵尸狗来做实验。 空…...

Flutter:使用Future发送网络请求
pubspec.yaml配置http的SDK cupertino_icons: ^1.0.8 http: ^1.2.2请求数据的格式转换 // Map 转 json final chat {name: 张三,message: 吃饭了吗, }; final chatJson json.encode(chat); print(chatJson);// json转Map final newChat json.decode(chatJson); print(newCha…...

4000字浅谈Java网络编程
什么是网络编程? 可以让设备中的程序与网络上的其他设备中的程序进行数据交互的技术(实现网络通信)。 基本的通信架构 基本的通信架构有两种形式:CS架构(Client客户端/Server服务端)、BS架构(…...

立体工业相机提升工业自动化中的立体深度感知
深度感知对仓库机器人应用至关重要,尤其是在自主导航、物品拾取与放置、库存管理等方面。 通过将深度感知与各种类型的3D数据(如体积数据、点云、纹理等)相结合,仓库机器人可以在错综复杂环境中实现自主导航,物品检测…...

大模型基础BERT——Transformers的双向编码器表示
大模型基础BERT——Transformers的双向编码器表示 整体概况 BERT:用于语言理解的深度双向Transform的预训练 论文题目:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Bidirectional Encoder Representations from…...

怎么禁止Ubuntu自动更新升级
怎么禁止Ubuntu自动更新升级 笔者在做MIT 6.S081的时候发现他给我的qemu自动更新了又卡住了,故关闭了自动更新 文章目录 怎么禁止Ubuntu自动更新升级一、图形化修改二、基于命令行修改配置文件的方法 一、图形化修改 1.打开设置->软件和更新->更新 2.选择自…...

【SpringBoot】20 同步调用、异步调用、异步回调
Git仓库 https://gitee.com/Lin_DH/system 介绍 同步调用:指程序在执行时,调用方需要等待函数调用返回结果后,才能继续执行下一步操作,是一种阻塞式调用。 异步调用:指程序在执行时,调用方在调用函数后立…...

【Excel】数据透视表分析方法大全
数据透视表的最常用的功能是分类汇总,其实它还有很强大的数据分析功能。在数据透视表右键菜单的值显示方式中,可以看到有14个很实用的分析选项。 1、总计的百分比 作用:透视表中每一个数字(包括汇总行、总计行)占右…...

深度学习在边缘检测中的应用及代码分析
摘要: 本文深入探讨了深度学习在边缘检测领域的应用。首先介绍了边缘检测的基本概念和传统方法的局限性,然后详细阐述了基于深度学习的边缘检测模型,包括其网络结构、训练方法和优势。文中分析了不同的深度学习架构在边缘检测中的性能表现&am…...

k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
文章目录 [toc]docker registry 部署生成 htpasswd 文件生成 secret 文件 生成 registry 配置文件创建 service创建 statefulset创建 ingress验证 docker registry docker registry 监控docker registry ui docker registry dockerfile docker registry 配置文件 S3 storage dr…...

常用的生物医药专利查询数据库及网站(很全!)
生物医药专利信息检索是药物研发前期不可或缺的一步,通过对国内外生物医药专利网站信息查询,可详细了解其专利技术,进而有效降低药物研发过程中的风险。 目前主要使用的生物医药专利查询网站分为两大类,一个是免费生物医药专利查询…...

「QT」几何数据类 之 QPolygon 多边形类
✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…...

写给初学者的React Native 全栈开发实战班
React Native 全栈开发实战班 亲爱的同学们: 很高兴在这里与大家相聚!我是你们的讲师,将带领大家一起踏上 React Native 移动开发的学习之旅。 为什么选择 React Native? 在这个移动互联网时代,App 开发工程师已经…...

工作和学习遇到的技术问题
写在前面 记录工作和学习遇到的技术问题,以求再次遇到可以快速解决。 1:Ubuntu TSL换源报错:Err:1 http://mirrors.aliyun.com/ubuntu focal InRelease 执行如下操作(已经操作的则忽略),首先在文件/etc/apt/sources…...

如何解决JAVA程序通过obloader并发导数导致系统夯住的问题 | OceanBase 运维实践
案例背景 某保险机构客户的数据中台,自系统上线后不久,会定期的用 obload 工具从上游业务系统导入数据至OceanBase数据库。但,不久便遇到了应用服务器的 Memory 与 CPU 资源占用持续攀升,最终导致系统夯住而不可用的异常。 memo…...
Git零基础到入门
一、开始工作区 clone: 克隆一个仓库到新的目录。 git clone https://github.com/username/repository.git init: 创建一个新的空 Git 仓库或重新初始化现有的仓库,新建git项目。 //创建项目两种方式 //一、本地项目自己创建项目,先创建好工作文件夹,通…...
HTTP 1.0、HTTP 1.1 和 HTTP 2.0 区别
HTTP 1.0、HTTP 1.1 和 HTTP 2.0 是超文本传输协议(HTTP)不同版本的规范,各自进行了多项更新和改进: 1. HTTP/1.0 单一请求-响应:每次请求都需要建立一个新的 TCP 连接,完成后立即断开。无状态连接&#…...

解决 ElSelect 数据量大导致加载速度慢
遇到一个性能相关的问题,使用 Element Plus 的 <ElSelect> 组件在数据量很大时,加载速度变慢。 下面简单分析下原因,并提供了一些解决方法。 1. 问题分析 1、大量 DOM 节点渲染 问题:当数据量非常大时,每一个…...
在 CentOS 系统中,您可以使用多种工具来查看网络速度和流量
在 CentOS 系统中,您可以使用多种工具来查看网络速度和流量 在 CentOS 系统中,您可以使用多种工具来查看网络速度和流量1. 使用 iftop安装 iftop使用 iftop 2. 使用 nload安装 nload使用 nload 3. 使用 vnstat安装 vnstat初始化 vnstat查看流量 4. 使用 …...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...