構文強調表示のための複数の言語と同じファイル:StatWeave/SAS/ラテックス

StackOverflow https://stackoverflow.com/questions/841831

質問

を使用していStatWeave走SAコード内からのラテックスファイルです。うで開くことができるファイルをテキストエディタ、メインラテックス文書のラテックスの構文強調表示や、その上で動く組み込みのSAコードのチャンク"とSASの構文強調表示.(コード"チャンク"はリアル(コードだけでなく、表示がないと思い、ラテックス物件のパッケージします。) 確かなりあうことのemacsがどうなるかはわからないのでは---ここで私は開会社の動きをタイムリーと編集者。

5月2010更新そして最善のアプローチは実際の停止を利用することにしたのだろうStatWeave、SASではなく、学習に使用Sweave R.嬉しいのSweaveイVimでは、がんその他の人に満足していると思うんでESS、私は見ていて気分が良いものを受け入れに答えいことがあります。

役に立ちましたか?

解決

EmacsのWikiに MultipleModes のページ上のソリューションの

おそらく1に役立ちます。また、はSweave のためのマニュアルは、<のhref = "HTTP語ります://ess.r-project.org/」のrel = 『nofollowをnoreferrer』> StatWeaveは似ているようだから、おそらくあなたにもそれらのファイルを処理するためにESSをハックできるようEmacsは、のははSweaveファイルを扱うことができる統計を語ります。 ESSは、すでにSASのサポートを持っているように思われるので、必要な変更は大きすぎるではないかもしれません。

他のヒント

コードに直接SASファイルを持っているが、使用しないオプション「\入力」だろう 代わりに?私は頻繁にソースの例でやることの一つは、にあります サブディレクトリのサンプルに入れて/し、メインファイルに含めることができますLaTeXのファイルを作成するには、「ハイライト」を使用。そうすれば、私は、彼らが正常に動作しているかどうかを確認するために変更されたソースファイルを毎回実行することができます。それは大きなプロジェクトであればテックスコードの(再)世代は、シェルスクリプトまたはメイクから行うことができます。ほとんどの場合、単純な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/

Webプロジェクトのために。メインTEXファイルに次に用いた試料を含む

\input{filename.css}

UltaEditはうまくいくかもしれないが、あなたは、セットアップの多くを行う必要があります。

あなたがXEmacsのを使用している場合は、

あなたはシンタックスハイライトにmmmmodeを使用することができます。あなたはハイライトをsybntaxと仕事をするためにstatweaveを使用するESSを使用していない理由は、最初の人が答えるように私はstatweaveでESSを使用しています。しかし私は、SASを使用しませんが、同じファイルにSTATAとRを使用し、それらの両方は、独自の構文の強調表示で作業しています。  (「MMM-モードを必要とします) (「MMM-VARSが必要です)  (多分setqのMMM-グローバル・モード」) (setqのMMM-サブモードの装飾レベル1)

