LaTeX之四:如何兼容中文(上手中文简历和中文论文)、在win/mac上安装新字体。

news2024/12/27 20:10:43

改成中文版

如果你已经修改了.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. 安装字体

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S如何基于Istio实现全链路HTTPS

K8S如何基于Istio实现全链路HTTPS Istio 简介Istio 是什么?为什么选择 Istio?Istio 的核心概念Service Mesh(服务网格)Data Plane(数据平面)Sidecar Mode(边车模式)Ambient Mode(环境模式)Control Plane(控制平面)Istio 的架构与组件Envoy ProxyIstiod其他组件Istio 的流量管…

安全见闻-泷羽sec课程笔记

编程语言 C语言:一种通用的、面向过程的编程语言,广泛应用于系统软件和嵌入式开发。 C:在C语言基础上发展而来,支持面向对象编程,常用于尊戏开发、高性能计算等领域。 Java:一种广泛使用的面问对象编程语言,具有跨平台…

论文笔记(五十六)VIPose: Real-time Visual-Inertial 6D Object Pose Tracking

VIPose: Real-time Visual-Inertial 6D Object Pose Tracking 文章概括摘要I. INTRODACTIONII. 相关工作III. APPROACHA. 姿态跟踪工作流程B. VIPose网络 文章概括 引用: inproceedings{ge2021vipose,title{Vipose: Real-time visual-inertial 6d object pose tra…

LeetCode 热题100(八)【二叉树】(3)

目录 8.11二叉树展开为链表(中等) 8.12从前序与中序遍历序列构造二叉树(中等) 8.13路径总和III(中等) 8.14二叉树的最近公共祖先(中等) 8.15二叉树中的最大路径和(困…

【C语言】Union

一.Union的用法 1.什么是Union? union 共用体名{ 成员列表 }; union,“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。 2.为什么使用union&#xff1…

Postgresql源码(138)alter table增加列的执行流程分析

alter table 逻辑比较繁琐,但并不复杂,这里以增加列为例简单梳理流程。 测试用例 drop table t_echo; create table t_echo(a int,b int); insert into t_echo select t.i, t.i*10 from generate_series(1,10) t(i); alter table t_echo add c varchar…

MobaXterm 软件及如何设置取消自动断开连接

MobaXterm 软件及如何设置取消自动断开连接 背景软件资料取消自动断开连接找打设置找到SSH Setting 背景 其实很容易找到类似的资料, 主要为了简单的记录一下, 还是写一下这个博客吧, 也算是自己的输出了. 当练习打字也行吧, 反正自己打字也是一坨, 打字太慢了. 软件资料 官…

【代码审计】常见漏洞专项审计-业务逻辑漏洞审计

❤️博客主页: iknow181 🔥系列专栏: 网络安全、 Python、JavaSE、JavaWeb、CCNP 🎉欢迎大家点赞👍收藏⭐评论✍ 0x01 漏洞介绍 1、 原理 业务逻辑漏洞是一类特殊的安全漏洞,业务逻辑漏洞属于设计漏洞而非实…

YOLOv11实战垃圾分类

本文采用YOLOv11作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv11以其高效的特征提取能力,在多个图像分类任务中展现出卓越性能。本研究针对4种垃圾数据集进行训练和优化,该数据集包含丰富的垃圾图像样本&am…

Kafka集群中数据的存储是按照什么方式存储的?

1)Topic 数据的存储机制 Topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是Producer生产的数据。Producer生产的数据会被不断追加到该log文件末端,为防止log文件…

渗透测试靶场 - vulhub -CVE漏洞 Weblogic 任意文件上传漏洞(CVE-2018-2894) 漏洞讲解 漏洞复现 亲测步骤能通过哟

漏洞说明 Weblogic管理端未授权的两个页面存在任意上传jsp文件漏洞,可直接获取服务器权限。 两个页面 /ws_utc/begin.do /ws_utc/config.do Oracle 在2018年7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞, Web Se…

使用 PyTorch 实现 AlexNet 进行 MNIST 图像分类

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

基于图的去中心化社会推荐过滤器

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月11日19点20分 点击开启你的论文编程之旅https://www.aspiringcode.com/content?id17176636216843&uideba758a1550b46bb…

深度学习模型评价指标介绍

模型评价指标 模型评价指标1.混淆矩阵2.Overall Accuracy3.Average accuracy4.Kappa系数5.Recall6.Precision7.F18.PR曲线9.置信度10.IOU11.AP12.mAP 模型评价指标 在我们学习机器学习以及深度学习,甚至在计算机视觉领域,我们不可避免的要利用一些指标评…

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…

【自用】0-1背包问题与完全背包问题的Java实现

引言 背包问题是计算机科学领域的一个经典优化问题,分为多种类型,其中最常见的是0-1背包问题和完全背包问题。这两种问题的核心在于如何在有限的空间内最大化收益,但它们之间存在一些关键的区别:0-1背包问题允许每个物品只能选择…

Zookeeper的安装与使用

一、简介 1.1、概念 ZooKeeper 是一个开源的分布式协调服务,主要用于解决分布式系统中的数据一致性问题。它提供了一种可靠的机制来管理和协调分布式系统的各个节点。ZooKeeper 的设计目标是简化分布式应用的开发,提供简单易用的接口和高性能、高稳定性…

【模块一】kubernetes容器编排进阶实战之etcd的介绍与使用

etcd进阶 etcd简介:  etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。 官方网站:https://etcd.io/  gith…

【机器学习】如何配置anaconda环境(无脑版)

马上就要上机器学习的实验,这里想写一下我配置机器学习的anaconda环境的二三事 一、首先,下载安装包: Download Now | Anaconda 二、打开安装包,一直点NEXT进行安装 这里要记住你要下载安装的路径在哪,后续配置环境…

矩阵中的路径(dfs)-acwing

题目 23. 矩阵中的路径 - AcWing题库 代码 class Solution { public://以每一个坐标作为dfs起点bool hasPath(vector<vector<char>>& matrix, string str) {for (int i 0; i < matrix.size(); i )for (int j 0; j < matrix[i].size(); j )if (dfs(…