寫論文時有哪些格式和繪圖上的奇思技巧?(二)
接上一期的未完待續
4. 插入公式
介紹一個小插件,可能有很多人都開始用了,就是 Aurora。先來說說為什么不用其他的公式編輯器。
Word 自帶了公式編輯器,其實 Word 自帶的公式編輯器不用鼠標點來點去的選擇各種符號,可以通過快捷鍵來輸入各種符號,也可以利用題注給 Word 中的公式添加自動編號以及交叉引用。但是有點麻煩,這是我不推薦 Word 自帶公式編輯器其中的一個原因。
MathType 用的人非常多,MathType 支持 LaTeX 的輸入方式,自動編號以及交叉引用都比較方便。因為不能定義常用的宏,還不夠方便。
其實我不用 Word 自帶的公式編輯器或者是 MathType 的最主要的原因就是,這兩個產生的公式太丑了。美丑這個東西仁者見仁,我的審美也不是最優秀的,我貼幾張對比圖,如果感覺 Aurora 產生的公式最漂亮,可以繼續往下看,如果感覺差不多,可以跳過這一章。
下圖是二次方程求根公式的三種公式編輯器的對比圖,好像都還好。



鏈接:https://www.zhihu.com/question/30521304/answer/48445567
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
\newcommand{\qiqi}[1]{#1_1,#1_2,\cdots,#1_n}
你就可以通過輸入 \qiqi{y} 和 \qiqi{z} 來快速輸入 和
了。如果你有時候還想改變上線值
的話,可以定義一個帶兩個參數的宏定義。
\newcommand{\qiqi}[2]{#1_1,#1_2,\cdots,#1_{#2}}
然后你就可以通過輸入 \qiqi{a}{100} 來快速輸入 了。
定義宏命令還有一種用途,我在寫上一篇文章的時候,有個變量 R,不知道用什么樣式。是 ?是
?還是
?其實不用糾結這個,定義一個命令代替這個 R 就好了。
\newcommand{\risk}{\mathscr{R}}
以后如果需要改的話改一下宏命令,全文的 R 都變了,省去了一個一個改的繁瑣。普通文本可以以實現類似的功能,詳見 9. 符號替換。
Aurora 自帶個微型的 TeX 系統,原理就是將你輸入的公式利用 TeX 進行編譯,然后將產生的結果插入到 Word 中。所以你要用 Aurora 輸入公式,需要先了解一下 LaTeX 的公式輸入。關于這方面的內容可以參見《一份不太簡短的 LaTeX 2ε 介紹》中的第三章。
最后說一點,利用 Aurora 編輯的公式,在沒裝 Aurora 的電腦上是無法編輯的,MathType 也這樣。Aurora 產生的公式可以位圖,也可以是矢量圖。位圖的優點就是到哪里看起來都一樣,矢量圖的優點就是可以無限放大。如果你只在你本機上編輯打印的話,推薦使用矢量圖。如果你要發給別人看的話,還是保存成位圖比較好,矢量圖在沒裝 Aurora 的電腦上顯示不正常。如何修改請看下圖:

5. 插入圖表
如果你需要在文章中插入圖表,你至少需要以下 4 中樣式:
- 圖
- 圖標題
- 表
- 表標題
插圖的過程就是插入一張圖片,然后點擊“引用”--“插入題注”。





\iffalse 這段去掉,方法不正確,而且太蠢了。
為了避免這個問題,我們在正文要插入圖片的位置上添加一個 的表格。然后去掉表格的邊框:



這樣,圖和圖標題就是不可分割的一部分了。
表格的插入與圖片類似,短表格不建議分頁,最好和圖片一樣,與表標題一起放在一個 的表格中。長表格就不能用這個方法了,因為很有可能出現頁面底端由于放不下表格而大面積留白的情況。與圖片類似,有可能出現這種情況:

對于這種情況我還沒有特別好的解決辦法。
最后發發牢騷,Word 一直不支持 LaTeX 中的浮動環境這個功能,也是比較遺憾的,希望以后的版本會支持這個功能。
\fi
% 以下是正確方法。
因為圖在圖表題上面,所以我們右鍵點擊“圖”樣式,選擇修改。



這樣圖就不會跟圖標題分家了。因為表標題在表格上面,我們如法炮制,把“表標題”設置成”與下段同頁“即可。
6. 交叉引用
交叉引用對應 LaTeX 的兩個命令,一個是 \label{} 一個是 \ref{}。
論文中不會出現“如下圖”、“如下表”等描述,因為有時候為了版面勻稱,圖、表和引用的地方相距甚遠,“如下圖”、“如下表”只會讓人摸不著頭腦。所以論文中都是“如圖1.1”,“如表3.2”之類的。圖表的編號在 5. 插入圖表 中介紹過了,這里介紹如何引用這些數字。







但是還是有點略麻煩啊,有更簡單的辦法,按下 Ctrl + A,全選,然后按 F9,更新整個文檔的所有的“域”,然后所有的交叉引用就都正常了。
表的引用和圖類似,這里不表。說一下公式的引用。這里用 Aurora 進行說明,MathType 操作一樣。
公式大體上分為三種,行內公式,行間公式和帶編號的行間公式。
在你輸入公式前就要決定這個公式的顯示方式,如果你打算引用這個公式,就需要使用帶編號的行間公式,另外兩種公式無法引用。
現在我們有了兩個公式,現在需要在箭頭處分別插入 (1) 和 (2)。





這時我們刪除第一個公式。




7. 圖表目錄
有時需要添加圖目錄或者表目錄,這個和普通的目錄插入方法類似,這里簡單說一下方法。
把光標放在要插如圖目錄的地方,然后點擊“引用”菜單欄中的目錄按鈕。






表目錄和圖目錄一樣。
8. 參考文獻
我見過人肉排參考文獻的人,極其不推薦,增刪文獻都會對編號造成影響,而且文獻的格式也是非常復雜的,人工排參考文獻是極其愚蠢的。
Word 本身是可以插入參考文獻的,但是功能太弱了,不推薦使用。
插入參考文獻前,你首先需要一個個人文獻的數據庫。如果你還沒開始用參考文獻管理軟件的話,這一章就不用看了。先看看這個吧:諸多文獻管理軟件的優劣比較如何?你有哪些使用心得?
你用哪種管理軟件都無所謂,基本都會提供 Word 插件,以便向 Word 中插入數據庫中的文獻。我用的是 JabRef。這個管理軟件跨平臺,支持的數據庫的格式為 BibTeX。主流的數據庫都支持 BibTeX 文獻的導出,方便導入到 JabRef 中。JabRef 還支持文獻的批量下載。但是也有很多問題,所以我正在用業余時間開發一個文獻管理軟件,現在還只是半成品。扯遠了……



選中你平時維護的數據庫即可。
當你想在某處插入參考文獻的時候,把光標放在要插入參考文獻的地方,然后點擊紅色的加號。



點擊插件上的第二個按鈕,進行編譯。


鏈接:https://www.zhihu.com/question/30521304/answer/48445567
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
9. 符號替換
寫作的時候經常會出現這種情況:寫作初期有些名稱沒有定下來,后期很可能要改。比如你文章中提出了一個算法,但是算法名字還沒想好,文章中到處需要引用這個名字。與運算是用 & 還是 &&?更是有的時候遇到沒節操的甲方,改來改去,改來改去,改來改去,改來改去,改來改去,改來改去……
LaTeX 解決這種問題的思路很簡單,定義一個命令就好了,文章繼續往下寫,以后要改的話重新定義命令就好了。
\newcommand{\myalg}{NIMLE}
\newcommand{\AND}{\&{}}
...
This paper proposed a novel algorithm named \myalg. ...
0xFF \AND 0xEF ...
Word 也可以實現類似的功能。這里介紹一種利用域來實現這種符號定義的方法。關于域的介紹,詳見 百度百科_Word域。
Word 中有各種各樣的域,其中一種域叫做 DOCVARIABLE,語法格式為:
{ DOCVARIABLE sym }
域 DOCVARIABLE 的作用就是把變量 sym 顯示出來。舉個建國:ICS = "工業控制系統",那么域 DOCVARIABLE 會將所有的 { DOCVARIABLE ICS } 替換成 ”工業控制系統“。
所以在 Word 中實現 LaTeX 中的宏替換功能需要以下幾步:
1. 在變量集合 Variables 中添加 ICS,并給其賦值;
2. 按 Ctrl +F9 插入域,手動輸入 DOCVARIABLE ICS。
相當的沒有效率,被 LaTeX 甩幾條街有木有。但是不用擔心,Word 自有它的過人之處:VBA。下面介紹一種方法來簡化這個過程。
點擊菜單中的宏,如下圖所示,宏名隨便填,然后點擊創建,如下圖所示。

鏈接:https://www.zhihu.com/question/30521304/answer/48445567
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
Sub UpdateVariable()
' Clear variables
For Each Var In ActiveDocument.Variables
Var.Delete
Next
' Set the file path
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
Dim FilePath As String
FilePath = ActiveDocument.Path & "\Symbols.xlsx"
' If can't find the file, show error message and exit sub
If Not MyFile.FileExists(FilePath) = True Then
MsgBox "Can't find file: Symbols.xlsx", Title:="Error"
Exit Sub
End If
' Read the excel file "Symbols.xlsx"
Dim ExcelObject As Object
Set ExcelObject = GetObject(FilePath)
Set Table = ExcelObject.Sheets(1).UsedRange()
For i = 1 To Table.Rows.Count
V1 = Table.Cells(i, 1).Text
V2 = Table.Cells(i, 2).Text
ActiveDocument.Variables.Add Name:=V1, Value:=V2
Next
' Update field
ActiveDocument.Fields.Update
End Sub
Sub InsertSymbol()
' Show inputbox
Symbol = InputBox("Input symbol")
' Insert field
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
' Insert parameter
Selection.TypeText Text:="DOCVARIABLE " & Symbol
' Update field
ActiveDocument.Fields.Update
End Sub
如下圖所示




FilePath = ActiveDocument.Path & "\Symbols.xlsx"
然后打開這個 Excel 文件,然后添加你要用到的符號,如下圖所示。



如果后期想修改符號,只需要在 Excel 中統一修改,保存后點擊 Word 工具欄上的”更新符號“按鈕,Word 中所有的 DOCVARIABLE 域都會更新。
當然,你可以為宏添加快捷鍵,就不用每次都用鼠標點擊了。
A. 如何優雅的湊字數
泥萌不要說這是我教泥萌的哈。60歲以下人士請在家長陪同下觀看。
首先,先插入一個文本框,如下圖所示。










最后祝大家學習愉快。
作者:Qi Qi
鏈接:https://www.zhihu.com/question/30521304/answer/48445567
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
文章評論(0)