2012-10-10 2 views
2

일부 중국어가 산재되어있는 LyX 문서를 영어로 작성하려고합니다. 또한 그림과 분석을 위해 knitr을 원합니다. 제 설치 작품은 knitr을 좋아하고 중국어 ("Alternative"접근법은 여기에서 : http://wiki.lyx.org/LyX/Chinese#toc5)를 좋아하지만 CJK로 짜여진 문서는 얻을 수 없습니다.LyX가있는 knitr의 CJK (Windows 7)

Hello  
\cntxt{你好吗} 

내 사용자 정의 프리앰블가합니다 (LyX의 위키에서) :

\usepackage{CJKutf8} 
\usepackage[overlap, CJK]{ruby} 
\newenvironment{SChinese}{% 
\CJKfamily{gbsn}% 
\CJKtilde 
\CJKnospace}{} 
\newcommand{\cntxt}[1]{\begin{CJK}{UTF8}{}\begin{SChinese}#1\end{SChinese}\end{CJK}} 

문서 설정

내 테스트 문서 (텍의 코드 상자에 텍사스)이 텍스트가 있습니다 : 내 언어는 영어이고 인코딩은 utf8입니다 (다른 옵션은 아무것도 변경하지 않는 것 같습니다). Xie Yihui의 사이트에서 언급 한 LyX의 언어 표시 기능을 해제했습니다.

knitr로드와 나는 R에 보낼 때에보기 [PDF는 (pdflatex가)], 그것은 딸꾹질 할 때 :

10:13:40.589: Warning in readLines(input, warn = FALSE) : 
10:13:40.597: invalid input found on input connection 'test-chinese-2.Rnw' 

을 그리고 라텍스가 돌아 오기 것을 좋아하지 않는다 :

! File ended while scanning use of \cntxt. 

중국어 문자를 추출하면 오류가 제거됩니다. 중국인을 떠나 knitr을 내리는 것도 오류를 제거합니다. CJK를 유지하고, knitr을로드하고, 문서를 가져 오는 방법에 대한 제안?

Lyx는 기본 Windows 2.0.4, R은 2.15.1, knitr은 0.8입니다. knitr-examples034-chinese.Rhtml 예는 완벽하게 작동합니다. 여기

는 메시지 창 출력 :

13:45:45.419: Previewing ... 
13:45:45.581: Rscript --verbose --no-save --no-restore "C:/Program Files (x86)/LyX20/Resources/scripts/lyxknitr.R" "C:/Users/Patrick/AppData/Local/Temp/lyx_tmpdir.Hp8472/lyx_tmpbuf2/""test-chinese-2.Rnw" "C:/Users/Patrick/AppData/Local/Temp/lyx_tmpdir.Hp8472/lyx_tmpbuf2/""test-chinese-2.tex" UTF-8 "C:/Users/Patrick/Downloads/" 
Running: Rscript --verbose --no-save --no-restore "C:/Program Files (x86)/LyX20/Resources/scripts/lyxknitr.R" "C:/Users/Patrick/AppData/Local/Temp/lyx_tmpdir.Hp8472/lyx_tmpbuf2/""test-chinese-2.Rnw" "C:/Users/Patrick/AppData/Local/Temp/lyx_tmpdir.Hp8472/lyx_tmpbuf2/""test-chinese-2.tex" UTF-8 "C:/Users/Patrick/Downloads/" 
13:45:47.202: [1] TRUE 
13:45:47.203: [1] TRUE 
13:45:47.230: running 
13:45:47.237: 'C:\PROGRA~1\R\R-215~1.1\bin\i386\Rterm.exe --slave --no-restore --no-save --no-restore --file=C:/Program Files (x86)/LyX20/Resources/scripts/lyxknitr.R --args C:/Users/Patrick/AppData/Local/Temp/l 
13:45:47.247: yx_tmpdir.Hp8472/lyx_tmpbuf2/test-chinese-2.Rnw C:/Users/Patrick/AppData/Local/Temp/lyx_tmpdir.Hp8472/lyx_tmpbuf2/test-chinese-2.tex UTF-8' 
13:45:47.252: 
13:45:47.258: Warning in readLines(input, warn = FALSE) : 
13:45:47.266: invalid input found on input connection 'test-chinese-2.Rnw' 
13:45:47.802: 
    |                  
    |                 | 0% 
    |            
13:45:47.813:       
    |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100% 
13:45:47.820: ordinary text without R code 
13:45:47.826: 
13:45:47.828: 
13:45:47.832: [1] "test-chinese-2.tex" 
13:45:47.836: [1] TRUE 
13:45:47.837: [1] TRUE 
13:45:47.843: 
13:45:47.844: 
13:45:47.848: processing file: test-chinese-2.Rnw 
13:45:47.854: output file: C:\Users\Patrick\Downloads\test-chinese-2.tex 
13:45:47.860: 
13:45:47.875: pdflatex "test-chinese-2.tex" 
Running: pdflatex "test-chinese-2.tex" > nul 
13:45:48.186: This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9) 
13:45:48.215: entering extended mode 
13:45:48.219: 
13:45:48.224: (C:\Users\Patrick\AppData\Local\Temp\lyx_tmpdir.Hp8472\lyx_tmpbuf2\test-chinese 
13:45:48.229: -2.tex 
13:45:48.233: LaTeX2e <2011/06/27> 
13:45:48.239: Babel <v3.8m> and hyphenation patterns for english, afrikaans, ancientgreek, ar 
13:45:48.247: abic, armenian, assamese, basque, bengali, bokmal, bulgarian, catalan, coptic, 
13:45:48.255: croatian, czech, danish, dutch, esperanto, estonian, farsi, finnish, french, ga 
13:45:48.263: lician, german, german-x-2009-06-19, greek, gujarati, hindi, hungarian, iceland 
13:45:48.269: ic, indonesian, interlingua, irish, italian, kannada, kurmanji, lao, latin, lat 
13:45:48.275: vian, lithuanian, malayalam, marathi, mongolian, mongolianlmc, monogreek, ngerm 
13:45:48.280: an, ngerman-x-2009-06-19, nynorsk, oriya, panjabi, pinyin, polish, portuguese, 
13:45:48.285: romanian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, swis 
13:45:48.291: sgerman, tamil, telugu, turkish, turkmen, ukenglish, ukrainian, uppersorbian, u 
13:45:48.296: senglishmax, welsh, loaded. 
13:45:48.300: 
13:45:48.638: Error while previewing format: pdf2C:\Users\Vincent\Documents\LyX\source\lyx20x\src\support\Systemcall.cpp(273): Systemcall: 'pdflatex "test-chinese-2.tex"' finished with exit code 1 
+1

Windows를 사용하고 있으므로 여기서 설명한 로켈 문제 일 수 있습니까? 그것은 부두와 같을 수 있지만 불행히도 Windows에서는 R이 CJK 스크립트와 잘 어울리지 않는 것 같습니다. http://stackoverflow.com/questions/11069908/r-extracting-clean-utf-8-text-from-a-web-page-scraped-with-rcurl – SlowLearner

+0

예, 전에 R 및 로케일과 전투를 수행했습니다. (그리고 잃어 버렸습니다. [내가 몇 달 전에 물었던 질문] (http://stackoverflow.com/questions/10675360/utf-8-file-output-in-r)을 참조하십시오. 이것은 링크 된 것과 중복 된 것으로 보입니다. 나에게). 시간이 있다면 어쩌면 Lyx-> knitr 스크립트를 사용하여 어지럽히고 그 문제의 "수정 사항"이 작동하는지 확인하십시오. knitr 예제에서 034-chinese.html의 CJK로 knit() 함수를 사용하면 괜찮습니다. 따라서 작은 조각의 희망이 있습니다. 가능하다면 – Patrick

+0

전체 로그를 붙여 넣으십시오. 그렇지 않으면 많은 것들을 추측해야합니다. 이 버그가 물었다면 http://www.lyx.org/trac/ticket/7741 http://www.mail-archive.com/[email protected]/msg93501.html을 참조하십시오. –

답변

0

이 답변으로 간주,하지만 난 \ lyxknitr 스크립트 \ LyX20 \ 자원의 로케일 설정과 주변 엉망 SlowLearner의 책에서 페이지를 복용하는 경우 확실하지. 아르 자형. 코드 니트 전에

## add a kludge for locale 
print(Sys.getlocale(category = "LC_CTYPE")) 
Sys.setlocale("LC_CTYPE","chinese") 

()를 추가

내가 원하는 것을했다. 하나님은 내가 문서에 또 다른 비 로마 언어를 넣고 싶다는 생각을 금해야합니다.

+0

그렇게하지 마십시오. 결코 로켈을 하드 코딩하지 마십시오. 위의 내 의견을 참조하십시오. –