精華區beta R_Language 關於我們 聯絡資訊
※ [本文轉錄自 LaTeX 看板 #1PZKhtiH ] 作者: mewtwo (mewtwo) 看板: LaTeX 標題: [問題] Knitr + WinEdt下中文顯示的問題(p幣) 時間: Fri Aug 11 14:13:06 2017 各位先進好,我現在在WinEdt 10.2底下安裝它的R外掛:RManager http://www.winedt.org/config/modes/RManager.html 已執行Macro,在WinEdt的右上角出現R字樣。 將程式碼存成.Rnw之後,可直接使用WinEdt -> R -> Knitr -> Knitr>>XeLaTeX 編譯, 但是(繁體)中文一直出現亂碼。 亂試之下,如果中文不出現亂碼,R區塊中的#就會讀不到。 已經搞了一個早上了,一直得不到解答,請先進煩請解答。 欲答謝10000 p幣。(這夠行情嗎?) 程式碼如下(是一個最基本的程式碼),感謝。 \documentclass[11pt,a4paper]{book} %%%%%% 中文與字體設定 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage{fontspec} %加這個就可以設定字體 \setmainfont{Times New Roman} \usepackage[utf8]{inputenc} \usepackage{xeCJK} %讓中英文字體分開設置 \usepackage{CJKnumb} \setCJKmainfont{PMingLiU} %設定中文為系統上的字型,而英文不去更動,使用原TeX字型 \XeTeXlinebreaklocale "zh" %這兩行一定要加,中文才能自動換行 \XeTeXlinebreakskip = 0pt plus 1pt %這兩行一定要加,中文才能自動換行 \begin{document} You can type R commands in your \LaTeX{} document and they will be properly run and the output printed in the document. 中文在此 <<>>= # Create a sequence of numbers X = 2:10 # Display basic statistical measures summary(X) @ \end{document} -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.199.180 ※ 文章網址: https://www.ptt.cc/bbs/LaTeX/M.1502431991.A.B11.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: mewtwo (118.163.199.180), 08/11/2017 14:14:23
Wush978: 如果只用.tex,中文會亂碼嘛? 08/11 18:03
mewtwo: .tex無法在knitr底下編譯喔 08/12 00:09
Wush978: .tex可以在latex底下編譯.... =.= 08/12 22:43
Wush978: 我先說,遇到debug的重點在於把可能發生問題的範圍縮小 08/12 22:43
Wush978: 我是給你建議讓你能縮小範圍比較快找到原因 08/12 22:44
Wush978: 另外我在linux上改自行跑你的這個example是沒問題的 08/12 22:53
Wush978: 也就是你的問題與R無關,我覺得單純是編碼問題 08/12 22:54
mewtwo: 謝謝Wush978的建言。 08/13 10:19
mewtwo: 其實Wush978是正確的,在不同的editor上,會得到不同的結 08/13 10:20
mewtwo: 果。我現在是在R底下使用.Rnw,再使用xeLaTeX編成pdf檔。 08/13 10:20
mewtwo: 但是使用Knitr與Sweave,所得到的結果是不同的。 08/13 10:21
mewtwo: S不會有中文亂碼,但是Knitr會有。 08/13 10:21
mewtwo: 另外WinEdt與RStudio所得到的結果也不同。真讓人Orz 08/13 10:21
mewtwo: 自已的問題自已回,但Wush978有猜到一點,會聯絡他給p幣 08/15 23:04
mewtwo: 謝謝。 08/15 23:04
mewtwo: 說真的,LaTeX對繁體中文的支授還是不太友善。 08/15 23:11
mewtwo: 不過自由軟體,真的沒辦法。 08/15 23:12
> -------------------------------------------------------------------------- < 作者: mewtwo (mewtwo) 看板: R_Language 標題: Re: [問題] Knitr + WinEdt下中文顯示的問題(p幣) 時間: Tue Aug 15 23:11:24 2017 自已的文自已回。 基本上,這是個很複雜的問題 (差點丟上Stack overflow了)。 1. 後來在純RStudio下測試更絕了,主要的.Rnw以uft8編碼沒事, 外面引入的knit::read_chunk(./...)要big5編碼才沒有亂碼.... (這什麼鬼)。 2. WinEdt好像會自動改成編碼方式…無法控制。 寫信給WinEdt,他們回說R功能是由contributor寫的,要加入mail list。 3. 解決方法是使用RStudio底下的Save with encoding,將主Rnw以uft8, 副檔案以Big5存檔 (有時候)。 4. 然後編碼方式參閱Sweave User Manual的Section 3.7 Encoding。 把該加的都加上去。 就編譯成功了。 ※ 引述《mewtwo (mewtwo)》之銘言: : ※ [本文轉錄自 LaTeX 看板 #1PZKhtiH ] : 作者: mewtwo (mewtwo) 看板: LaTeX : 標題: [問題] Knitr + WinEdt下中文顯示的問題(p幣) : 時間: Fri Aug 11 14:13:06 2017 : 各位先進好,我現在在WinEdt 10.2底下安裝它的R外掛:RManager : http://www.winedt.org/config/modes/RManager.html : 已執行Macro,在WinEdt的右上角出現R字樣。 : 將程式碼存成.Rnw之後,可直接使用WinEdt -> R -> Knitr -> Knitr>>XeLaTeX 編譯, : 但是(繁體)中文一直出現亂碼。 : 亂試之下,如果中文不出現亂碼,R區塊中的#就會讀不到。 : 已經搞了一個早上了,一直得不到解答,請先進煩請解答。 : 欲答謝10000 p幣。(這夠行情嗎?) : 程式碼如下(是一個最基本的程式碼),感謝。 : \documentclass[11pt,a4paper]{book} : %%%%%% 中文與字體設定 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% : \usepackage{fontspec} %加這個就可以設定字體 : \setmainfont{Times New Roman} : \usepackage[utf8]{inputenc} : \usepackage{xeCJK} %讓中英文字體分開設置 : \usepackage{CJKnumb} : \setCJKmainfont{PMingLiU} %設定中文為系統上的字型,而英文不去更動,使用原TeX字型 : \XeTeXlinebreaklocale "zh" %這兩行一定要加,中文才能自動換行 : \XeTeXlinebreakskip = 0pt plus 1pt %這兩行一定要加,中文才能自動換行 : \begin{document} : You can type R commands in your \LaTeX{} document : and they will be properly run and the output printed in the document. : 中文在此 : <<>>= : # Create a sequence of numbers : X = 2:10 : # Display basic statistical measures : summary(X) : @ : \end{document} -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.224.92.200 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1502809887.A.04F.html