高效搞定公式表格图片 || LaTeX 的一点点技巧

// 之前暑假上高能所暑研,屁都不会。
// 所以暑假就挺鸽的。
// 先把坑填了吧

公式
LaTeX 的公式系统,绝对是我们选择它的重要原因之一。
很多时候,我们物理人看到用 TeX 公式写的东西,潜意识里就已经感觉这东西会比较专业了。(自己的破烂结课论文除外)
当然,TeX 公式系统因为全部基于代码控制,虽然精准美观,但是操作起来也相当不直观,这也导致很多人并不喜欢 TeX。
笔者初见也感觉这玩意是真难用。但是别急,现在熟练以后速度确实不差于 Word 等软件中的公式插入。再说这也该是物理人的基本功了。
关于公式系统的小技巧,我之前写过一篇专栏:

在那篇专栏介绍了几个提高公式编辑效率的软件。所以这篇我们只在此基础上多提几个细节。
常用的公式包
一般来说,只要你的文档需要大量使用公式,把下面这些包带上是不会错的。
我其实也不记得具体哪个包是哪些符号的依赖项,只记得像 \oiint,mathscr,mathbf,align环境之类的会需要这些包中的某一个。
规范的格式
比如说下面这个公式:
出现在笔者前段时间分享的特殊函数结课论文。公式规范还是有不少细节的:
作为微分算符的 d 必须用 \mathrm{d} 写为正体,其他字母作为变量直接打则为默认斜体。类似地, 这些函数也是不能打成斜体的。它们都有专门的命令 \sin,\cos,\ln.
又比如第二个括号,就和第一个直接打的括号 () 有所不同,使用的是 \left(\right),这样打出来的括号才会变长,在括号内的内容比正常的单行字母高时,就应该使用这种括号。
训练并熟悉你的自动补全系统
自动补全是提高效率的重要手段,在之前的文章也讨论过了。聊一些小细节吧,比如说怎么把自动补全系统训练到最高效的状态。
以括号为例,在大型公式中,\left(\right) 和 \left[\right],即小括号、中括号都是很常用的。
为了加快输入速度,使用自动补全,只需输入 \lef 然后按 tab 键,就会自动输上完整的 \left(\right),而且光标自动置于中间。输入完括号内的内容,还可以再按一次 tab 键,光标自动跳到括号后。

自动补全系统具有一定的记忆,这意味着使用频率高的命令会靠前。前面说的小括号和中括号的前半部分都是\left,所以我的个人经验是: \le + tab 用来打中括号,\lef + tab 用来打小括号,互不冲突,都是第一个补全选项。
使用自动补全时未必要按顺序打前几个字母。比如说常用的 \rightarrow,由于和同样常用的 \right. \right] \right) 这些命令的前几个字母都一致,所以当我们想打 \rightarrow 的时候,\rarr + tab 就能更快速方便地完成自动补全。
熟悉自动补全之后输入速度是可以相当快的。比如要输入
代码是 \frac{\mathrm d x}{\mathrm d t},但实际上你的操作只是:
\fr [tab] \mrm [tab] d [tab] x [tab] \mrm [tab] d [tab] t [tab]
里面一半字母都不必打出来。输入这个微分的速度绝对是比 word 里面快的。

图片表格
众所周知,插入图片不方便是很多人不喜欢 LaTeX 的一大原因。这里我也无力让 LaTeX 插入图片的效率比肩 office,只能在我的能力范围内尽量让插入图片方便一些。
LaTeX 在某个位置插入一个图片的代码通常是这样的:
简单说一下各个参数的含义:
htbp 表示按顺序尝试将图片放置在 当前位置(here)、页面顶部(top)、页面底部(bottom)、新的一页(page)。绝大多数情况下,这个参数没有必要改变。
centering 为居中。
width 控制了插入图片的大小。这里的代码采用了以文字宽度衡量的相对宽度,简单直观。你当然也可设置为以 pt 为单位的绝对宽度。
{figs/fig.png} 是图片的位置,默认是以源代码位置为准的相对位置。
caption 是图片的说明。
到这里你已经想跑了吧,这么麻烦谁用啊。但是你先别急。没人会每次都把这些打一遍。
所以我建议的做法:在工作区新建一个叫 "常用LaTeX代码.txt" 的文本文档,把我贴在上面的那些东西扔进去。每次要插入图片的时候,从那边复制过来就好了,这样你只需要改文件名、图片说明、宽度即可。VSCode 编辑器可以分栏,左边放源码右边放常用的代码,也算比较方便了。
此外你可能也会用到几个图以一张图的子图形式插入。代码是
(用子图的话别忘了 \usepackage{subfigure})

至于表格的话,最简单的是找一个转换的网站。
Excel 转换为 LaTeX 表格 - 在线表格转换工具 (tableconvert.com)
https://tableconvert.com/zh-CN/excel-to-latex
除此之外,我还推荐一个excel插件:excel2latex
下载地址在这里:
https://ctan.org/tex-archive/support/excel2latex/
下载之后,打开一次 excel2latex.xla,之后正常打开你的excel表格。
选中要转换为latex代码的那部分表格,在加载项里面就可以找到 Convert Table to LaTeX

有了这个插件,你就可以在没网的情况下随时转换表格。

先到这里吧,看看有空还能后续更什么内容,可能会关于各种链接、tikz什么的