문제

내가 사용하 StatWeave 을 실행하는 SAS 코드 내에서 라텍스 파일이 있습니다.고 싶을 수 있는 파일을 열려면 텍스트 편집기에서 보기 본 라텍스 문서 라텍스와 구조가 포함된 SAS"코드 덩어리"SAS 구문 강조.("코드 덩어리"로 부(일)코드 표시를 위해,그래서 나는 생각하지 않는 라텍스 패키지 목록은 일할 것이다.) 나는 확실히 있어야 할 수 있는 방법이 emacs,모르겠지만 그것이 무엇인지...이 시점에서 나는 어떠한 솔루션으로 어떤 편집기입니다.

5Feb2010 업데이트:내가 결정하는 최고의 접근 방식이었고 실제로 중지하려고 사용 StatWeave 및 SAS,그리고 대신 사용하는 방법을 배우게 Sweave R.나는 행복 Sweave 에서 강조 Vim,하지만 난 다른 사람들이 매우 행복으로 ESS,그래서 나는 것을 수락하고 응답할 수 있도록 우리는 이 질문입니다.

도움이 되었습니까?

해결책

아마도 하나의 솔루션 MultipleModes 페이지 Emacs 위키에 도움이 됩니다.또한,메뉴얼 SweaveEmacs 말한다 통계 을 처리할 수 있 Sweave 파일이기 때문에,그래서 StatWeave 보와 유사한 것,아마도 당신이 해킹 수 ESS 을 처리하는 파일 뿐입니다.ESS 보이는 이미 지원 SAS,그래서 필요한 변경이 되지 않을 수도 있습니다.

다른 팁

SAS 파일이 코드에 직접 파일을 갖지 않고 대신 ' input'를 사용하는 것이 옵션일까요? 소스 예제에서 자주하는 한 가지는 하위 디렉토리 샘플에 넣은 다음 "하이라이트"를 사용하여 기본 파일에 포함될 수있는 라텍스 파일을 작성하는 것입니다. 이렇게하면 소스 파일이 변경 될 때마다 실행하여 제대로 작동하는지 확인할 수 있습니다. TEX 코드의 (RE) 생성은 쉘 스크립트로 또는 더 큰 프로젝트 인 경우 Make에서 수행 할 수 있습니다. 대부분의 경우 간단한 generate_tex.sh 스크립트만으로도 샘플을 변경 한 후에 전화 한 프로젝트에 충분했습니다. 그것의 내용은 같은 것일 수 있습니다

#!/bin/bash
highlight -L -f --wrap-simple *.css --outdir ../input/
highlight -L -f --wrap-simple *.html --outdir ../input/
highlight -L -f --wrap-simple *.php --outdir ../input/

웹 프로젝트 용. Main Tex 파일에는 사용한 샘플을 포함합니다.

\input{filename.css}

Ultaedit는 작동하지만 많은 설정을해야합니다.

