Closed vergilchiou closed 6 years ago
嗯 ...你幫我發現一個 bug,不過應該不會導致你的錯誤訊息。
首先,你要看看你用的文獻處理程式是 BibTeX 還是biber 。我樣板預設使用 biber + BibLaTeX(推薦,要改的話在 config.tex
設定 \bibManType{1}
)。
你用的 apacite
是 BibTeX 的套件。
如果你可以用 biber 的話(有些期刊可能限制只能用 BibTeX),可以在 config.tex 中直接設定 \bibStyle{apa}
。
(https://www.sharelatex.com/learn/Biblatex_bibliography_styles 參考一下)
不過呢!我說的 bug 就在這裡了,我的樣本檔 thesis_base.cls
還維持在舊版的狀態。是寫死成 IEEE
樣式。所以要請你到 thesis_base.cls
第 497 和 500 行,將
style=ieee
取代為
style=\bibStyle
或是直接用
style=apa
我剛才稍微測一下,是有 apa 樣式出來,不過因為印象中以前曾試過。似乎 apa 套件會和 xeCJK 有衝突?!
總之你先試試。
對了!有任何錯誤訊息記得附上!無論是用 biber 或是 BibTeX 。
您好,我的編輯器是 Texmaker
,文獻處理程式是 Bibtex
,所以這個 bug 應該不會影響到我?
之前獨立在單檔寫論文還沒有套上樣板的時候,我都是用 usepackage{apacite}
來編譯的。又看到你的樣板裡面有 BibTex
可以選,才想說繼續用 BibTex
來解決。
我的作法是:
config.tex
設定\bibManType {1}
+ \bibStyle{apacite}
macros_preamble.tex
裡面加上 \RequirePackage{apacite}
附圖但似乎還是編譯不過去...
如果真的不行,我再來研究一下 biber
+ bibLaTex
的方法好了
謝謝您!
您好,改成用 biber
之後,如果 style=authoryear
就沒問題,但如果用style=apa
或者style=ieee
都會出現Undefined control sequence.
的錯誤訊息。
以下是剛剛研究出來的結果,只有 biber , BiBTeX 等之後有時間再研究 XD
根據手冊 biblatex-apa 2.2 Requirements
描述:
You will need to be using csquotes >= 4.3 and biblatex >= 3.4 The biber backend for biblatex >= 2.5 is also required. This style will not work correctly if using bibtex as the backend for biblatex.
加上這篇
總之,你試試看除了之前提到的改用 apa 外,另在macros_preamble.tex
加入
\RequirePackage[english]{babel}
\RequirePackage{csquotes}
\DeclareLanguageMapping{english}{american-apa}
我測試是ok的,無論是否使用 xeCJK以及包含中文。中文內文似乎沒有被 babel
影響。
您好,成功了!管他 apa
還是 ieee
都沒問題了。感謝!我一定會要把你寫進我論文的誌謝辭!
不客氣。也要謝謝你幫我發現 \bibStyle 的 bug 。目前已修復,不過也只有改上面說的那些,你就不用載了。
BiBTeX + apacite 我一直沒試成功,也不是中文問題,疑似哪個套件衝到??(在 MWE 裡面測試沒問題) 之後再慢慢找問題好了。
您好,剛才又發現一個小問題。我目錄的標題編譯出來都顯示成是英文的 Contents、List of figures、List of tables
。而不是 thesis_base.cls
設定的 目錄、圖目錄、表目錄
。
重新 Download GItHub
的檔案下來實驗以後發現,似乎跟這三個套件有關,請問是否有解法?
\RequirePackage[english]{babel}
\RequirePackage{csquotes}
\DeclareLanguageMapping{english}{american-apa}
測試前先問你:
vergilchiou notifications@github.com 於 2018年5月11日週五 16:47 寫道:
您好,剛才又發現一個小問題。我目錄的標題編譯出來都顯示成是英文的 Contents、List of figures、List of tables。而不是 thesis_base.cls 設定的 目錄、圖目錄、表目錄。 重新 Download GItHub 的檔案下來實驗以後發現,速乎跟這三個套件有關,請問是否有解法?
\RequirePackage[english]{babel} \RequirePackage{csquotes} \DeclareLanguageMapping{english}{american-apa}
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sppmg/TW_Thesis_Template/issues/2#issuecomment-388302401, or mute the thread https://github.com/notifications/unsubscribe-auth/AF0OIZra7l-clvGCqB4QLPuyszPLoa5Eks5txVATgaJpZM4T2eW1 .
您好,我用的是 *_zh 版本。
如果不加這三個套件,編譯會出現! Package babel Error: Unknown language english'. Either you have...
和Undefined control sequence
的error。
加了就可以過,但標題仍為英文。
\RequirePackage[english]{babel}
\RequirePackage{csquotes}
\DeclareLanguageMapping{english}{american-apa}
另外有個奇怪的點是,在重新下載檔案實驗的時候,我是 mac 系統,只要把\OS
改成'mac'
就可以通過編譯,並且標題是您預設的 目錄、圖目錄、表目錄
。
但是進去 thesis_base.cls
把 "錄"
改成 "次"
以後。編譯就會出現 Undefined control sequence
的 error。加入三個套件以後就又可以編譯過去了,不過標題也會因此變成英文。
您好,Google到解法了,這篇說只要在導言區、調用 babel
之後補上\let\captionsenglish\empty
和\let\dateenglish\empty
這兩行就行了。
所以只要在 macros_preamble.tex
裡面把上面加的三行後面再補上這兩行即可。
\RequirePackage[english]{babel}
\RequirePackage{csquotes}
\DeclareLanguageMapping{english}{american-apa}
\let\captionsenglish\empty
\let\dateenglish\empty
哦!不錯的解法。我完全沒用過 babel
/ polyglossia
這種多語言套件(實際上他們也沒有 Chinese 以及 xeCJK 也不用他們)。
你提供的這個解法看起來是強制將 babel
設定的巨集清空,讓他無作用。
剛剛我再研究一下(試誤 XD)發現其實可以不用 babel
biblatex
手冊裡面,3.1.2.1 節中的 language=
說(預設的)language=autobib
會去抓 bebel
的設定,(and fall back to English if babel/polyglossia is not available). It is also possible to select the package language manually.
所以預設上 biblatex
就已經將內容當作英語環境了,所以只要在 macros_preamble.tex
加上
\RequirePackage{csquotes}
\DeclareLanguageMapping{english}{american-apa}
即可。我在 Linux 上測試沒問題,你試試看。
另外,昨天看到 apacite
會要求與 hyperref
套件共用的情況下要放在 hyperref
後面載入。而 biblatex-apa
看來沒有這限制,應該就只有上面提到的依賴 csquotes
。
我試了以後還是一樣跳 Undefined control sequence
的 error耶?
我覺得 biber + biblatex
完全可以取代,有點沒有繼續往下研究 apacite
的動力 XD
另外想請教你的 LaTex
是看哪裡學的阿?可以改出自己想要的樣板。我只會
\begin{document}
!%$%^%@...
\end{document}
而已。
下面是我學校要求的摘要格式,跟中央的似乎差有點多,有辦法從你的 .cls
直接改出來嗎?我也想改一個暨大的樣板。
跳
Undefined control sequence
的 error
指的是 biblatex
apa
?
能給我完整 error 嗎? 你的 MacTeX 是最新版嗎?
apacite
:
如果沒有相容性問題,像是學校、期刊規定一定要 bibtex
,我認為直接用 biber + biblatex
就好了。
然後改樣板方面,就只是 google + 剪剪貼貼而已 XD。要細學的話可以看看我在教學裡面的參考資料或是建議閱讀材料(當然包含我的教學本身囉)。
你提供的樣式其實近似於交大版(NCTU
),可以試著自己改改看。
NCTU_thesis.cls
\def\abstractHeader
Zh/En 中的內容修改成你要的就好了。
這巨集定義放在摘要頁頁首的資訊,其實也就是放入一個 tabularx
表格,你應該很容易就能改好。
我晚點有空也可以試試看(或許沒空 XD,別期待。)
您好,感謝您!我後來複製交大版 NCTU_thesis.cls
裡的 \def\abstractHeader
貼到 thesis_base.cls
裡面去改。
不過 tabularx
表格最左邊那一排(校院系、畢業時間、研究生)
一直沒辦法跟論文名稱
一起靠左對齊,所以我後來放棄表格直接用 hfill
的方式下去做。
\def\abstractHeaderZh{\raggedright
\abstractHeaderStyle 論文名稱:\titleZh \par
校院系:\scdZh \hfill 頁數:\pageref{LastPage} \par
畢業時間:\degreedateclose \hfill 學位別:\degree \par
研究生:\author \hfill 指導教授:\profs \ 博士 \par
\vspace*{1ex}
}
我試著做了一個暨南的版本,晚點會上傳。
預覽版本在 develop branch。 還有些格式須要微調。
您好,想再請教您,
目錄跟每一章頁首的 第 chapter 章
我已經改出來了,但是目錄的 第X節
一直改不出來?
我的方法是這樣
\titlecontents{section}[\tocNumSpaceS@Before]
{}{\makebox[\tocNumSpaceS@Total][l]
{第\zhnumber{\thecontentslabel}}節}{}
{\titlerule*[0.4pc]{.}\contentspage}%0.4 = 點距
但出來的結果卻變成這樣(下圖)
section
的 1.1
被 zhnumber
轉成 第一點一節
的問題一直搞不定。
不太懂你的意思。你是希望目錄的章顯示成 第一章
,節顯示成 第 1.1 節
?
抱歉,沒說清楚,第一張圖是學校格式的要求範本。
所以我想要的是每一章的 section
顯示成 第一節、第二節、...
第二張圖示我改的,\zhnumber
把 section
的 1.1、1.2...
直接轉成 一点一、一点二
這部份會有點麻煩。
一般常見作法好像是直接重定義 \thesection
,但這樣內文的 1.1
章節標記一樣會影響。
我昨晚試著只改 toc 。是可以過濾出節號,但轉 \zhnumber{}
還有點問題。
其實一般來說 1.1
會比 第一節
來得直觀吧?我自己是認為除非格式硬性要求,不然我比較偏好 1.1
形式。
(話說當初我 toc 中文化至少搞了 2 週才搞定....)
2018-05-14 23:40 GMT+08:00 vergilchiou notifications@github.com:
抱歉,沒說清楚,第一張圖是學校格式的要求範本。 所以我想要的是每一章的 section 顯示成 第一節、第二節、... 第二張圖示我改的,\zhnumber 把 section 的 1.1、1.2... 直接轉成 一点一、一点二
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sppmg/TW_Thesis_Template/issues/2#issuecomment-388863069, or mute the thread https://github.com/notifications/unsubscribe-auth/AF0OIYANhogV7qno1c-kVtoqsotUbxj1ks5tyaVtgaJpZM4T2eW1 .
你好,有可能用 CTeX 去做修改嗎?像是
\CTEXsetup[name={第, 節!}]{section}
(我也覺得 1.1
的格式比較直觀, 第X節
的格式真的很爛...)
CteX
不能改 toc,所以好像沒辦法 。
或許只能直接改定義了,因為我的章節標記根目錄都是要用 第x節
的形式,所以都改到也沒關係。
CTeX 不熟,不過我猜有困難?
book.cls
定義中
\renewcommand \thechapter {\@arabic\c@chapter}
\renewcommand \thesection {\thechapter.\@arabic\c@section}
\renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
所以 \thesection
就是 1.1
的形式了。
(我之前用 \def
改過,但不知為何沒成功)
你如果要改的話 \thesubsection
可能也要改。
可參考 https://tex.stackexchange.com/a/21135
另外,我看暨南沒有規定要 第x節 形式阿!?
vergilchiou 於 2018-05-16 下午 05:49 寫道:
|CteX| 不能改 toc,所以好像沒辦法 。 或許只能直接改定義了,因為我的章節標記根目錄都是要用 |第x節| 的形式,所 以都改到也沒關係。
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sppmg/TW_Thesis_Template/issues/2#issuecomment-389461687, or mute the thread https://github.com/notifications/unsubscribe-auth/AF0OIfgqhJkTYptk6aC1yoor-Wk0yafnks5ty_YcgaJpZM4T2eW1.
改出來了,後來直接改定義了 先
\renewcommand \thesection {\arabic{section}}
然後再
\titlecontents{section}[\tocNumSpaceS@Before]
{}{\makebox[\tocNumSpaceS@Total][l]
{第\zhnumber{\thecontentslabel}節}}{}
{\titlerule*[0.4pc]{.}\contentspage}%0.4 = 點距
不過我想直接在 \renewcommand
一起改的話應該也可以吧?
我看學校的格式範本是 第X節
的形式,所以才想說硬著頭皮改改看
去翻前人寫的論文也是這個格式,不過我看 第X節
這個格式很不爽
到時候口試完送審我就先丟 1.1
剛圖書館 argue 看看,搞不好也會過...
真的很感謝你的樣版!讓我可以用 LaTex
優雅的生出我的論文。
恭喜!
注意一下 section 之後的標記,包含 subsection 等等。 就像我之前說的, subsection 定義是依賴 section ,所以修改定義後 subsection 也會少掉章數值。
\renewcommand 直接加中文可能不太好。因為這樣所有記號都會包含中文。 有可能出問題的地方像是頁首,TOC 也有可能。原因之一像是 \zhnumber 不能接受數字以外的字元,一旦中文進去就會 error 。
你可以看看 main.toc 檔案,裡面就是 TOC 的資訊。 section 列的數值應改就是你改過的 1
(而非 1.1
)型式。因此如果使用中文,這裡就會包含中文。(沒試過)。
我看了一下,教務處只有規定封面和摘要而已,圖書館才有目錄、內文。 而目錄部份,其實完全沒有考慮到小節 (subsection) ,如果用到 subsecton 還要用 第 X.Y 節 就會很怪。
我是覺得你可以以「適合閱讀」為原則試著爭取看看,畢竟這是自己辛苦做出的論文。(我學姊論文用英文14字體,學校規定英文12,他就說用12的話教授根本看不到好嗎!)
而且範例製作者也未必懂得排版,可能完全沒有考慮細節,就像華航會在飛機上用新細明體漆上「帝雉號」一樣。
(教務處範例完全就是 Word 格式... 喔不!是記事本格式...... 以摘要為例,我也在想說以符合格式來說,你用內文(非表格)搭配 \hfill 或許才是最佳解。)
另一方面,其實學校也未必嚴格要求使用訂定格式,只要看起來差不多就好了。
到時候你論文審過後可以給我一份 tex 範例作為已通過參考嗎? 不用內文,只要有相關設定就好。我會在暨南 Readme 感謝你的 :D
vergilchiou 於 2018-05-16 下午 11:48 寫道:
改出來了,後來直接改定義了 先
|\renewcommand \thesection {\arabic{section}} |
然後再
|\titlecontents{section}[\tocNumSpaceS@Before] {}{\makebox[\tocNumSpaceS@Total][l] {第\zhnumber{\thecontentslabel}節}} {} {\titlerule*[0.4pc]{.}\contentspage}%0.4 = 點距 |
不過我想直接在 |\renewcommand| 一起改的話應該也可以吧?
我看學校的格式範本是 |第X節| 的形式,所以才想說硬著頭皮改改看 去翻前人寫的論文也是這個格式,不過我看 |第X節| 這個格式很不爽 到時候口試完送審我就先丟 |1.1| 剛圖書館 argue 看看,搞不好也會過...
真的很感謝你的樣版!讓我可以用 |LaTex| 優雅的生出我的論文。
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sppmg/TW_Thesis_Template/issues/2#issuecomment-389568363, or mute the thread https://github.com/notifications/unsubscribe-auth/AF0OIStN-VrTzrcsA9L_pjm1UTc03L44ks5tzEowgaJpZM4T2eW1.
你好,確實如你所說,所以我有連 subsection
一起修改。
我也打算以你說的『適合閱讀』argue 看看,我覺得我們學校規定的格式很不專業、不直觀。
當然沒問題,正有此意!
您好:因為我的文獻中需要使用citep的格式,例如:(Jones et al., 1990; James et al. 1991) 但編譯過程中出現:undefined control sequence
我嘗試Google以後,似乎要加入natbib這個套件,不知道該加在哪邊呢?
感謝
您好:因為我的文獻中需要使用citep的格式,例如:(Jones et al., 1990; James et al. 1991) 但編譯過程中出現:undefined control sequence
我嘗試Google以後,似乎要加入natbib這個套件,不知道該加在哪邊呢?
感謝
自問自答,biblatex應該沒有citep這個指令,要改為\parencite https://www.reddit.com/r/LaTeX/comments/5g9kn1/whats_the_difference_between_cite_citep_and_citep/
嗯!正解無誤。(其實我也沒用過 XD)
natbib
和 biblatex
是同功能(同等級)的套件,所以用了 biblatex
就不用 natbib
。用了不知道是否會出錯。
另外,下次直接開新 issue 吧!
您好,我參考文獻想使用 apa 的格式,我的作法是先在 macros_preamble.tex 裡面使用『\RequirePackage{apacite}』加入套件,之後再到 config.tex 裡面去把 bibStyle修改成 \def\bibStyle{apacite}。但是一直有錯誤訊息編譯不過去,請問是我還有哪裡沒有調整到嗎? 謝謝您!