→ 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