6

私はnowebを使用してC++およびCコードを文書化しています。pdfファイル(pdflatexを織り、使用した後に生成された)では、コードの一部がわずかにずれています。

  • >>そして<<、適切な開閉ギユメに変わります。
  • --nダッシュに変わります。

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

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

編集:だから私はおそらくprettyprinterを使用する必要があります。利用可能なものはあまりにも多くのことをします。私はそれを調べ、簡単な解決策を見つけたらそれを共有します。

4

1 に答える 1

1

noweavesedスクリプト、weavingコマンドとして実装するためのフィルターは次のとおりです。

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

そしてc2nwtexはこれです:

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

これは、C、デクリメント、およびシフト演算子で機能することに注意してください。C ++ 11では、間にスペースを入れずに角度ブラケットを閉じるテンプレート宣言が可能になりました。2つより長い>>シーケンスを分割するには、substituteコマンドを2回実行する必要があります。>

于 2012-12-07T18:48:11.077 に答える