[分享] 台大碩博士論文模板/GitHub Actions 集成

看板LaTeX (論文排版)作者 (迅雷不及掩耳盜鈴)時間4年前 (2020/05/08 17:03), 4年前編輯推噓23(23025)
留言48則, 8人參與, 3年前最新討論串1/1
上次弄模板已經是兩年前的事了,一開始只是寫給自己和碩班同學使用,所以 不太在意細節,能弄出來就好了… 不過陸陸續續還是發現在 GitHub 上有使用者會默默地給那個專案 Star 或者 Fork 下來自己改,於是趁著前陣子勞動節連假稍微大修了一下(幾乎跟一開 始長得不太一樣了…): - 專案倉庫:https://bit.ly/2YFf3VU - Overleaf:https://bit.ly/2YJ9bLl 初次使用時,先到 ntusetup.tex 下面進行論文相關資訊的設定,至於模板的 選項和主要進入點則是 main.tex 檔案。這次的修改將資料夾結構切得比較清 楚一點,以便 GitHub Actions 的集成,將各個檔案切開之後也比較能夠讓新 手快速進入狀況,並將精力投入在寫作上而不是模板的設定上: ``` ├── back │ ├── appendix-*.tex // 附錄 │ ├── references.bib // 參考文獻 │ └── ... ├── contents │ ├── chapter-*.tex // 論文內容 │ └── ... ├── figures │ └── ... ├── front │ ├── abstract.tex // 摘要 │ ├── acknowledgement.tex // 致謝 │ └── denotation.tex // 符號列表 ├── main.tex // 主文件 └── ntusetup.tex // 模板設定 ``` 在文檔選項的部分,可以在 main.tex 的 \documentclass 中進行設定,這次 修改很大一部分參考了對岸清華大學的模板,使用 kvsetkeys, kvoptions 套 件進行鍵值(key-value)對的處理,比起傳統透過 \DeclareOption 來設定 選項的方式,能夠更方便地處理預設值。 這份模板基於 report 文檔,所以能夠使用他的相關選項,比如雙面印刷時可 以設置 twoside 和 openright 來自動地插入空白頁,使得新章節起頭都在奇 數頁。除此之外,目前提供的可選項有(擺在第一位的是預設值): ``` % 碩士論文 or 博士論文 degree = master | doctor % 中文內容 or 英文內容 language = chinese | english % 字體設定 % - default : 使用標楷體與 Times New Romans (不含粗體) % - template: 使用 Kaiti 與 Times New Romans (含粗體) % - system : 有點雞肋,尚未實作,打算根據不同系統選字體 > " < % - overleaf: 使用 Overleaf 提供的楷體與 Times New Romans fontset = default | template | system | overleaf % 是否插入浮水印 watermark = true | false % 是否插入 DOI 數位標識 doi = true | false ``` 相信對很多人來說,尤其是剛剛入門 LaTeX 的初學者,經常會出問題的就是 編譯環境的建置與安裝,不同系統(macOS, Windows, Linux)搭配不同的發 行版本(MacTeX, MikTeX, cwTeX, cTex, TexLive)又有好幾種編譯環境( pdflatex, xelatex, lualatex...),讓人望之卻步。 所以 Overleaf/ShareLaTeX 的出現無疑是一線曙光,然而免費版本的並不具 備有版本追蹤和回溯功能。由於之前接觸 Docker 技術一段時間,又一直在搗 搞 CI/CD 環境建置,所以我用 GitHub Actions 服務搭配這個模板創建了一 個簡單的自動化編譯與佈署方案: - https://bit.ly/3bcl6ny 可以直接點選 "Use this template" 以模板方式打開這個倉庫,創建自己的 專案,接著只需要在自己的電腦上使用自己喜歡的編輯器進行寫作,當推送上 去時會觸發工作流(workflow)進行編譯與推送,編譯完成會將最新編譯完成 的版本放到 Release 頁面並記錄時間,這樣一來便可以透過 git 管理你的論 文代碼版本,並且不需要在自己的電腦上安裝 LaTeX 也可以編譯出文件… 如果有問題或建議,還請不吝指教 > " < -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.247.1 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/LaTeX/M.1588928606.A.454.html ※ 編輯: Hsins (140.112.247.1 臺灣), 05/08/2020 17:05:46

05/09 10:02, 4年前 , 1F
讚!GitHub actions 部份感覺很強。kv 可以考慮用 expl3 做
05/09 10:02, 1F

05/10 10:30, 4年前 , 2F
幫推
05/10 10:30, 2F

05/10 21:56, 4年前 , 3F
超實用!感謝大師的提供
05/10 21:56, 3F

05/10 21:58, 4年前 , 4F
想當初寫論文搞了好久
05/10 21:58, 4F

05/19 06:09, 3年前 , 5F
好人一生平安!
05/19 06:09, 5F

07/01 12:53, 3年前 , 6F
LaTeX 新手想請問新細明體怎用?我看網路上別人都直接引用
07/01 12:53, 6F

07/01 12:56, 3年前 , 7F
但我用的時候出現他提示我找不到....
07/01 12:56, 7F

07/01 20:52, 3年前 , 8F
說你的環境,xelatex或pdflatex,是否使用樣板,提供簡易範例
07/01 20:52, 8F

07/01 21:05, 3年前 , 9F
我用Overleaf xelatex
07/01 21:05, 9F

