LaTeX在MacOS上的使用

其实在之前的LaTeX Formula我已经接触过并简单介绍过LaTeX,不过那时候只是由于macdown支持用LaTeX语法写公式,并且LaTeX在公式编辑上十分强大,并没有完整了解过如何用LaTeX写完整的文章。所以在这里简单介绍下MacOS上的安装和基础设置过程。之后会补上LaTeX中常见的语法。

这篇文章主要参考:
一份其实很短的LaTeX入门文档
如何用 macOS 优雅的敲 LaTeX
MAC上使用SUBLIME TEXT3编写LATEX

LaTeX在MacOS上的安装和基础设置

安装MacTeX

与Windows平台上安装CTex套件不同,MacOS上用MacTex,安装地址。大小大概在2G左右。除了给你的系统安装必备的系统组件外,这里面还包括一些辅助软件。

这里面的TeXShop是自带的文本编辑器,TextLiveUtility是检测更新的软件,Excalibur(ex咖喱棒,对,就是亚瑟王的胜利与誓约之剑)是个写LaTeX编译时检查有没有语法错误的辅助软件。反正看上去杂七杂八的,因为后来还是选择了sublime text辅助MacTeX,这部分辅助软件后来都被我删了。

配置Sublime Text

1.如果sublime还没装Package Control需要安装这个sublime上的插件下载管理工具。官网地址
2.使用快捷键control+Esc键下面那个键打开 Console,会在底部看到弹出一个白色窗口。然后,把官网上看到的灰色部分的代码粘贴到控制面板。待install完成后, 退出并重启软件。
3.重启后,按下Command+Shift+P打开 Command pallet输入命令Install Package,按下Enter回车建。
4.完成之后,再输入LaTeX Tools,找到这一项并安装.
5.安装完成后,退出并重启Sublime Text。配置基本完成。

配合Preview使用

像markdown一样,写了LaTeX之后也需要编译看看生成的PDF长什么样,所以需要PDF的查看工具。很多教程都提到了还要配合skim(一款PDF演示工具)。不过其实macOS自带的Preview也相当好用。所以不想下那么多额外软件,选择用Preview,在sublime的preferences里修改settings,在右侧的user栏按照下图加上"viewer": "preview"就行

中文的处理

每次遇到这种字体和编码的问题都会感觉很烦。这部分我是看了MAC上使用SUBLIME TEXT3编写LATEX上介绍的方法,很详细。

最简单的方式是每个你写的tex文件开头都加上%!TEX program = xelatex或者详见上面这篇博客中修改配置文件的方法。

比较需要在意的是一定要记得加\usepackage{ctex}ctex这个包才是支持中文的关键。上面都修改完后,用command+b就能顺利编译。command+shift+b可以选择编译方式,如果编译中文没有成功,使用这个命令编译并选择xelatex。

在一开始尝试的时候会遇到某些字体没下载或者其他稀奇古怪的报错。并且值得在意的是整个编译过程会产生很多log文件作为日志和其他格式的文件,这是LaTeX自动生成的不必在意。

简单的模版和效果

这篇博客也给出了一个简单的书写文章模版

1
2
3
4
5
6
7
8
9
10
\documentclass{article}
\usepackage{ctex}
\setmainfont{Hiragino Sans GB}
\title{Title}
\author{}
\begin{document}
\maketitle{}
\section{Introduction}
This is where you will write your content. 在这里写上内容。
\end{document}

在sublime中复制保存为text.tex后command+b编译,结果如下

对于更多的模版可以从overleaf进行下载和参考。这个网站也提供了在线编辑LaTeX的功能。


LaTeX基础语法

分割线,慢慢更新一些LaTeX里遇到的基础用法。值得一提的是各类期刊基本都会有对于LaTeX格式的详细说明,下载个模版修改修改试一试很快就能掌握LaTeX的各种基本用法。

LaTeX中的加入公式

1
2
3
\begin{equation}
a+b=\gamma\label{eq}
\end{equation}

这边的\label{eq}也可以写在下面。\label{}的作用是对公式,图片,表格进行编号,分别是eq,fig,tab。在每个花括号里面指定了这个label属于哪个类型后就会按照前后顺序自动排序。花括号里面还能够加:注释这个公式或图片是和什么有关,这个注释仅仅是为了可读性,对于生成的PDF实测并没有什么影响。

1
2
3
4
\begin{equation}
a+b=\gamma
\label{eq:this is a equal}
\end{equation}

