セマンティックマークアップ:LaTeX、DocBook、???

私は記事にコメントを書き、私はそれを別の投稿に入れなければならないことに気付きました。

たくさんの記事のコメントがひどいので、その人はヒープ内のすべてを理解して混合していないので、さまざまなマークアップを使用して得られた結論を共有しようとします。



便利な形式のトピックは常に私に興味を持っているとすぐに言わなければなりませんが、連絡を取るのに十分な時間がありませんでした。作業が必要な場合がありました。他の言語に翻訳する際の不便さを含める機会があればそれは必要ありませんが、LaTeXにすべてを翻訳しようとしてもサポートが得られず、すべてが消滅しました。



そして、ある日、仕事を辞めて、グラフォマニズムにふける時がやってきました。 よく知られた興味深い形式としてLaTeXを頭に入れていましたが、簡単な記事ではMarkdownを使い始めました。 GitHub / GitLabでサポートされていたので、その機能を少し入手し、 AsciiDocに切り替えましたが、サポートもされましたが、その機能が不足し、LaTeXに切り替える必要がありました。



LaTeXは次のように優れています。



  1. よくあることですが、ほとんどの問題は簡単に解決できます。検索によりスタックオーバーフローが発生し 、ほとんどすべてが機能し始めます。
  2. コンテンツとデザインを分離しようとするのは素晴らしいことです。ITで最も優れた最も普遍的なパターンの1つです(まだMVCを使用していますが、多くはSPAに切り替えています。これがなぜ良いのかを説明する必要はないと思います)。
  3. LaTeXは読みやすく、人がタイプするのに非常に適しています。
  4. LaTeXはgitでの作業に最適です。


残念ながら、LaTeXも完璧ではありません。はい-良いPDFを入手できますが、



  1. LaTeXは実際にはコンテンツとデザインを分離していないため、この方法で試してみる必要がありますが、とにかく、些細な例よりも複雑なことをすると、デザインのアーティファクトがコンテンツに漏れてしまいます。
  2. LaTeXは、疑似セマンティックマークアップである可能性が高くなります-人には理解できますが、コンバーターは特定のタグの背後にあるセマンティクスを知りません(標準はありません)。 そのため、しばらくの間plastexで管理した変換は非常に貧弱でしたが、LaTeXのもう少しの機能を使用するとすぐに完全に壊れましたが、それ以前は完全ではありませんでした。
  3. 標準がないという別の問題は、パッケージの不整合です。リストのパッケージの1つが1つの機能のソリューションを持っているが、別の機能のソリューションがなく、2番目のパッケージが1つの環境を決定するために競合している場合がありました。
  4. 読みやすさは優れていますが、改善すべき点がたくさんあります。もちろん、マークダウンマークアップは人間により適しています。


LaTeXからの変換がついに壊れたとき、素晴らしいDocBookに頼らざるを得ませんでした。これは、いくつかの形式に変換するための既製のXSLTがあるテキストのセマンティックマークアップのXML標準です。 しかし、彼には問題もあります。



  1. Docbookは「秘密」のテクノロジーです-情報はほとんどなく(情報についてロシア語も話せません)、最小限の例を作成する方法を理解することは非常に困難です。さらに、いくつかの非標準の問題を解決することもできます( 便利なリンクが必要な場合)。
  2. これはXMLです。 編集はもちろんのこと、人はこれを見るべきではないと思います。 もちろん、GUIを介しても可能ですが、すべての可能性を持ち、GUIに執着することはありません。
  3. xmlをgitに入れることはできますが、デフォルトのdiffはあまり読めません。xmldiffを表示するための特別なユーティリティをねじ込むことができますが、一度試してみても、これを行う必要がありますが、どれだけうまくいったかは覚えていません。 これはローカルで構成されており、複製後に構成を繰り返す必要があることを正確に覚えています。
  4. デフォルトではPDFは見た目があまりよくありません。理論的にはカスタマイズできますが、ポイント1のためにしたくない
  5. これは標準であり、長い間開発されてきた標準であるという事実にも関わらず、そこには欠陥もあります。たとえば、参考文献ではソースurlのタグが提供されないことがあります。


docbookの大きなプラスはセマンティックマークアップです。これは、さまざまな形式に変換する必要がある場合に特に重要です。読者に快適にしたいので、それらに適した形式で提供する必要があります。 Amazonの読者、誰かfb2(これはただの問題です-独自のxsltを作成する必要があり、準備ができていません)、オンラインで読むには複数ページのhtmlバージョンが必要です。



セマンティックマークアップは「オープンソース」エディタを持つことを禁止しないことを誰もが理解していると思うので、これはセマンティックマークアップに対する議論にはなり得ません。 確かに、私はLinuxの下で一見したところ、guesの問題を徹底的に調査しませんでした。オプションがありますが、何とかしてdocbookのguiですべてがあまり良くありません。



人類は通常の解決策を発明しなかったことがわかり 、興味深い試みがあります-DocOnceですが、すべての可能性があるわけではありませんが、理論的にはドックのすべての機能が必要です。つまり 通常のパーサーはありません。つまり、多くのバグがあります。



その結果、LaTeXマークアップを "最終化"(空のタグを追加)して、単純な正規表現でドックブックに変換し、PDF以外のすべての形式を作成できるようにしました。 pdfは、ラテックスからすぐに作成する方が簡単で美しいです。



すなわち 私はLaTeXとDocBookの利点を組み合わせて松葉杖を作りました-私はxmlよりも人間的なレイアウトを持っています(そして良いpdfを与えます)が、同時にそれは簡単にdocbookにマップして多くの形式への高品質の変換という形でその利点を得ます。

もちろん、これを優れたソリューションと呼ぶことは困難ですが、私はベストを思いつきませんでした。



適切な解決策は、DocOnceのような人間が読めるマークアップを作成することですが、DocBook機能の完全なセット(このマークアップからdocbook、および他の形式に変換できます)を使用しますが、私が既に望んでいたもの-ライブラリを選択する必要がありましたBNFのような表記法で構文を説明しますが、このタスクは私と一緒には行きませんでした。



これは少なくとも、さらに先へ進むことができます-plantumlのようなものなど、セマンティックマークアップの標準に追加できる情報はまだ多くあります。また、式を描くだけでなく、置換結果を計算することもできます。 。



まあ、どうやらあなたは美しいGUIエディタを必要としています。これは一部のユーザーに問題を引き起こすからです。



All Articles