XEMACS를 사용하는 경우 MMMMode에서 구문 하이라이트를 사용할 수 있습니다. 나는 첫 번째 사람이 대답 할 때 STATWEAVE와 함께 ESS를 사용합니다. 그러나 SAS를 사용하지는 않지만 같은 파일에서 STATA와 R을 사용했으며 둘 다 자체 구문 강조 표시로 작동합니다. ( 'mmm-mode 필요) ('mmm-vars 필요) (setq mmm-global-mode '아마도) (setq mmm-submode-decoration level 1)

(mmm-add-group 'latex-stats'((r-tag : submode r-mode : face mmm-code-submode-face : delimiter-mode nil : front "begin {rcode}": back "end {rcode} ": 백 오프셋 (Backward-Char -1) : insert ((? r r-tag nil @" begin {rcode} " @" n "_" n " @" end {rcode} " @) )) (sta-tag : submode sta-mode : face mmm-code-submode-face : delimiter-mode nil : front "begin {statacode}": back "end {statacode}": 백 오프셋 (Backward-char- 1) : 삽입

(Add-to-list 'mmm-mode-ext-classes-alist'(nil "-swv.tex"latex-stats)))

당신은 단지 sas-mode로 바꿔야합니다 (그것이 그것이 불리는 것이면), 나는 내 라텍스 파일 (init.el에 lambda와 함께로드)에 있습니다 (local-set-key [(local-set-key. 제어 F1)
'(lambda () (Interactive) (if (string-match " .tex"buffer-file-name) (progn (let (file-name file-name1 file-name-wihoutswv) (setq file-name (buffer- file-name)) (setq file-name1 (file-name-nondirectory file-name)) (setq file-name-wihoutswv (replace-regexp-in-string "-swv" ""file-name1)) (setq 파일 -name-wihoutswv (replace-regexp-in-string " .tex" ""file-name-wihoutswv)) (if (string-match "-swv .tex"buffer-file-name) (find-file- 기타 창자 (파일-이름-위 Hihoutswv ".tex")) (find-file-orther-window (file-file-name-wihoutswv "-swv.tex"))))) ( "당신은"당신이 라텍스에 있습니다. 모드 및 이것은 SWV 나 TEX 파일이 아닙니다. 해당 TEX 또는 스웨브 파일을 열 수 없습니다 "))))

그리고

(글로벌 세트 키 [F1
'(lambda () (Interactive) (save-buffer) (if (string-match "-swv .tex"buffer-file-name) (progn (interactive) (Latex-Mode) ;; (font-lock fontify -Buffer) (Balance-Windows) (Mylatex-Delete-Indent) (Save-Buffer) (Save-Window-Excursion (Run-Current-Statweave-File)); (Mylatex-Clean)) (if (String-Match) " .tex "버퍼 파일 이름) (Progn (대화식) (라텍스 모드); (Font-Lock-Fontify-Buffer) (Balance-Windows) (DO-PDF); (MyLatex-Clean)) (메시지 메시지" 이것은 Tex 나 SWV 파일이 아니며 버퍼를 파일에 저장하는 것 외에 무엇을 해야할지 모르겠습니다. "))))))))).

)

(defun run-current-statweave-file () "-swv.tex 파일에서 statweave를 실행하고 출력을보기 위해 evine evine"(interactive) (let (file-name file-name1 file-name-wihoutswv cmd1-str cmd2- str status) (setq file-name (buffer-file-name)) (setq file-name1 (file-name-nondirectory file-name)) (setq file-name-wihoutswv (replace-regexp-in-string”-swv .tex "".pdf "file-name1)) ;; (setq cmd1-str (concat"statweave "file-name1"&& evince "file-name-wihoutswv"& ") (setq cmd1-str (concat”) STATWEAVE "FILE-NAME1)) (SETQ CMD2-STR (CONCAT"PILE-NAME-WIHOUTSWV "및") ;; (SHELL-COMMAND CMD1-STR) (SETQ OUTPUT-BUFFER ")SWVOUTPUT") (Save-Window-Excursion (SETQ 상태 (SHELL-COMMAND CMD1-STR OUTPUT-BUFFER)) ;; (메시지 상태) ;; (let (status) ((쉘-커맨드 CMD1-STR Output-Buffer)) ))))

그것은 끔찍해 보이고 나는 LISP 전문가가 아니기 때문에 비효율적 인 비효율이 있다고 확신하지만 작동합니다.

Sweave와 비슷하게 작동하지만 라텍스에서 완전히 구현되는 새로운 통계 라텍스 클래스를 사용해 볼 수 있습니다.

워크 플로 :한 번 실행하고 SAS 코드를 가져 와서 SAS에서 해당 코드를 실행하고 Latex를 다시 실행하고 출력을 포함하십시오.

내가 옳은 것을 기억한다면 코드 (sasnrdisplay 클래스 사용)를 색칠한다고 생각합니다.

여기에서 논문을 참조하십시오. http://support.sas.com/resources/papers/proceedings12/324-2012.pdf패키지 문서의 CTAN http://mirror.switch.ch/ftp/mirror/tex/macros/latex/contrib/statrep/statrep/statrep.pdf

Dicuss Jean의 답변 : ESS와 항상 겪었던 문제는 Windows (SAS를 실행하는 곳)에서 기능이 충분하지 않다는 것입니다.

결과적으로 STATWEAVE는 전혀 유용하지 않았습니다.

요즘 SAS Linux 버전이 있으므로 더 잘 작동 할 수 있다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top