当前位置: 首页 > news >正文

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)
% 启用自定义颜色
\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 SCYuppy SC

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

在Windows上安装SimHei和SimSun字体

  1. 下载字体文件

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

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

在macOS上安装SimHei和SimSun字体

  1. 下载字体文件

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

    • 下载完成后,找到下载的字体文件。
    • 双击字体文件,然后在弹出的窗口中点击“安装字体”。
    • 安装完成后,字体将会出现在系统的字体列表中。

相关文章:

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 数据量大导致加载速度慢

遇到一个性能相关的问题&#xff0c;使用 Element Plus 的 <ElSelect> 组件在数据量很大时&#xff0c;加载速度变慢。 下面简单分析下原因&#xff0c;并提供了一些解决方法。 1. 问题分析 1、大量 DOM 节点渲染 问题&#xff1a;当数据量非常大时&#xff0c;每一个…...

在 CentOS 系统中,您可以使用多种工具来查看网络速度和流量

在 CentOS 系统中&#xff0c;您可以使用多种工具来查看网络速度和流量 在 CentOS 系统中&#xff0c;您可以使用多种工具来查看网络速度和流量1. 使用 iftop安装 iftop使用 iftop 2. 使用 nload安装 nload使用 nload 3. 使用 vnstat安装 vnstat初始化 vnstat查看流量 4. 使用 …...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...