(MMM-するadd-group   「ラテックス統計   「((Rタグ      :サブモードRモード      :顔MMMコード・サブモード、顔      :区切り文字モード・ゼロ      フロント「開始{RCODE}」      :バック "エンド{RCODE}"      :バックオフセット(後方チャー-1)      : "{RCODEを}開始\" @ゼロ((RのRタグを挿入します     @ "\ n" _ "\ n" @ "\端{RCODE}" @))      )     (STA-タグ      :サブモードSTA-モード      :顔MMMコード・サブモード、顔      :区切り文字モード・ゼロ      フロント「開始{Statacode}」      :バック "エンド{Statacode}"      :バックオフセット(後方チャー-1)      :?((S STATAタグのnil @を挿入し、 "\ {Statacode}を始めます"     @ "\ n" _ "\ n" @ "\端{Statacode}" @))      )))

(アドオンに-list「のMMM-モード-EXT-クラス - 連想リスト        「(nilの "-swv.tex" ラテックス統計))

(それはそれが呼ばれているものであれば、私は思う)

あなただけのSAS-モードに変更する必要があります そして私は(init.elでラムダを搭載した)私のlatex.elファイルに次のように持っています (ローカル・セット・キー  [   (コントロールF1)]
 「(ラムダ()     (対話方式)     (IF(文字列マッチ「\ .tex」バッファファイル名)  (prognの     ()(ファイル名のファイル名1ファイル名wihoutswvてみましょう       (setqのファイル名(バッファファイル名))       (setqのファイル名1(ファイル名ディレクトリ以外のファイル名))       (setqのファイル名wihoutswv(置き換える-regexpにイン文字列 "-swv" ""       ファイル名1))       (setqのファイル名wihoutswv(置き換える-regexpにイン文字列 "\ .tex" ""       ファイル名wihoutswv))       (場合(文字列の一致「-swv \ .tex」バッファファイル名)    する(find-file-other-ウィンドウ(連結ファイル名wihoutswv ".texを"))  する(find-file-other-ウィンドウ(連結ファイル名wihoutswv "-swv.texを"))  )       )     )       (メッセージ「あなたはラテックスモードであり、これはどちらもSWVもTeXのファイルである。対応テックスかはSweaveファイルを開くことができません」)  )))

(グローバル・セットキー[F1]
  「(ラムダ()      (対話方式)      (セーブ・バッファ)      (場合(文字列の一致「-swv \ .tex」バッファファイル名)   (prognの     (対話方式)     (ラテックスモード)     ;;(フォントロックフォント表示化バッファ)     (バランスの窓)     (mylatex-削除インデント)     (セーブ・バッファ)     (セーブ・ウィンドウ・遠足を(実行電流statweave-ファイル)) ; (mylatexクリーン)     )        (IF(文字列マッチ「\ .tex」バッファファイル名)     (prognの       (対話方式)       (ラテックスモード)       (フォントロックフォント表示化バッファ)       (バランスの窓)       (DO-pdf)を  ; (mylatexクリーン)       )   (メッセージ「これはTeXのもSWVファイルのいずれかではないと私はバッファをファイルに保存する以外に何をするか分からない。だから私はやりました」)   ))      )

(defunを実行する電流statweaveファイルを()   「出力を表示するために示す-swv.texファイルにstatweaveを実行し、起動します」   (対話方式)   (みましょう(ファイル名、ファイル名1ファイル名wihoutswv CMD1-STR CMD2-STR状態)   (setqのファイル名(バッファファイル名))   (setqのファイル名1(ファイル名ディレクトリ以外のファイル名))   (setqのファイル名wihoutswv(置き換える-regexpにイン文字列 "-swv \ .tex" ".PDF" ファイル名1)) ;; (setqのCMD1-STR(CONCAT "statweave" ファイル名1 "&&示す" ファイル名wihoutswv "&"))   (setqのCMD1-STR(CONCAT "statweave" ファイル名1))   (setqのCMD2-STR(連結 "示す" ファイル名wihoutswv "&")) ;; (シェルコマンドCMD1-STR)   (setqの出力バッファ "のswvoutput の")   (保存ウィンドウエクスカーション(setqの状態(シェルコマンドCMD1-STR出力バッファ)))   ;;(メッセージステータス) ;; (LET(ステータス)((シェルコマンドCMD1-STR出力バッファ))))) ))

これはひどい見て、私はそれが非効率性をたくさん持っているが、それは動作します確信しているので、私はlispの専門家ではないです。

きみのStatReport LateXクラスの作品に似ていSweaveが実施すべて不可欠です。

ワークフロー: 実行回のSAコードでは、施設まで格安料金プランをコードにSAS、ラテックスす。出力に含まれます。

だと思ってい色のコードを使用してSASnRdisplayクラスの場合は覚えています。

見紙はこちら http://support.sas.com/resources/papers/proceedings12/324-2012.pdf や古いパッケージの文書 http://mirror.switch.ch/ftp/mirror/tex/macros/latex/contrib/statrep/statrep.pdf

ジーンズの応答をdicussするには: 私はいつもESSを持っていた問題は十分ではありません機能が(私はSASを実行する)は、Windowsでサポートされていることです。

この結果Statweaveは全く私には有用ではなかった。

これらの日は、SASのLinux版はので、私はそれがより良い仕事ができるが想像されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top