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

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...