0%

脚注使您可以添加注释和参考,而不会使文档正文混乱。当您创建脚注时,带有脚注的上标数字会出现在您添加脚注参考的位置。读者可以单击链接以跳至页面底部的脚注内容。参考资料 [1]

要创建脚注参考,请在方括号([])内添加插入符号 (^) 和标识符 (类似于标签 label)。标识符可以是数字或单词,但不能包含空格或制表符。标识符仅将脚注参考与脚注本身相关联 - 在输出中,脚注按顺序编号。

在括号内使用另一个插入符号和标识符 (数字) 添加脚注,并用冒号和文本。注意可以不必在文档末尾添加脚注,可以将这些引用放在除列表,块引号和表之类的其他元素之外的任何位置。

语法如下:

1
2
3
This is my blog[1]

[^1]: [智朋的个人博客](https://coffeelize.top)

比如其他编辑器中渲染出来的脚注是这样的

04-其他编辑器中渲染markdown脚注.jpeg

但是 Hexo 默认的 Markdown 渲染器是不支持渲染脚注的 [2],为了实现上述的功能,可以通过安装如下插件 hexo-reference[3]

01-hexo默认的渲染器无法渲染markdown的脚注语法.jpeg

具体安装过程详见该仓库的 Readme(很简单的操作,一句安装代码即可搞定),如下是安装插件后的效果

03-安装脚注渲染插件之后.jpeg

简介

Caption 宏包中的一些参数说明及案例分析,用于自定义设置浮动体中标题的样式 o (^▽^) o

  1. 修改全篇浮动体标题格式(包括图片,表格等)
1
2
3
4
5
% 导言区
\usepackage[font=small,labelfont=bf]{caption}
% 下面命令与之等价
\usepackage{caption}
\captionsetup{font=small,labelfont=bf}
  1. 单独对浮动体的图片或表格环境中标题的设置
1
2
3
4
% 导言区
\usepackage{caption}
\captionsetup[figure]{font=small,labelfont=bf}
\captionsetup[table]{font=small,labelfont=bf}

案例 1:加粗标题的图标签

1
2
3
4
5
6
7
8
9
10
11
12
13
\documentclass{ctexart}
\usepackage{graphicx}
\usepackage{caption}
\captionsetup{
labelfont=bf%设置图片标题的编号为加粗
}
\captionsetup[figure]{skip=3pt}
\begin{document}
\begin{figure}
\includegraphics[width=4in]{example-image}
\caption{这个图片标题的图标会加粗}
\end{figure}
\end{document}

01-将图片标题编号加粗.png

实际上,使用 caption 命令不一定真的需要加入图片或者表格,只需要将其应用在浮动体环境当中即可

1
2
3
4
5
6
7
8
9
10
11
12
\documentclass{ctexart}
\usepackage{graphicx}
\usepackage{caption}
\captionsetup{
labelfont=bf%设置图片标题的编号为加粗
}
\captionsetup[figure]{skip=3pt}
\begin{document}
\begin{figure}
\caption{这个图片标题的图标会加粗}
\end{figure}
\end{document}

01-只需将caption插入浮动环境中即可.png

案例 2:设置标题与图片、表格之间的间距

1
2
3
4
%语法
\captionsetup[float type]{options}
%举例
\captionsetup[figure]{skip=3pt} %设置图片标题与图片之间的间距为3pt

对于 Latex 标准的 article、book、report 等文档,默认的 skip 值为 10pt

1
2
3
4
5
6
7
8
9
10
11
12
13
\documentclass{ctexart}
\usepackage{graphicx}
\usepackage{caption}
\captionsetup[figure]{skip=0pt}
\begin{document}

\begin{figure}
\centering
\includegraphics[width=2in]{example-image-A}
\caption{设置标题与图片间的间距为0}
\end{figure}

\end{document}

03-设置标题与图片之间的间距为0.png

案例 3:更多的标题样式设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
\documentclass[11pt]{ctexart}
\usepackage{graphicx}
\usepackage{caption}
\captionsetup[figure]{
name=Figure,
listformat=empty, %和List of Figures/Table相关
justification=justified, %即两端对齐(默认)
labelsep=quad, %标题编号与标题之间的分隔符
position=above, %不一定能够设定标题与图片相对之间的位置
skip=3pt, %图片标题与图片之间的距离
width=4in, %图片标题的宽度(这里设置为了和图片一样宽)
labelfont={huge}, %图片标题编号的字号
font={small} %图片标题的字号
}
\begin{document}
\begin{figure}
\centering
\includegraphics[width=4in]{example-image-duck}
\caption{这是一个很长很长很长很很长很长很长长很长很长图片标题}
\end{figure}
\end{document}

02-标题样式设置大汇总.png

参数说明

labelsep

语法

1
labelsep=〈label separator name〉

对应值有

格式 说明
default 同 colon
none 无间隔
colon 英文分号
period 英文句点
space 空格
quad 一个 em 的间隔
newline 标题另起一行
endash 英文 dash 连接符

Justification

语法

1
justification=〈justification name〉

对应的值有

说明
justified 两端对齐,也就是正文默认对齐方式
centering 居中对齐
raggedright 左对齐
raggedleft 右对齐
Raggedright ……

Font

语法

1
2
3
font={font options}
labelfont={font options}
textfont={font options}

对应的 font options

说明
small Small size
normalsize normalsize size
large Large size
it Italic shape
up Upright shape
bf Bold series
rm Roman family
sf Sans Serif family
tt Typewriter family
stretch=amount \setstretch{amount}
color=colour color{colour}

标题宽度

语法

1
2
3
margin=amount %同时设置左右外边距
margin={left amount,right amount} %分别设置左右外边距
witdh=amount %设置标题的宽度

03-图片标题宽度.png

skip

语法

1
skip=amount

position

1
2
3
position=top or position=above
position=bottom or position=below
position=auto(which is the default setting)

请注意:Caption 官方文档中对于该参数的说明

Please note that position=top does NOT mean that the caption is actually placed at the top of the figure or table.
the caption package tries its best to determine the actual position of the caption on its own. Please note that while this is successfully in most cases, it could give wrong results under rare circumstances.

参考资料

前言

想要了解 Windows 上的谷歌拼音输入法?
可以试着阅读以下这篇文章: 谷歌拼音输入法(PC)不完全使用指南

优势 and 劣势

  • 完全离线
  • 已停止更新(实际上已经下架,Google 不在提供维护)
  • 可导入 / 导出用户词典及自定义短语
  • 体积超小(压缩包 15M)、最流畅、皮肤最简洁的输入法

03-皮肤.png

一些实用快捷键

  • 删除误造词:Ctrl + Shift + 数字
  • 一键搜索:Ctrl + G
  • 中英文标点符号切换:Ctrl + >
  • 打开属性面板:Ctrl + Shift + O
  • 全角 / 半角符号切换:Shift+空格

03-一键搜索.gif

注:虽然是中文输入法,但是标点符号可以切换成英文状态,在输入法的显示状态栏里面也有中英文标点符号的信息

个人偏好配置

01-偏好设置.png

01-皮肤偏好设置.png

输入时间日期

小鹤双拼对应 “时间”、“日期” 的双拼分别为 “uijm”、“riqi”

01-输入当前时间和日期.gif

其他功能(I 模式,几乎用不到)

02-开启功能模式插入搜索框.gif

参考资料 & 了解更多

注:以下各个仓库 / 插件的安装,官方教程都写得非常清楚,本文不再赘述,对此话题感兴趣的朋友可以阅读文末的阅读列表

什么是内容农场

内容农场(英文:content farm)是指为了牟取广告费等商业利益或出于控制舆论、带风向等特殊目的,快速生产大量网路文章来吸引流量的网站。此类网站通常找不到作者、管理者、网站负责人,也不会主动管理产出的内容,对侵权或错误内容投诉的处理也很消极。其产出内容多半都是缺乏原创性且真实性无法保证的内容,且有极高比例是盗用、盗译自他人的原创图文,或由非专业写手胡乱拼凑网路文章而来,因而多半缺乏可靠来源、品质低劣、不具参考价值、传播误导讯息,也经常掺杂大量广告或恶意程式

如何终结内容农场

提供以下两种方案,两者均能有效起到一定的屏蔽效果和自定义配置

  1. 终极内容农场
  2. Google-Chinese-Results-Blocklist

终结内容农场

Github 仓库:終結內容農場 (Content Farm Terminator)

05-终结内容农场.png

终结内容农场是一款开源的浏览器扩展,支持 Chrome、Firefox,它会在你打开内容农场网页之前弹出警告,让你离开这些网站。且无需配置,开箱即用

插件安装前
01-搜索结果充斥着大量的内容农场.png

插件安装后(网页前会有内容农场的提示)
02-安装完插件之后提示网页为垃圾内容.png

如何获取

中文搜索结果黑名单

Github 仓库:Google-Chinese-Results-Blocklist

详细使用请查阅该仓库地址。同时,该仓库为我们提供了一些网站黑名单:点击查看,将该列表添加至网页插件的黑名单列表中,在搜索结果中可直接为我们过滤掉黑名单网站,与终极内容农场插件的提示相比,该插件直接从搜索结果中过滤掉了这些网站

04-将网页添加至黑名单列表.png

除了各大网友提供的黑名单列表,该插件还支持随时从搜索结果中将网站加入黑名单,如下图所示:

03-通过插件直接屏蔽掉google的搜索结果.gif

参考资料 & 了解更多

速览

1
2
3
4
\usepackage{zhlipsum}
%...
\zhlipsum[需要从假文中抽取的段落][name=假文库] %两个参数都是可选参数
\newzhlipsum{自定义假文库名}{{假文段落1},{假文段落2},{假文段落n}} %自定义假文库,注意假文的每个段落以大括号包裹,中间使用英文逗号隔开

以下几个案例将分别从这三句命令对本宏包进行说明

中文假文

从无意义的假文中选定段落

1
2
3
4
5
6
7
8
\documentclass{ctexart}
\usepackage{zhlipsum}
\begin{document}
%zhlipsum第一个可选参数为选取段落参数
\zhlipsum[1] %从假文中(共50段)选择第一段
\zhlipsum %也可以不加参数,默认输出1-3段
\zhlipsum[1-2] %从假文中选择第1-2段 ,可以以“数字-数字”的形式指定
\end{document}

01-从假文中抽取段落.png

从指定假文库中抽取段落

宏包作者预定义了 6 个假文库

名称 段落数 简体 / 繁体 描述
simp 50 无意义随机假文
trad 50 无意义随机假文
nanshanjing 43 《山海经・南山经》
xiangyu 45 司马迁《史记项羽本纪》
zhufu 110 鲁迅《祝福》
aspirin 66 维基百科条目:阿司匹林
1
2
3
4
5
6
7
\documentclass{ctexart}
\usepackage{zhlipsum}
\begin{document}
%zhlipsum第二个可选参数为选取的假文库,默认有6中
\zhlipsum[1-3][name=zhufu] %从鲁迅《祝福》库中选取前1-3段
\zhlipsum[1-3][name=xiangyu] %从司马迁《史记·项羽本纪》库中选取前1-3段
\end{document}

02-从指定假文库中抽取段落.png

自定义假文库

1
2
3
4
5
6
7
8
9
10
11
12
13
\documentclass{ctexart}
\usepackage{zhlipsum}
\begin{document}
\newzhlipsum{chibifu}{ %自定义假文库,假文库名为chibifu,假文库共5段,每段之间使用英文逗号进行分隔
{壬戌之秋,七月既望,苏子与客泛舟游于赤壁之下。清风徐来,水波不兴。举酒属客,诵明月之诗,歌窈窕之章。少焉,月出于东山之上,徘徊于斗牛之间。白露横江,水光接天。纵一苇之所如,凌万顷之茫然。浩浩乎如冯虚御风,而不知其所止;飘飘乎如遗世独立,羽化而登仙。},
{于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。渺渺兮予怀,望美人兮天一方。”客有吹洞箫者,倚歌而和之。其声呜呜然,如怨如慕,如泣如诉;余音袅袅,不绝如缕。舞幽壑之潜蛟,泣孤舟之嫠妇。},
{苏子愀然,正襟危坐,而问客曰:“何为其然也?”客曰:“‘月明星稀,乌鹊南飞。’此非曹孟德之诗乎?西望夏口,东望武昌,山川相缪,郁乎苍苍,此非孟德之困于周郎者乎?方其破荆州,下江陵,顺流而东也,舳舻千里,旌旗蔽空,酾酒临江,横槊赋诗,固一世之雄也,而今安在哉?况吾与子渔樵于江渚之上,侣鱼虾而友麋鹿,驾一叶之扁舟,举匏樽以相属。寄蜉蝣于天地,渺沧海之一粟。哀吾生之须臾,羡长江之无穷。挟飞仙以遨游,抱明月而长终。知不可乎骤得,托遗响于悲风。”},
{苏子曰:“客亦知夫水与月乎?逝者如斯,而未尝往也;盈虚者如彼,而卒莫消长也。盖将自其变者而观之,则天地曾不能以一瞬;自其不变者而观之,则物与我皆无尽也,而又何羡乎!且夫天地之间,物各有主,苟非吾之所有,虽一毫而莫取。惟江上之清风,与山间之明月,耳得之而为声,目遇之而成色,取之无禁,用之不竭。是造物者之无尽藏也,而吾与子之所共适。”},
{客喜而笑,洗盏更酌。肴核既尽,杯盘狼籍。相与枕藉乎舟中,不知东方之既白。}
}
\zhlipsum[1-3][name=chibifu] %假文选择自定义的赤壁赋的前3段

\end{document}

03-从自定义的假文库中抽取前3段.png

英文假文

英文假文 blindtext 宏包使用案可参考之前所写文章:Latex 浮动体位置设定 @智朋的个人博客

待续

参考资料

速览

使用 xcolor 宏包可用来方便地调用颜色:
该宏包为我们提供了 \textcolor , \definecolor 两关键命令

1
2
3
\textcolor{red}{Red为xcolor宏包预定义的命令} %修改颜色
%语法:\definecolor{name}{model-list}{spec-list}
\definecolor{Gcolor}{RGB}{66, 134, 243} %定义自定义颜色

宏包预定义的颜色命令

语法

1
\textcolor{colorname}{text} %修改text的颜色

宏包预定义的颜色及命令如下

01-xcolor宏包预定义颜色.png

案例 1 宏包预定的颜色修改字体颜色

1
2
3
4
5
6
7
\documentclass{ctexart}
\usepackage{xcolor}
\begin{document}
\textcolor{red}{Red为xcolor宏包预定义的命令} %将字体颜色修改为红色

\textcolor{pink}{Pink也为xcolor宏包预定义的命令}
\end{document}

02-xcolor宏包预定义的颜色命令.png

案例 2 设置颜色透明度

1
2
3
4
5
6
7
\documentclass{ctexart}
\usepackage{xcolor}
\begin{document}
\textcolor{red}{红色文字}

\textcolor{red!50}{透明度为50的红色}
\end{document}

03-调节颜色透明度.png

  • 红色文字字体颜色 RGB (255,0,0)
  • 透明度为 50% 的红色字体颜色 RGB (255,128,128)

案例 3 混合色

1
2
3
4
5
6
7
8
9
\documentclass{ctexart}
\usepackage{xcolor}
\begin{document}
\textcolor{red}{红色文字}

\textcolor{red!50!black}{50\%的红色 + 50\%的黑色}

\textcolor{red!50!white}{50\%的红色 + 50\%的白色}
\end{document}

091-混合色语法.png

  • red!50!black:即 50% 的红色(255,0,0)混合 50% 的黑色(0,0,0),最终得到(128,0,0)
  • 同理,red!50!white 最终得到(255,128,128)

定义新的颜色命令

语法

1
2
3
4
5
6
%语法:\definecolor{name}{model-list}{spec-list}
%语法:\definecolor{颜色}{颜色模式}{参数序列}
%RGB实例如下
\definecolor{keywordcolor}{RGB}{34,34,250} %定义新的颜色命令
%HTML实例如下
\definecolor{main}{HTML}{ff8080} %注意HTML是大写,后面的参数序列不跟“#”

语法中的 model-list 可以是我们常使用的 RGB、CMYK、HSV 等(整合了 12 种色彩模式 rgb, cmy, cmyk, hsb, Hsb, tHsb, gray, RGB, HTML, HSB, Gray, wave)。比如说 OFFICE 系列的软件在调节颜色时,通常会提供 RGB 和 HSV 两种颜色模式

05-PPT当中的颜色模式.png

案例 4:定义新的颜色命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\documentclass{ctexart}
\usepackage{xcolor}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\includegraphics[width=5in]{figs/Google-logo}
\end{figure}
%语法:\definecolor{name}{model-list}{spec-list}
\definecolor{Gcolor}{RGB}{66, 134, 243}
\definecolor{Lcolor}{RGB}{52, 170, 82}
\centering
\textcolor{Gcolor}{这是Google logo中G的颜色}

\textcolor{Lcolor}{这是Google logo中L的颜色}
\end{document}

04-自定义颜色命令.png

拓展应用 彩色表格

xcolor 宏包的 \rowcolors 命令 (需要 colortbl 宏包的支持),可以分别设置表格奇偶行的背景颜色

语法

1
2
%语法:{起始行}{奇数行颜色}{偶数行颜色},如一下示例
\rowcolors{1}{White}{Lavender}

\hiderowcolors 命令是用来暂停显示前面设置的奇偶行颜色,否则后面的其他表格会继续显示颜色。另一个命令 \showrowcolors 可以用来重新激活奇偶行颜色设置。

案例 5:彩色表格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
\documentclass{ctexart}
\usepackage[table]{xcolor} %提供rowcolor命令
\begin{document}
\definecolor{mygray}{RGB}{245, 245, 245} %自定义的一种灰色颜色命令
\begin{table}[!ht]
\centering
\rowcolors{1}{white}{mygray} %彩色表格,从第一行开始,奇偶行背景色分别为白色和自定义的灰色(注意颜色名称的大小写不要写错)
\begin{tabular}{cc}
\hline
文献类型标识 & 载体类型标识 \\
\hline
\verb|[DB/OL]| & 联机网上数据库 (database online) \\
\verb|[DB/MT]| & 磁带数据库 (database on magnetic tape) \\
\verb|[M/CD]| & 光盘图书 (monograph on CD-ROM) \\
\verb|[CP/DK]| & 磁盘软件 (computer program on disk) \\
\verb|[J/OL]| & 网上期刊 (serial online) \\
\verb|[EB/OL]| & 网上电子公告 (electronic bulletin board online)\\
\hline
\hiderowcolors %暂停使用奇偶行颜色设定,防止对后续表格的背景色产生影响,后续如果想要开启,可以使用\showrowcolors来重新激活奇偶行颜色设置
\end{tabular}
\end{table}
\end{document}

09-正常表格以及彩色表格.png

需要注意的地方

  1. \usepackage[table]{xcolor} 如果仅使用 \usepackage{xcolor},无法识别 \rowcolors\hiderowcolors` 等命令
  2. \hiderowcolors 写在 tabular 环境内,否则报 Misplaced \noalign

关于第 2 点的报错,可参考:

08-彩色表格报错.png

主要参考资料

待续

字族、字系与字形

字体 (typeface) 的概念非常令人恼火,在电子化时代,基本上也都以字体 (font) 作为替代的称呼。字族、字系与字形这三者大概可以并称字体

  • 宋体、黑体、楷体,这属于字族
  • 加粗、加斜属于字系和字形
  • 五号、小四属于字号

fontspec 宏包

fontspec 是一个基于 XeLaTeX 和 LuaLaTeX 的宏包(此处划重点),所以在编译时要注意不能使用 PdfLaTeX,否则会出现编译错误(建议使用 XeLaTex)。

使用 fontspec 宏包更改字体

xelatex 编译命令能够支持直接调用系统安装的 .ttf 或 .otf 格式字体,xelatex 命令下支持用户调用字体的宏包是 fontspec

如何使用 xelatex 进行编译

  • 可以将 xelatex 作为编辑器的默认编译器,编译即自动使用 xelatex(推荐该方式)
  • 或者找到 xelatex 命令

使用 xelatex 进行编译

方式 1:以 TexStudio 为例

09-TexStduio默认编译器设置为xelatex.png

方式 2:以 TexStudio 为例

08-使用xelatex进行编译.png

语法格式

1
2
3
4
5
6
7
\usepackage{fontspec}
\setmainfont[⟨font features⟩]{⟨font name⟩} %设置衬线字体
\setsansfont[⟨font features⟩]{⟨font name⟩} %设置无衬线字体
\setmonofont[⟨font features⟩]{⟨font name⟩} %设置等宽字体

% 举个例子
\setsansfont[BoldFont={Arial Bold}, ItalicFont={Arial Italic}]{Arial}
  • font features:用来手动配置对应的粗体或斜体
  • font name:字体名称

什么是衬线字体、非衬线字体以及等宽字体?
参考资料:博客园:Serif 和 Sans-serif 字体的区别

由于中文字体少有对应的粗体或斜体,⟨font features⟩ 里多用其他字体来配置,比如习惯上将宋体的 BoldFont 配置为黑体,而 ItalicFont 配置为楷体。

(可先跳过此段)需要注意的是:fontspec 宏包会覆盖数学字体设置。需要调用一些数学字体宏包时,应当在调用 fontspec 宏包时指定 no-math 选项。
(可先跳过此段)fontspec 宏包可能被其它宏包或文档类如 xeCJK、ctex 文档类)自动调用时,则在文档开头的 \documentclass 命令里指定 no-math 选项。

需求 1:全文更换字体

在前言部分对字体进行设置

1
2
3
%语法:\setmainfont{FONT_NAME}
% 比如
\setmainfont{Times New Roman} %设置全文英文衬线字体为Times New Roman,注意Latex区分大小写

需求 2:中文为宋体,英文为 Times New Roman

在 ctex 中文文档类下,默认中文字体为宋体(衬线字体),只要将英文字体的衬线字体设置为 Times New Roman 即可满足需求

1
2
3
4
5
6
7
8
\documentclass{ctexart}
\usepackage{fontspec}
\setmainfont{Times New Roman}[BoldFont={Times New Roman Bold}, ItalicFont={Times New Roman Italic}] %设置
\begin{document}
Hello, Welcome to Latex %普通英文字体为Times New Roman
你好,欢迎来到Latex的世界 % 普通文字中文字体为宋体,英文为Times New Roman字体

\end{document}

01-中文设置为宋体,英文设置为Times,英文加粗斜体也为Times.png

对于非正文字体是不是也设置成功了呢?可以测试一下标题字体与图片标题字体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
\documentclass{ctexart}
\usepackage{fontspec}
\setmainfont{Times New Roman}[BoldFont={Times New Roman Bold}, ItalicFont={Times New Roman Italic}] % 设置衬线字体为Times New Roman,加粗和斜体也为Times New Roman加粗体和斜体

\begin{document}
Hello, Welcome to Latex %普通英文字体为Times New Roman

你好,欢迎来到Latex的世界 % 普通文字中文字体为宋体,英文为Times New Roman字体

\textbf{Hello, Welcome to Latex} %加粗则设置为Times New Roman加粗字

\textit{Hello, Welcome to Latex} %加粗则设置为Times New Roman斜体

\section{This is a section}
\subsection{This is a subsection}
\subsubsection{This is a subsubsection}

\begin{figure}[hbp]
\caption{This is a caption}
\end{figure}

\end{document}

02-中宋英Times.png

可以看到 ctexart 对应的 section 标题都是加粗的,那么对于中文呢,还会是加粗的宋体吗?我们刚才只设定了英文衬线字体,普通文字、加粗、斜体文字均匀 Times New Roman 字体,

1
\setmainfont{Times New Roman}[BoldFont={Times New Roman Bold}, ItalicFont={Times New Roman Italic}] % 设置衬线字体为Times New Roman,加粗和斜体也为Times New Roman加粗体和斜体

首先需要明确一点:汉字没有斜体.平常我们看到的加斜汉字,通常是几何变换得到的结果,非常的粗糙,并不严格满足排版要求;而真正的字形上需要精细的设计的。同时,汉字字体里面也很少加粗体的设计。
西文一般设有加斜,但是这与 “斜体” 并不是同一回事.加斜是指某种字族的 Italy 字系;而斜体,是指 Slant 字族.在行文中表强调时使用的是前者;在 Microsoft Word 等软件中看到的倾斜的字母 I,也代表前者.

加粗和斜体通常不是加粗的宋体和宋体的斜体,而是由其他字体替代,对应的加粗体为黑体字体,斜体为楷体字体。

1
2
3
4
5
6
7
8
9
10
11
12
13
\documentclass{ctexart}
\usepackage{fontspec}
\setmainfont{Times New Roman}[BoldFont={Times New Roman Bold}, ItalicFont={Times New Roman Italic}] % 设置衬线字体为Times New Roman,加粗和斜体也为Times New Roman加粗体和斜体

\begin{document}
\section{这是一个一级标题}

你好,欢迎来到Latex的世界 % 普通文字中文字体为宋体,英文为Times New Roman字体

\textbf{你好,欢迎来到Latex的世界} %粗体

\textit{你好,欢迎来到Latex的世界} %斜体
\end{document}

03-中文字体加粗加斜的一些设置.png

需求 3:自定义中文字体

中文方面, ctex 宏包直接定义了新的中文文档类 ctexart, ctexrep 与 ctexbook,以及 ctexbeamer 幻灯片文档类
ctex 宏包已经为我们提供了以下的字体命令
参考资料:中国 TeX 用户组. CTeX 宏集手册(可以该网站可下载到最新版本的 CTeX 宏基手册)

字体 命令
宋体 songti
黑体 heiti
仿宋 fangsong
楷书 kaishu
1
2
3
4
5
6
7
\documentclass{ctexart}
\begin{document}
我是全局字体,我使用的是宋体\\
{\kaishu 我是ctex已定义好的字体,我使用的楷体}\\
{\heiti 我是ctex已定义好的字体,我使用的黑体}\\
{\fangsong 我是ctex已定义好的字体,我使用的仿宋}\\
\end{document}

05-CTeX提供的中文字体命令.png

除了以上字体,我还想使用其他的中文字体呢?
查询电脑上字体对应的英文名称,具体如何查询可以查看一下两个连接
比如说查询到华文行楷对应的英文名称为 STXingkai,那么可以通过如下方式自定义命令,在正文中,只要使用 \huawenxingkai 即可将字体设置为华文行楷

如何查询中文字体对应的英文名称参考资料

1
fc-list -f "%{family}\n" :lang=zh-cn >c:\list.txt
  1. 打开 CMD
  2. 将以上命令复制到 CMD,回车
  3. 去 C 盘根目录查看 list.txt 文件

(Latex)如何查看本地中文字体的英文名称.gif

参考资料:

1
2
\setCJKfamilyfont{hwxk}{STXingkai}             %使用STXingkai华文行楷字体
\newcommand{\huawenxingkai}{\CJKfamily{hwxk}}

最小案例如下:

1
2
3
4
5
6
\documentclass{ctexart}
\setCJKfamilyfont{hwxk}{STXingkai} %使用STXingkai华文行楷字体
\newcommand{\huawenxingkai}{\CJKfamily{hwxk}}
\begin{document}
{\huawenxingkai 我是自定义的字体,我使用的华文行楷}
\end{document}

06-我是自定义字体华文行楷.png

注意:只需要给某些文字设定字体时,请将命令和需要修改字体的文字用大括号包起来

1
2
3
4
{\huawenxingkai 我是自定义的字体,我使用的华文行楷}

% 以下命令会修改该命令之后的所有的文字字体,修改局部字体时不推荐这样使用,推荐使用花括号进行分组,如以上命令
\huawenxingkai{} 我是自定义的字体,我使用的华文行楷

比如如下案例,会导致第二行文字也变为黑体

1
2
3
4
5
6
\documentclass{ctexart}
\begin{document}
\heiti{} 你好,欢迎来到Latex的世界

你好,欢迎来到Latex的世界
\end{document}

07-设置全局字体的方式.png

待续

参考资料

本文参考资料如下:

前言

figure 环境和 table 环境是最常见的浮动体环境,将这些浮动体插入文档中时,难免会出现 Latex 排版的图表位置和我们想要插入位置不同的情况,这篇文章将会对浮动体的一些概念和误区做一些较为详细的说明,希望对我还有阅读的你们有用 o (^▽^) o。自己接触 Latex 也还只有一个月左右,文中若有错误之处还请指正。

为什么会有浮动体

内容丰富的文章或者书籍往往包含许多图片和表格等内容。这些内容的尺寸往往太大,导致分页困难。Latex 为此引入了浮动体的机制,令大块的内容可以脱离上下文,放置在合适的位置。
LATEX 预定义了两类浮动体环境 figure 和 table。习惯上 figure 里放图片,table 里放表格,但并没有严格限制,可以在任何一个浮动体里放置文字、公式、表格、图片等等任意内容。
实际上,插入图片也可以不放入 figure 环境当中,直接通过 includegraphics 命令插入图片即可(比如有的简历模板中插入照片时不推荐使用 figure 浮动体环境)

为什么叫做浮动体

  1. 排版出来供阅读的文本是主体,而图、表为辅;
  2. 插在页面的文本段落之间,打断或妨碍阅读节奏( reading flow);
  3. 那么浮动体的意义在于:图、表都尽量闪一边去,不要打断我的阅读节奏,闪到页面顶部、底部,甚至是页面之后都行,就是插在段落之间影响我阅读

实际上,这和我们使用 Word 插入图片在概念上有比较大的出入,我们习惯于在提及到图表内容的段落的下一段插入相应的图表,但这排版出来的效果确实影响到整体的阅读体验了,页面看起来也不美观。

Q:有人会说:我插入的图和表不应该就在我交叉引用的下一段出现吗,图和说明不在同一页,那读者怎么读得明白啊?
A:那么交叉引用 \label 和 \ref 的意义何在呢

07-Word排版插入的思路.png

浮动体位置参数

1
2
3
\begin{table}[位置参数]
...
\end{table}

位置参数提供了一些符号用来表示浮动体允许排版的位置,如 hbp 允许浮动体排版在当前位置、底部或者单独成页。
h:here, 就摆这里
t:top, 页面顶端
b:bottom, 页面低端
p:float page(也就是只有浮动体的页面,通常由于浮动体太长了,页面插入了浮动体之后,只能塞下几行文字了,此时 latex 不会再插入那几行文字,而是单独的排版这个浮动体,即浮动体单独成页)
!:求你了,听听我的请求吧…(在决定位置时忽视限制)

注意:

  • 排版位置的选取与参数里符号的顺序无关,LATEX 总是以 h-t-b-p 的优先级顺序决定浮动体位置。也就是说 [!htp][ph!t] 没有区别
  • 但是如果只给了某一个参数,比如 [h],那么肯定按 h 这个参数来排版
  • 图、表缺省的位置参数是 [t]

浮动体的位置选取受到先后顺序的限制(注意这里所说的先后顺序与上方所说顺序没有关系)。如果某个浮动体由于参数限制、空间限制等原因在当前页无法放置,就要推迟到之后处理,并使得之后的同类浮动体一并推迟。
比如说我论文中的图片太多了,Latex 排版时,将许多图片一并推迟到了非常靠后的页面,此时使用 \clearpage 命令,会在另起一页之前,先将所有推迟处理的浮动体排版成页,此时 htbp 等位置限制被完全忽略(clearpage 可以将之前推迟的所有浮动体一口气全排出来)。

案例分析

为了演示方便,本案例使用了 blindtext 宏包以用来生成假文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
\documentclass[a4paper,twocolumn]{article}
\usepackage{blindtext} %生成假文宏包

\begin{document}
\section{Table position}
\blindtext[3] %生成假文

\begin{table}
\centering
\begin{tabular}{ccc}
\hline
1 & 2 & 3 \\
1 & 2 & 3 \\
1 & 2 & 3 \\
\hline
\end{tabular}
\end{table}

\blindtext[3] %生成假文
\end{document}

如果不给表格添加位置参数,其默认的位置参数是 t

01-不给位置参数则默认为顶部.png

对于双栏排版,如果想要图、表跨栏显示,如何处理?
双栏排版环境下,LATEX 提供了 table*figure* 环境用来排版跨栏的浮动体。它们的用法与 table 和 figure 一样,不同之处为双栏的 ⟨placement⟩ 参数只能用 tp 两个位置。

1
2
3
4
5
6
7
8
9
10
\begin{table*}[t]
\centering
\begin{tabular}{ccc}
\hline
1 & 2 & 3 \\
1 & 2 & 3 \\
1 & 2 & 3 \\
\hline
\end{tabular}
\end{table*}

注意是 table 带星,不是 tabular 带星

待续

主要内容:

  • LaTeX 引用参考文献 ——Bibtex 格式说明
  • LaTeX 引用参考文献 ——BibTex 参考文献格式大全
  • 参考文献类型及其标识

LaTeX 引用参考文献 ——Bibtex 格式说明

注:以下内容转载自 CSDN: Bibtex 格式说明 @人工智能靠人工

类型 简介 必需关键字 可省略关键字
@article 期刊或杂志上的一篇文章。 author, title, journal, year. volume, number, pages, month, note.
@book 有确定出版社的书籍。 author 或 editor, title, publisher, year. volume 或 number, series, address, edition, month, note.
@booklet 印制的有封皮的作品,但没有出版社或赞助机构的名称。 title. author, howpublished, address, month, year, note.
@inbook 一本书的一部分 (章,节或某些页)。 author 或 editor, title, chapter 和 / 或 pages, publisher,year. volume 或 number, series, type, address, edition, month, note.
@incollection 一本书中有自己题目的一部分。 author, title, booktitle, publisher, year. editor, volume 或 number, series, type, chapter, pages, address, edition, month, note.
@conference/@inproceedings 会议论文集中的一篇文章。 author, title, booktitle, year. editor, volume 或 number, series, pages, address, month, organization, publisher, note.
@manual 科技文档。 title. author, organization, address, edition, month, year, note.
@mastersthesis 硕士论文。 author, title, school, year. type, address, month, note.
@misc 不属于其它任何类型的作品。 没有。 author, title, howpublished, month, year, note.
@phdthesis 博士论文。 author, title, school, year. type, address, month, note.
@proceedings 会议论文集。 title, year. editor,volume 或 number, series, address, month, organization, publisher, note.
@techreport 学校或其它研究机构印制的报告。 author, title, institution, year. type, number, address, month, note.
@unpublished 有作者和标题的还未出版的作品。 author, title, note. month, year.

LaTeX 引用参考文献 ——BibTex 参考文献格式大全

注:以下内容转载自 CSDN: LaTeX 引用参考文献 ——BibTex 参考文献格式大全 @Pycharm 比 VScode 更好用

期刊杂志的论文

1
2
3
4
5
6
7
8
9
10
11
@article{RN01,
author = {Peter Adams},
title = {The title of the work},
journal = {The name of the journal},
year = 1993,
number = 2,
pages = {201-213},
month = 7,
note = {An optional note},
volume = 4
}
  • 必要域: author, title, journal, year.
  • 可选域: volume, number, pages, month, note.

公开出版书籍

1
2
3
4
5
6
7
8
9
10
11
12
13
@book{RN02,
author = {Peter Babington},
title = {The title of the work},
publisher = {The name of the publisher},
year = 1993,
volume = 4,
series = 10,
address = {The address},
edition = 3,
month = 7,
note = {An optional note},
isbn = {3257227892}
}
  • 必要域: author/editor, title, publisher, year.
  • 可选域: volume/number, series, address, edition, month, note.

会议论文(集)

1
2
3
4
5
6
7
8
9
10
11
12
13
@inproceedings{RN11,
title = {The title of the work},
year = 1993,
editor = {Peter Kidwelly},
volume = 4,
series = 5,
page = 100-102,
address = {The address of the publisher},
month = 7,
organization = {The organization},
publisher = {The name of the publisher},
note = {An optional note}
}
  • 必要域: title, page, publisher, volume/number, year.
  • 可选域: editor, volume/number, series, address, month, organization, note.

等价于 inproceedings

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@conference{RN04,
author = {Peter Draper},
title = {The title of the work},
booktitle = {The title of the book},
year = 1993,
editor = {The editor},
volume = 4,
series = 5,
pages = 213,
address = {The address of the publisher},
month = 7,
organization = {The organization},
publisher = {The publisher},
note = {An optional note}
}
  • 必要域: author, title, booktitle, year.
  • 可选域: editor, volume/number, series, pages, address, month, organization, publisher, note.

硕士论文

1
2
3
4
5
6
7
8
9
@mastersthesis{RN08,
author = {Peter Harwood},
title = {The title of the work},
school = {The school of the thesis},
year = 1993,
address = {The address of the publisher},
month = 7,
note = {An optional note}
}
  • 必要域: author, title, school, year.
  • 可选域: type, address, month, note.

博士论文

1
2
3
4
5
6
7
8
9
@phdthesis{RN10,
author = {Peter Joslin},
title = {The title of the work},
school = {The school of the thesis},
year = 1993,
address = {The address of the publisher},
month = 7,
note = {An optional note}
}
  • 必要域: author, title, year, school.
  • 可选域: address, month, keywords, note.

参考文献类型及其标识

参考文献类型

专著 论文集 报纸文章 期刊文章 学位论文 报告 标准 专利
M C N J D R S P

对于数据库 (database)、计算机程序 (computer program) 及电子公告 (electronic bulletin board) 等电子文献类型的参考文献,建议以下列双字母作为标识:

电子参考文献类型

数据库 计算机程序 电子公告
DB CP EB

对于非纸张型载体的电子文献,当被引用为参考文献时需在参考文献类型标识中同时标明其载体类型。本规范建议采用双字母表示电子文献载体类型:磁带 (magnetic tape) MT,磁盘 (disk) DK,光盘 (CD-ROM) CD,联机网络 (online) OL,并以下列格式表示包括了文献载体类型的参考文献类型标识:

文献类型标识 载体类型标识
[DB/OL] 联机网上数据库 (database online)
[DB/MT] 磁带数据库 (database on magnetic tape)
[M/CD] 光盘图书 (monograph on CD-ROM)
[CP/DK] 磁盘软件 (computer program on disk)
[J/OL] 网上期刊 (serial online)
[EB/OL] 网上电子公告 (electronic bulletin board online)

以纸张为载体的传统文献在引作参考文献时不必注明其载体类型。

待续

为什么使用 Beamer

  • 学术偏好,就是任性
  • 和 LATEX 搭配,兼容 LATEX 命令
  • 高度可读性与清晰的逻辑
  • 输出为 PDF,跨平台显示无差异
  • 详见为什么使用 LaTeX

指定文档类

beamer 的文档类(顺便设置一下整个文档的字体大小),也可以指定幻灯片的比例

1
2
3
4
5
6
7
%\documentclass{beamer} %使用默认的格式

% 指定beamer文档文字大小
\documentclas[14pt]{beamer}

% 43是幻灯片比例4:3,同理如果想设置16:9的格式则用169即可
%\documentclass[aspectratio=43,19pt, utf8, mathserif]{beamer}

设置中文环境

1
2
3
% 中文环境设置
\usepackage{xeCJK} %导入中文包,关键
\setCJKmainfont{SimHei} %中文字体采用宋体

设置图片环境

1
2
3
% 设置图片环境
\usepackage{graphicx} % 插入图片宏包
\graphicspath{images/} % 设置图片路径

设置目录

在每一小节前插入一张带有该节标题高亮的目录
需要理解的是:我们创建了多张带有不同命名的幻灯片,但是在程序看来,他们不会将这些不同名称的幻灯片标题作为该文档的目录结构,而是和普通的科技论文格式一样,需要使用到 section、subsection 等带有语义的命令来实现文档结构的划分

1
2
3
4
5
6
7
8
9
10
11
12
%...
%\begin{document}
%--------------
% 每个章节都有小目录
%--------------
\AtBeginSection[]
{
\begin{frame}
\frametitle{Table of Contents}
\tableofcontents[currentsection]
\end{frame}
}

如下代码,创建了 5 张幻灯片,但使用 tableofcontent 命令,不会有任何的标题被生成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
%--------------目录页--------------
%需要在frame环境当中,通过frametitle给该页添加幻灯片标题
\begin{frame}
\frametitle{目录}
%插入目录
\tableofcontents
\end{frame}

%--------------第1节--------------
\begin{frame}
\frametitle{选题依据}
\end{frame}

%--------------第2节--------------
\begin{frame}
\frametitle{研究内容和研究目标}
\end{frame}

%--------------第3节--------------
\begin{frame}
\frametitle{技术路线和已取得成果}
\end{frame}

%--------------第4节--------------
\begin{frame}
\frametitle{可行性分析及创新点}
\end{frame}

%--------------第5节--------------
\begin{frame}
\frametitle{研究计划及预期结果}
\end{frame}

小节

按照如下的框架往 beamer 当中填写内容,即可编译出自动为我们排好版的 PDF,当然这只是冰山一角,能够实现一些最基础的功能和最基本的框架,希望能够对你有所帮助呀 o (^▽^) o

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
\documentclass[11pt]{beamer}
% 中文环境设置
\usepackage{xeCJK} %导入中文包,关键
\setCJKmainfont{SimHei} %中文字体采用宋体

% 作者信息
\title{智朋的笔记}
\author{智朋}
\institute{机械工程学院}

%类型为presentation
\mode<presentation>
{
%使用Madrid主题
\usetheme{Madrid}
%字体主题,布局主题和颜色主题
%\usefonttheme{structuresmallcapsserif}
%\usetheme{Berlin}
%\usecolortheme{beaver}
}

% 设置图片环境
\usepackage{graphicx} % 插入图片宏包
\graphicspath{images/} % 设置图片路径

%--------------前言--------------
% 在每一个section开始的部分,tableofcontent插入一个目录页,并且会强调当前section章节
\AtBeginSection[]
{
\begin{frame}
\frametitle{Table of Contents}
\tableofcontents[currentsection]
\end{frame}
}
%--------------正文开始--------------
\begin{document}

%--------------封面--------------
\frame{\titlepage}

%--------------目录页--------------
%需要在frame环境当中,通过frametitle给该页添加幻灯片标题
\begin{frame}
\frametitle{目录}
%插入目录
\tableofcontents
\end{frame}

%--------------第1节--------------
\section{选题依据}
\begin{frame}
\frametitle{研究背景}
研究背景研究背景研究背景研究背景研究背景研究背景研究背景研究背景研究背景研究背景
\end{frame}

\begin{frame}
\frametitle{国内外研究现状}
国内外研究现状国内外研究现状国内外研究现状国内外研究现状国内外研究现状国内外研究现状
\end{frame}

\begin{frame}
\frametitle{存在的问题}
\item 问题1
存在的问题存在的问题存在的问题存在的问题存在的问题

\item 问题2
存在的问题存在的问题存在的问题存在的问题存在的问题

\end{frame}

%--------------第2节--------------
\section{研究内容和研究目标}
\begin{frame}
\frametitle{研究内容和研究目标}
\end{frame}

%--------------第3节--------------
\section{技术路线和已取得成果}
\begin{frame}
\frametitle{技术路线和已取得成果}
\end{frame}

%--------------第4节--------------
\section{可行性分析及创新点}
\begin{frame}
\frametitle{可行性分析及创新点}
\end{frame}

%--------------第5节--------------
\section{研究计划及预期结果}
\begin{frame}
\frametitle{研究计划及预期结果}
\end{frame}

\end{document}

01-beamer框架导出的PDF.png

参考资料