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. 使用 …...

分布式----Ceph部署
目录 一、存储基础 1.1 单机存储设备 1.2 单机存储的问题 1.3 商业存储解决方案 1.4 分布式存储(软件定义的存储 SDS) 1.5 分布式存储的类型 二、Ceph 简介 三、Ceph 优势 四、Ceph 架构 五、Ceph 核心组件 #Pool中数据保存方式支持两种类型&…...

使用 PyTorch 实现 AlexNet 进行 MNIST 图像分类
AlexNet 是一种经典的深度学习模型,它在 2012 年的 ImageNet 图像分类比赛中大放异彩,彻底改变了计算机视觉领域的格局。AlexNet 的核心创新包括使用深度卷积神经网络(CNN)来处理图像,并采用了多个先进的技术如 ReLU 激…...

Python爬虫项目 | 一、网易云音乐热歌榜歌曲
文章目录 1.文章概要1.1 实现方法1.2 实现代码1.3 最终效果 2.具体讲解2.1 使用的Python库2.2 代码说明2.2.1 创建目录保存文件2.2.2 爬取网易云音乐热歌榜单歌曲 2.3 过程展示 3 总结 1.文章概要 学习Python爬虫知识,实现简单的一个小案例,网易云音乐热…...

【Linux】HTTP协议和HTTPS加密
文章目录 HTTP1、概念2、认识URL3、协议格式、请求方法和状态码4、HTTP请求和响应报头5、Cookie和Session HTTPS1、对称和非对称加密2、对称非对称加密安全分析3、证书 HTTP 1、概念 我们在应用层定制协议时,不建议直接发送结构体对象,因为在不同的环境…...

Linux编辑/etc/fstab文件不当,不使用快照;进入救援模式
目录 红帽镜像9救援模式 现象 解决 第一步:修改启动参数以进入救援模式 第二步:进入救援模式、获取root权限、编辑/etc/fstab文件 第三步:编辑好后在重启 下面是ai给的模板 红帽镜像9救援模式 编辑/etc/fstab不当时 17 /dev/nvme0n3p1…...

ubuntu升级postgres
已经有了postgres12,记录一下升级从postgres12升级到15的过程及遇到的一些问题,我没有备份,单纯升级 1、升级过程 深色版本 sudo systemctl stop postgresql 升级PostgreSQL 停止PostgreSQL服务: 停止当前版本的PostgreSQL服务…...

vue2在el-dialog打开的时候使该el-dialog中的某个输入框获得焦点方法总结
在 Vue 2 中,如果你想通过 ref 调用一个方法(如 inputFocus)来聚焦一个输入框,确保以下几点: 确保 ref 的设置正确:你需要确保在模板中正确设置了 ref,并且它指向了你想要操作的组件或 DOM 元素…...

SpringBoot(十七)创建多模块Springboot项目
在gitee上查找资料的时候,发现有不少Springboot项目里边都是嵌套了多个Springboot项目的。这个玩意好,在协作开发的时候,将项目分成多个模块,有多个团队协作开发,模块间定义标准化通信接口进行数据交互即可。 这个好这个。我之前创建的博客项目是单模块的SpringBoot项目,…...

Vue.js 高质量翻页功能的完整开发指南
文章目录 Vue.js 翻页组件的完整开发与优化指南前言分析分页需求与设计要点基础分页功能的实现分页逻辑 优化分页:封装为组件化设计组件化代码 提升用户体验与性能动态调整每页显示的条目数优化移动端与桌面端的展示高性能翻页策略:按需加载与懒加载提示…...

android dvr黑屏
问题现象:dvr拍摄的图片是黑的,没有buffer数据的。 查看相关的log文件发现: video surface 未释放导致 祥见一下报错信息: 38298 2024-10-16 01:02:51.855 4056 32068 W MediaCodecRenderer: java.lang.IllegalStateExcepti…...