07/01 21:07, 3年前 , 10F
沒有使用樣板,不過有從版上台科樣板挖一些設定回去用
07/01 21:07, 10F

07/01 21:10, 3年前 , 11F
#1T1AJG0G (LaTeX) 就是這篇,我挖了他設定中文的方式,
07/01 21:10, 11F

07/01 21:13, 3年前 , 12F
不過他的設定好像沒有新細明體
07/01 21:13, 12F

07/01 21:22, 3年前 , 13F
#1HTtAF82 (LaTeX) 我參考這篇用\setCJKmainfont{新細明
07/01 21:22, 13F

07/01 21:24, 3年前 , 14F

07/01 21:26, 3年前 , 15F
錯誤訊息是 "新細明體" cannot be found.
07/01 21:26, 15F

07/02 07:24, 3年前 , 16F
XeLaTeX 可以直接使用系統已經安裝的或是指定路徑下的字體
07/02 07:24, 16F

07/02 07:27, 3年前 , 17F
Overleaf 支援的字體清單請參考 https://bit.ly/2YRsX7a
07/02 07:27, 17F

07/02 07:28, 3年前 , 18F
裡面並沒有新細明體,你可以從列表找相近的字體使用,或者
07/02 07:28, 18F

07/02 07:30, 3年前 , 19F
把字體檔放入專案工作目錄下,直接指定檔案使用
07/02 07:30, 19F

07/02 07:32, 3年前 , 20F
比如放到工作目錄下的 fonts 資料夾
07/02 07:32, 20F

07/02 07:34, 3年前 , 21F
\setCJKmainfont[Path=./fonts/]{Ming.ttf}
07/02 07:34, 21F

07/02 09:03, 3年前 , 22F
謝謝!我試看看
07/02 09:03, 22F

07/02 22:08, 3年前 , 23F
如原po,你選含Ming的像 cw* 或 AR PL * 都可。另外細明體
07/02 22:08, 23F

07/02 22:10, 3年前 , 24F
最好用英文 MingLiU,曾聽說用中文會找不到(windows下)。
07/02 22:10, 24F

07/02 22:12, 3年前 , 25F
新細跟細應該只有差英文字母是否固定間距。
07/02 22:12, 25F

07/02 22:32, 3年前 , 26F
我的英文要用time new roman所以這樣說好像用細就好了
07/02 22:32, 26F

07/07 11:19, 3年前 , 27F
我不懂為何我的字的換行跟樣板對不起來,我的字形是直接抓
07/07 11:19, 27F

07/07 11:23, 3年前 , 28F
win裡面的字形檔,邊界設定也一樣,可是我的緒論會換行的
07/07 11:23, 28F

07/07 11:26, 3年前 , 29F
字跟我樣板不一樣....理論上模板對會一樣對吧?
07/07 11:26, 29F

07/07 11:30, 3年前 , 30F

07/07 11:40, 3年前 , 31F
07/07 11:40, 31F

07/07 11:44, 3年前 , 32F
上面是我的overleaf和要做的模板,不知道有人可以幫忙嘛Q
07/07 11:44, 32F

07/07 19:53, 3年前 , 33F
(還沒看)如果沒差很多的話應該正常,因為字元大小不同,
07/07 19:53, 33F

07/07 19:54, 3年前 , 34F
一旦 LaTeX 判斷需要換行,那行字距會拉開來填滿行尾。
07/07 19:54, 34F

07/07 19:57, 3年前 , 35F
你第二個根本不是LaTeX生成的啊!XD 檔名都 .docx 了!
07/07 19:57, 35F

07/07 20:00, 3年前 , 36F
office字距是死的,LaTeX字距是活的,甚至還可能縮字體寬度
07/07 20:00, 36F

07/07 22:14, 3年前 , 37F
原始模板是docx現在希望可以做latex版,希望對方不嫌棄...
07/07 22:14, 37F

07/07 22:19, 3年前 , 38F
我這樣發論文應該不會太冒險吧... 我想審查人員很難看出差
07/07 22:19, 38F

07/07 22:21, 3年前 , 39F
別... 為了不害人,如果有過再公開模板上來分享
07/07 22:21, 39F

07/11 16:13, 3年前 , 40F
總覺得行距怪怪的,每頁莫名多好多行,可是1.5感覺沒錯...
07/11 16:13, 40F

07/11 16:15, 3年前 , 41F
可能還是乖乖開虛擬機用word寫了...不然會不急(′_ゝ`)
07/11 16:15, 41F

07/11 16:19, 3年前 , 42F
*會不急 -> 來不急
07/11 16:19, 42F

07/12 18:06, 3年前 , 43F
你字體多少
07/12 18:06, 43F

07/12 18:27, 3年前 , 44F
12
07/12 18:27, 44F

07/13 15:14, 3年前 , 45F
有額外問題的話發文討論吧,集中在這篇以後的人要找不方便
07/13 15:14, 45F

07/13 20:48, 3年前 , 46F
好的抱歉,我先再自己研究一下
07/13 20:48, 46F

08/04 20:29, 3年前 , 47F
真的很感謝,今年就是用你的模板寫論文的y
08/04 20:29, 47F

11/24 17:24, 3年前 , 48F
感謝,省去很多摸索的時間!
11/24 17:24, 48F
文章代碼(AID): #1UjI1UHK (LaTeX)
文章代碼(AID): #1UjI1UHK (LaTeX)