带花括号的公式写法举例

1
2
3
4
5
6
$$\frac{\partial{l}}{\partial{w_i}} = \left\{  
\begin{array}{lcl}
-t \cdot x_i, & if & t \cdot y <1\\\
0, & &otherwise
\end{array}
\right.$$

LaTeX中的list

list可以选择是数字序号还是小黑点序号

小黑点序号写法
1
2
3
4
5
6
7
8
\begin{itemize}
\item 内容1

\item 内容2

\item 内容3

\end{itemize}

如果想用 - 代替小黑点,在item后面加[]并且在里面指定。

\item[-] 内容

数字序号写法
1
2
3
4
5
\begin{enumerate}
\item[(1)] 内容1 //这里也写了一个指定用(1)标注第一行的方法
\item 内容2
\item 内容3
\end{enumerate}

LaTeX中插入图片

在插入图片时候记得加和图片相关的宏包\usepackage{graphicx}

基础方式

最简单的方式是在插入图片的地方
\includegraphics[scale=0.6]{fullscreen.png}
这里的路径使用的是相对路径,意味着图片需要和你的tex文件放在同一个目录下,当然你也可以使用绝对路径来指定图片。

这里面还有一个指定图片规格的参数,常用的有

width=3cm[缩放因子] height=8 cm[缩放因子] scale=0.4[缩放因子]

和HTML里的image标签很像。

使用浮动体

因为有些期刊的格式都是分双页的,不同期刊的格式还不一样。使用浮动体可以比较好地保证图片不会因为这些变化导致和格式冲突。

使用方式如下

1
2
3
4
5
6
7
\begin{figure}[ht]

\centering
\includegraphics[scale=0.6]{fullscreen.png}
\caption{this is a figure demo}
\label{fig:label}
\end{figure}

这里就使用了figure的浮动体环境。使用figure表示的是把我们这个东西看成一个段落并且是没有任何缩进的。

[ht]是可选项,用于控制浮动体位置。

  • h 此处(here)
  • t 页顶(top)
  • b 页底(bottom)
  • p 独立一页(page)

\centering表示的是里面紧跟的内容都居中
\caption设置图片的一个编号以及为图片添加标题

如果需要跨双栏显示,在figure后面加*号

1
2
3
\begin{figure*}[ht]

\end{figure*}

LaTeX使用table

如果要画三线表,在使用表格前记得加上\usepackage{booktabs}这个宏包,能够对表格的线条粗细和样式作修改。配合\usepackage{xcolor}可以对表格作颜色的处理。

三线表和普通表格用\hline划横线略有不一样。

1
2
3
4
5
6
7
8
9
10
11
12
\begin{table}[htbp]
\caption{\label{tab:test}示例表格}
\begin{tabular}{lcl}
\toprule
。。 & 。。 & 。。\\
\midrule
。。 & 。。 & 。。 \\
。。 & 。。 & 。。 \\
。。 & 。。 & 。。 \\
\bottomrule
\end{tabular}
\end{table}

如何空一整行

\\ \hspace*{\fill} \\
即换行,用空格填充,再换行,即可实现空出一整行的效果

箭头上下加文字

宏包amsmath 提供了两个可以伸长的单箭头符号
\xleftarrow[下方公式]{上方公式}

\xrightarrow[下方公式]{上方公式}

样例与展示

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

\documentclass{article}
\usepackage{ctex}
\usepackage{booktabs}
\usepackage{graphicx}
\title{Title}
\author{breeze}
\begin{document}
\maketitle{maketitle}
\section{Introduction}
This is where you will write your content. 在这里写上内容。
\begin{equation}
a+b=\gamma\label{eq}
\end{equation}

\begin{figure}[ht]
\centering
\includegraphics[scale=0.6]{accuracy.png}
\caption{TL performance}
\label{fig:this is a fig}
\end{figure}

\begin{table}[ht]
\caption{示例表格}
\centering
\label{tab}
\begin{tabular}{lcl}
\toprule
。。 & 。。 & 。。 \\
\midrule
。。 & 。。 & 。。 \\
。。 & 。。 & 。。 \\
。。 & 。。 & 。。 \\
\bottomrule
\end{tabular}
\end{table}


\end{document}

结果图片


附录

Latex基本表格绘制

一些LaTeX中常用的宏包

LaTeX大括号公式和一般括号总结

LaTeX公式中的空格如何表示

LaTeX中的字号

整理总结网站

字符与符号1

字符与符号2