2012-11-24 13 views
6

私のC++コードとCコードを文書化するためにnowebを使用しています。 PDFファイル内のコードの一部がわずかに外れている(製織とにpdflatexを使用した後に生成された):nowebとLaTeXを使用したCコードまたはC++コードの文書化

    >>
  • 、適切な開閉ギルメットに<<ターン。
  • --は、nダッシュに変わります。

マイ織りコマンドは次のとおりです。

noweave -latex -delay -x foo.nw > foo.tex 

編集:私はおそらく、もしPrettyPrinterを使用する必要があります。利用可能なものはあまりにも多くのことを行います。私はそれに目を通し、もし私がそれを分かち合うことになるならば、私はまっすぐな解決策を見つけるでしょう。

+4

+1。 –

答えて

1

sedスクリプトとして実装noweave用フィルタ、コマンドを織ることである:それはC、デクリメントとシフト演算のために働くこと

#!/bin/sed -f 
/^@begin code/ , /^@end code/ { 
/^@text/ { 
s/--/-\ 
@literal {}\ 
@text -/g 
s/>>/>\ 
@literal {}\ 
@text >/g 
s/<</<\ 
@literal {}\ 
@text </g 
} 
} 

noweave -x -delay -latex -filter c2nwtex foo.nw > foo.tex 

そしてc2nwtexはこれです。 C++ 11では、テンプレート宣言の間にスペースを入れずに、角括弧をつけて宣言できます。 2つ以上の>のシーケンスを分割するには、>>でsubstituteコマンドを2回実行する必要があります。

関連する問題