1. 程式人生 > >第一次寫論文後的經驗總結和新手攻略

第一次寫論文後的經驗總結和新手攻略

兩天前論文剛剛投出去,想記一下寫論文過程中遇到的坑,算是給自己留檔,也算是給第一次投論文的同學們的新手教程吧。
這篇寫的是計算機專業論文相關,其他專業同學可以繞道了,也歡迎吃瓜。

寫前準備

論文呢雖然可以一邊做實驗一邊寫,而且如果時間緊的話這樣做是比較推薦的。然而這樣做的前提是你確定你的實驗能夠達到令人滿意的效果,並且確定你不會對方法設計有脫胎換骨的改變,否則寫了可能也要推翻,白白浪費時間了。
準備寫作之前一定要明確你要投稿的會議或期刊,它們對論文的要求往往不同。提前去主頁看會議或期刊的要求,例如死線日期,論文篇幅,提交地址,是否要求雙盲等等。

工具篇

僅僅介紹我用的工具,個人感覺還算好用,但也僅限於新手導航級別,更專業的工具肯定存在,也歡迎大家分享給我。

論文編輯之latex

進入到會議的主頁基本上就能發現這個會議提供的論文模板,而模板基本上就分為兩種:latex和word。大部分人會用latex來將論文編輯成pdf格式。所以就來簡要科普以下latex以及它的用法。
tex語言是一種文件排版語言,用來生成pdf文件,而latex是為tex語言開發的一個包。在linux下安裝latex可以安裝它的一個通用的發行版texlive,用普通的apt安裝即可。
安裝過texlive之後就可以在txt檔案中編輯tex程式碼,用命令列生成pdf檔案了,然而命令列生成pdf的方式我並沒有試過,大部分人會選擇下載一個tex編輯器,裡面像程式碼編輯器一樣集成了編譯執行配置等等功能。我在用的是一個叫texmaker的編輯器,是之前在知乎上看到的一款適合新手的編輯器。也是可以通過普通的apt安裝。

上面是texmaker的介面,左邊視窗是程式碼編輯區,右邊是預覽的視窗。上方有兩個藍色的箭頭,左邊的是用來編譯tex程式碼,右邊的是把編譯好的pdf檔案呈現到預覽視窗,相當於執行。其他的latex工具大同小異。具體的tex的語法就不贅述,貼一個wiki的地址
其實一篇論文中的大部分內容都可以用latex來編輯,包括表格,程式碼段等等。常用的命令在下面會講到,高階的東西我也還沒有接觸。

結構圖編輯之draw

其實latex也有圖形編輯的功能,但是比較複雜因此不太推薦。我用的是linux自帶的LibreOffice的draw工具,相當於低配版的visio,windows使用者可能就還是推薦visio,不推薦powerpoint因為真的很費人工。直接在左上角搜尋就能搜到draw軟體了,裡面的圖形種類還比較全,最大的優點是能夠近乎無損地匯出成pdf檔案,這樣插入論文中就有相當的清晰度,相比起來很多線上畫圖工具例如processon可以說是比較不靠譜了。

圖表之python的matplotlib

參考文獻管理之Zotero

只是以我用的Zotero為例,類似功能的軟體應該還有很多,大家可以多多嘗試。
對於寫論文來說,平日裡管理參考文獻的最直接好處就是在最後論文引用參考文獻的時候不至於抓瞎。這篇主要也是從寫論文的角度將參考文獻的管理。
在論文中引用文獻的主流方法是將你論文中可能出現的參考文獻都儲存到一個.bib檔案中,然後利用命令\cite在文中插入參考文獻的關鍵字,然後用命令\bibliography來自動生成參考文獻列表。Zotero可以自動將文獻匯出成為.bib檔案,支援單獨匯出和批量匯出。
在使用Zotero或者任何其他參考文獻管理工具的過程中需要注意的是,儲存在文獻管理工具中的文獻的資訊要全,否則在自動生成的參考文獻列表中也會缺少資訊。例如我這次檢查參考文獻的時候就發現很多文獻發表的會議名稱我都沒有收集到,所以在把文獻加入Zotero時需要注意文獻的資訊是否齊全。

寫作方法

如前面所說,計算機類的論文最好是在整體方案敲定後就開始動筆。整篇文章中可以最先寫的部分是方法設計部分,一邊寫一邊還可以整理思路。隨後可以寫的就是實現和實驗部分,這兩部分最好是在敲程式碼和做實驗的同時來寫,或者在敲程式碼和做實驗的時候詳細記下細節,完成一個階段後統一來寫。整篇文章需要在最後寫的,Conclusion部分不必說,Introduction部分最好也放在最後,因為寫得早的話真的是需要一遍一遍一遍的返工……至於相關工作部分,雖然我這篇論文已經投了但還是沒什麼頭緒要把它放在什麼時候寫比較好……放在什麼時候都很難寫。下面對每個部分簡要地說一說。
Introduction部分主要就講幾個點:首先是你研究的領域的一個概述,講它解決什麼問題,近期有什麼方法,這些方法有什麼不足,以引出你寫本文或者說你提出的idea的目的。然後簡述你在本文中提出的方法或框架,稍微講一下實驗的結果,後面列出創新點,最後寫你的這篇文章的篇章脈絡(就是第一節寫什麼第二節寫什麼……)有時也將Motivation部分拎出來作為獨立的一章。
方法設計部分就沒有太多套路了,就是你的方法分為幾個步驟就寫幾節,最好在這一章最開頭給張圖描述一下方法的整體架構,然後再分條介紹。
實驗部分可以寫成一章也可以寫成兩章,寫成兩章的一般就是第一章實驗設計,寫實驗的引數,評估標準,介紹一下對比實驗等等,第二章寫實驗結果並分析。這邊有baseline的話要超簡略地介紹一下baseline的方法,實驗結果有分析最好。
related work沒太多好說,主要注意的就是在這一部分提到別人的工作要用過去時。

一些常見的句式和用法

專業用語主要針對dfect prediction方向,其他的是通用寫法。絕不固定於這樣的寫法,好的文章應該是用詞準確豐富的。

中文 英文
也就是說 blabla, i.e., blabla
xxx等 blabla, etc.
基於xxx的觀察 The observation is that…
我們的方法包括以下幾個步驟 Our approach consists of n major steps:
把某數設定為0 set A to 0
以往工作 previous work, 其中work不可數不可寫works,也可以用previous studies