私はmarkdownとm4の組み合わせを使って、最初に与えられたフラグに応じて3つの異なるバージョンのドキュメントを生成しています。ゴールド、シルバー、ブロンズと呼ぼう。m4でエスケープするifdef文
私が遭遇した問題は、ifdef文内にカンマを含むセクションがあると、残りのセクションがfalseとみなされるということです。興味深いことに、サブサブセクションでは失敗しませんが、本文テキストでは失敗します。
私の現在の、醜い解決策は、sedにパイプすることができ、sedで置き換えることができる「ダミーのカンマ」を使用することです。
ifdef(`GOLDANDSILVER',dnl
## Here's a subsection header
### Subsubsection about thisREPLACE_ME_COMMA thatREPLACE_ME_COMMA and the other thing
Aren't examples fun? Here's some punctuationREPLACE_ME_COMMA failureREPLACE_ME_COMMA and misfortune.
)dnl
Iは、好ましくはM4のみ、クリーナーのために私は私のifdef文の本文に「」を持つことを可能にするソリューションを探しています。
私は試行錯誤によって学んだことを:
- m4は、カンマをエスケープしません[、]#
- で始まる行に任意のコンテンツや定義を無視しているようだ
- [[、]]カンマをエスケープしない
私の答えは見ましたか?それは動作しますか? – uzsolt
これは小規模に機能しますが、何らかの理由でドキュメント内にHTMLにコンパイルされなくなるものがあります。 今のところ、私はREPLACE_ME_COMMAに固執します。 – aepksbuck
あなたが複雑な例を提示した場合、私はそれを確認することができます。 – uzsolt