高效搞定公式表格圖片 || LaTeX 的一點(diǎn)點(diǎn)技巧

//?之前暑假上高能所暑研,屁都不會(huì)。
// 所以暑假就挺鴿的。
// 先把坑填了吧

公式
LaTeX 的公式系統(tǒng),絕對是我們選擇它的重要原因之一。
很多時(shí)候,我們物理人看到用 TeX 公式寫的東西,潛意識里就已經(jīng)感覺這東西會(huì)比較專業(yè)了。(自己的破爛結(jié)課論文除外)
當(dāng)然,TeX 公式系統(tǒng)因?yàn)槿炕诖a控制,雖然精準(zhǔn)美觀,但是操作起來也相當(dāng)不直觀,這也導(dǎo)致很多人并不喜歡 TeX。
筆者初見也感覺這玩意是真難用。但是別急,現(xiàn)在熟練以后速度確實(shí)不差于 Word 等軟件中的公式插入。再說這也該是物理人的基本功了。
關(guān)于公式系統(tǒng)的小技巧,我之前寫過一篇專欄:

在那篇專欄介紹了幾個(gè)提高公式編輯效率的軟件。所以這篇我們只在此基礎(chǔ)上多提幾個(gè)細(xì)節(jié)。
常用的公式包
一般來說,只要你的文檔需要大量使用公式,把下面這些包帶上是不會(huì)錯(cuò)的。
我其實(shí)也不記得具體哪個(gè)包是哪些符號的依賴項(xiàng),只記得像 \oiint,mathscr,mathbf,align環(huán)境之類的會(huì)需要這些包中的某一個(gè)。
規(guī)范的格式
比如說下面這個(gè)公式:
出現(xiàn)在筆者前段時(shí)間分享的特殊函數(shù)結(jié)課論文。公式規(guī)范還是有不少細(xì)節(jié)的:
作為微分算符的 d 必須用 \mathrms0sssss00s 寫為正體,其他字母作為變量直接打則為默認(rèn)斜體。類似地, 這些函數(shù)也是不能打成斜體的。它們都有專門的命令 \sin,\cos,\ln.
又比如第二個(gè)括號,就和第一個(gè)直接打的括號 () 有所不同,使用的是 \left(\right),這樣打出來的括號才會(huì)變長,在括號內(nèi)的內(nèi)容比正常的單行字母高時(shí),就應(yīng)該使用這種括號。
訓(xùn)練并熟悉你的自動(dòng)補(bǔ)全系統(tǒng)
自動(dòng)補(bǔ)全是提高效率的重要手段,在之前的文章也討論過了。聊一些小細(xì)節(jié)吧,比如說怎么把自動(dòng)補(bǔ)全系統(tǒng)訓(xùn)練到最高效的狀態(tài)。
以括號為例,在大型公式中,\left(\right) 和 \left[\right],即小括號、中括號都是很常用的。
為了加快輸入速度,使用自動(dòng)補(bǔ)全,只需輸入 \lef 然后按 tab 鍵,就會(huì)自動(dòng)輸上完整的?\left(\right),而且光標(biāo)自動(dòng)置于中間。輸入完括號內(nèi)的內(nèi)容,還可以再按一次 tab 鍵,光標(biāo)自動(dòng)跳到括號后。

自動(dòng)補(bǔ)全系統(tǒng)具有一定的記憶,這意味著使用頻率高的命令會(huì)靠前。前面說的小括號和中括號的前半部分都是\left,所以我的個(gè)人經(jīng)驗(yàn)是: \le + tab 用來打中括號,\lef + tab 用來打小括號,互不沖突,都是第一個(gè)補(bǔ)全選項(xiàng)。
使用自動(dòng)補(bǔ)全時(shí)未必要按順序打前幾個(gè)字母。比如說常用的 \rightarrow,由于和同樣常用的 \right. \right] \right) 這些命令的前幾個(gè)字母都一致,所以當(dāng)我們想打 \rightarrow 的時(shí)候,\rarr + tab 就能更快速方便地完成自動(dòng)補(bǔ)全。
熟悉自動(dòng)補(bǔ)全之后輸入速度是可以相當(dāng)快的。比如要輸入
代碼是 \frac{\mathrm d x}{\mathrm d t},但實(shí)際上你的操作只是:
\fr [tab] \mrm [tab] d [tab] x [tab] \mrm [tab] d [tab] t [tab]
里面一半字母都不必打出來。輸入這個(gè)微分的速度絕對是比 word 里面快的。

圖片表格
眾所周知,插入圖片不方便是很多人不喜歡 LaTeX 的一大原因。這里我也無力讓 LaTeX 插入圖片的效率比肩 office,只能在我的能力范圍內(nèi)盡量讓插入圖片方便一些。
LaTeX 在某個(gè)位置插入一個(gè)圖片的代碼通常是這樣的:
簡單說一下各個(gè)參數(shù)的含義:
htbp 表示按順序嘗試將圖片放置在 當(dāng)前位置(here)、頁面頂部(top)、頁面底部(bottom)、新的一頁(page)。絕大多數(shù)情況下,這個(gè)參數(shù)沒有必要改變。
centering 為居中。
width 控制了插入圖片的大小。這里的代碼采用了以文字寬度衡量的相對寬度,簡單直觀。你當(dāng)然也可設(shè)置為以 pt 為單位的絕對寬度。
{figs/fig.png}?是圖片的位置,默認(rèn)是以源代碼位置為準(zhǔn)的相對位置。
caption 是圖片的說明。
到這里你已經(jīng)想跑了吧,這么麻煩誰用啊。但是你先別急。沒人會(huì)每次都把這些打一遍。
所以我建議的做法:在工作區(qū)新建一個(gè)叫 "常用LaTeX代碼.txt" 的文本文檔,把我貼在上面的那些東西扔進(jìn)去。每次要插入圖片的時(shí)候,從那邊復(fù)制過來就好了,這樣你只需要改文件名、圖片說明、寬度即可。VSCode 編輯器可以分欄,左邊放源碼右邊放常用的代碼,也算比較方便了。
此外你可能也會(huì)用到幾個(gè)圖以一張圖的子圖形式插入。代碼是
(用子圖的話別忘了 \usepackage{subfigure})

至于表格的話,最簡單的是找一個(gè)轉(zhuǎn)換的網(wǎng)站。
Excel 轉(zhuǎn)換為 LaTeX 表格 - 在線表格轉(zhuǎn)換工具 (tableconvert.com)
https://tableconvert.com/zh-CN/excel-to-latex
除此之外,我還推薦一個(gè)excel插件:excel2latex
下載地址在這里:
https://ctan.org/tex-archive/support/excel2latex/
下載之后,打開一次 excel2latex.xla,之后正常打開你的excel表格。
選中要轉(zhuǎn)換為latex代碼的那部分表格,在加載項(xiàng)里面就可以找到 Convert Table to LaTeX

有了這個(gè)插件,你就可以在沒網(wǎng)的情況下隨時(shí)轉(zhuǎn)換表格。

先到這里吧,看看有空還能后續(xù)更什么內(nèi)容,可能會(huì)關(guān)于各種鏈接、tikz什么的