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. 安装字体

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/915559.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

视频遥控打药履带机器人技术详解

视频遥控打药履带机器人技术是一种集成了遥控操作、视频监控和履带行走系统的现代化农业植保技术。以下是对该技术的详细解析: 一、技术概述 视频遥控打药履带机器人主要由履带行走系统、药箱、喷雾系统、遥控系统以及视频监控系统等部分组成。通过遥控操作&#…

BB1-NHS ester被用于将各种生物活性分子与蛋白质或其他生物大分子进行共轭连接,2082771-52-4

CAS号:2082771-52-4 中文名:BB1-琥珀酰亚胺酯,BB1-活性酯 英文名:BB1-NHS ester,或BB1-Succinimidyl Ester 分子式:C32H32N6O4 分子量:564.63 纯度:≥95% 供应商:陕…

MongoDB在现代Web开发中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 MongoDB在现代Web开发中的应用 MongoDB在现代Web开发中的应用 MongoDB在现代Web开发中的应用 引言 MongoDB 概述 定义与原理 发展…

激光雷达不够用,怎么办?Ubuntu如何用一个激光雷达实现两个激光雷达的扫描点云效果?点云配准ICP,点云拼接、话题转换、ROS重录制bag包。

1.首先至少得有一个激光雷达,如果没有的话,可以考虑花呗买一个,毕竟研究这东西,有个实物还是比较稳妥,这里我选择的是Livox Mid-360,哈哈哈,公司的,大概长这样: 2. 比如我们想要用激…

STM32H743ZIT6+LWIP+MPU+CUBEMX,通过stm32cubemx完成初始化,ping包亲测没问题,带解释!!

文章耗时两个月,原来写了一半,后来遇到其他项目,中间自己重新画了一块电路板。终于把初始化功能实现了,网上的教程能用的确实凤毛麟角! 一、MPU配置详解 个人对stm32H7的MPU属于新接触,为了弄懂&#xff0…

python制作一个简单的端口扫描器,用于检测目标主机上指定端口的开放状态

import argparse # 用于解析命令行参数 from socket import * # 导入 socket 库的所有内容,用于网络通信 from threading import * # 导入 threading 库的所有内容,用于多线程操作 # 创建一个信号量,初始值为 1,用于线程同步&…

网络基础Linux(整理)

计算机网络背景 网络发展 独立模式: 计算机之间相互独立; 网络互联: 多台计算机连接在一起, 完成数据共享; 局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 广域网WAN: 将远隔千里的计算机都连在一起; 所谓 "局域网" 和 "广域网" 只是一个…

我的第一个PyQt5程序

PyQt5的开发环境配置完成之后,开始编写第一个PyQt5的程序。 方法一:使用将.ui转换成.py文件的方法 import sys from FirstPyQt import Ui_MainWindow from PyQt5.QtWidgets import *#QtCore,QtGui,QtWidgets # from QtTest import Ui_MainWindow#导入Q…

面试:TCP、UDP如何解决丢包问题

文章目录 一、TCP丢包原因、解决办法1.1 TCP为什么会丢包1.2 TCP传输协议如何解决丢包问题1.3 其他丢包情况(拓展)1.4 补充1.4.1 TCP端口号1.4.2 多个TCP请求的逻辑1.4.3 处理大量TCP连接请求的方法1.4.4 总结 二、UDP丢包2.1 UDP协议2.1.1 UDP简介2.1.2…

Vue全栈开发旅游网项目(11)-用户管理前端接口联调

联调基本步骤 1.阅读接口文档 2.配置接口地址 3.使用axios获取数据 4.将数据设置到模型层 1.发送验证码联调 1.1 配置接口地址 文件地址:src\utils\apis.js //系统相关的接口 const SystemApis {sliderListUrl:apiHost"/system/slider/list/",//发送…

【相关分析方法】MATLAB计算滑动时滞相关系数

【相关分析方法】MATLAB计算滑动时滞相关系数 1 滑动时滞相关系数2 MATLAB代码2.1 函数代码2.2 案例参考滑动时滞相关系数(Moving Time-Lagged Cross-Correlation, TLCC) 是一种常用于分析两个时间序列之间的滞后关系的工具。它可以帮助我们确定一个时间序列相对于另一个时间…

llama-cpp模型轻量化部署与量化

一、定义 定义配置环境遇到的问题,交互模式下模型一直输出,不会停止模型量化Qwen1.5-7B 案例demo 二、实现 定义 主要应用与cpu 上的部署框架。由c完成。配置环境 https://github.com/ggerganov/llama.cpp https://github.com/echonoshy/cgft-llm/blo…

MySQl基础----Linux下数据库的密码和数据库的存储引擎(内附 实操图和手绘图 简单易懂)

绪论​ 涓滴之水可磨损大石,不是由于他力量强大,而是由于昼夜不舍地滴坠。 只有勤奋不懈地努力,才能够获得那些技巧。 ——贝多芬。新开MySQL篇章,本章非常基础,但同时需要一定的Linux基础,所以假若你没学习…

Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南

概述 随着人工智能技术的迅猛发展,多模态模型在各类应用场景中展现出强大的潜力和广泛的适用性。Qwen2-VL 作为最新一代的多模态大模型,融合了视觉与语言处理能力,旨在提升复杂任务的执行效率和准确性。本指南聚焦于 Qwen2-VL 在三个关键领域…

科技资讯|Matter 1.4 标准正式发布,低功耗蓝牙助力其发展

连接标准联盟(CSA)宣布推出最新的 Matter 1.4 版本,引入了一系列新的设备类型和功能增强,有望提高包括 HomeKit 在内的智能家居生态系统之间的互操作性。 设备供应商和平台能够依靠增强的多管理员功能改善多生态系统下的用户体验&…

群控系统服务端开发模式-应用开发-前端登录页面开发

一、清理不必要的文件 1、删除auth-redirect.vue a、在根目录src文件夹下views文件夹下找到登录文件夹login,在login文件夹中删除auth-redirect.vue文件。 b、在根目录mock文件夹下role文件夹中的routes.js文件中,删除下面的代码 {path: /auth-redirect…

深入理解接口测试:实用指南与最佳实践5.0(三)

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

mongoDB的安装及使用

mongodb的安装参考: Centos系统中mongodb的安装详解_centos安装mongodb-CSDN博客 不要下载最新的版本,新的版本中mongo命令无法使用,也就是安装后不能通过mongo命令登录,我这里使用5.0.30版本; mongodb客户端demo: …

vue3面试题1|[2024-11-12]

问题1:vue2与vue3的区别 1.vue2 和 vue3 双向绑定 方法不同 vue2:Object.defineProperty() ***使用这种方法,对于后添加的属性是劫持不到的,所以就会出现数据更新了, 但是视图没有更新,所以vue2就需要使用$…

python-24-一篇文章彻底掌握Python HTTP库Requests

python-24-一篇文章彻底掌握Python HTTP库Requests 一.简介 在 Python 中,Requests 是一个非常流行且易于使用的 Python HTTP 库,专门用于发送 HTTP/HTTPS 请求,获取请求响应; 可能觉得HTTP请求不是应该前端去做么?…