Closed tommyannypeter closed 5 years ago
感謝!這應該算是設計上的 bug
解決辦法是載入 zhnumber
套件。你可以從下面任選一種喜歡的方式:
macros_preamble.tex
加入 \RequirePackage{zhnumber}
main.tex
導言區加入 \usepackage{zhnumber}
發生原因是 zhnumber
須要在 \lang
為 zh
時才被載入。
當初沒考慮到封面(或其他非內文區)會用到中文數字。
(不過印象中應該只有清華因為要用 〇
才使用 \zhdigits
)
晚點我會修正這問題,謝謝!
對了,你說 直接改成一〇七,然而〇卻顯示不出來
,是說這樣?
\def\degreedate{中~華~民~國~ 一〇七 ~年~六~月}
但我可以耶?
你那時有將 disableChinese
設為 false
嗎?
其他中文字有出現嗎?
如果 disableChinese
仍為 true
就不會載/設定中文字型,可能造成你說的問題。但其他中文字應該也不會出現。
感謝你對於zhdigits的回覆! 我的問題就如你想的那樣,其他中文字有出現,就是〇不見了,我想可能是字形的問題? 我沒有特別設定我的字形,出現的是標楷體(看起來是標楷體),但我丟到word看標楷體是可以顯示完整一〇七的。
載入 zhnumber
後能夠顯示 〇
嗎?
有遇過一種情況,希臘字母若用中文輸入法打而非 LaTeX 指令,會因為字碼不在 xeCJK
預設處理 unicode 範圍,於是使用英文字型顯示,結果沒字就顯示不出。
如果載入 zhnumber
後仍然無法顯示 〇
,你試試看在 thesis_base.cls
第 75 行(或是搜尋 \xeCJKDeclareSubCJKBlock
)下面加上:
\xeCJKDeclareSubCJKBlock{CJK Symbols}{ "3000 -> "303F }
註: https://www.compart.com/en/unicode/U+3007 這網站可以查詢字碼及碼區。
載入zhnumber
之後還是不能顯示
加入\xeCJKDeclareSubCJKBlock{CJK Symbols}{ "3000 -> "303F }
也還是不行...Orz
恩,我可以重現這個問題。 不過奇怪的是
感覺像是字型本身? 急的話用全字庫字型代替吧!這我要問下別人了。
不好意思,請問怎麼改成細明體呢?
我把thesis_base.cls
第82行\setCJKmainfont{AR PL UMing TW MBE}
uncomment之後會出現error
再改成根據https://www.ptt.cc/bbs/LaTeX/M.1366782607.A.202.html
加上\setCJKmainfont{新細明體}
之後沒有出現error但是輸出字體沒有變化
改字體建議由樣板預設方式設定,見我的wiki 說明 樣板是設計成 Linux/Mac/Windows 通用的,包含一些平台判斷,不建議使用者直接改 cls。除非你明確了解 LaTeX 設計方法。
不過我想你要改的原因還是那個 〇
吧!
感謝 andrew43
的說明 (ptt LaTeX)
以下是我建議你的解決方法
macros_preamble.tex
加入
\RequirePackage{zhnumber} % 之前的數字問題
\xeCJKDeclareSubCJKBlock{cjkO}{ `〇 }
\setCJKsansfont[cjkO=MingLiU]{\CJKsansfont}
方法就是設定那個字為一個子字碼區,然後再設定 CJKsansfont
時設定那個字碼區使用的字型。
未來仍舊由 config.tex
設定字體,只是 \CJKsansfont
的 〇
一律由細明體顯示。
已測試過沒問題。
當然你也可以直接換全字庫字型 :D
紀錄一下。
\setCJKsansfont[FallBack=MingLiU]{DFKai-SB}
是無效的。
另外一種解決方法是利用臨時加當前字體特性,所以 config.tex
內
\def\degreedate{中~華~民~國~ \addCJKfontfeatures{cjkO=MingLiU}\zhdigits{107} ~年~六~月}
% 其他地方要 \xeCJKDeclareSubCJKBlock{cjkO}{ `〇 }
lol
已解決!感激不盡!
我使用NTHU的package,在en下我有將disableChinese設定成false,然而\zhdigits會出現問題,將zhnumbers重新安裝也沒有用。後來我就直接改成一〇七,然而〇卻顯示不出來。 我是在windows 10裡使用MiKTex,編輯器是TeXStudio。