web-dev-qa-db-ja.com

LaTeX対DocBook

LaTeX、基本的な書式設定、基本的な数学の数式などについてはほとんど知識がありません。LaTeXを自分の好みに合わせて構成するのは難しいことがわかりました。最近、植字メカニズムでもあるDocbookについて聞いたことがありますが、XMLを使用しているため、ずっと簡単です。したがって、LaTeX/Docbookを使用する私の主な仕事が、いくつかの数学を使用した単純なドキュメント(クラスブックではない)を書くことであり、簡単な構成と高度に構成可能なアプリケーションが必要な場合、Docbookに優れた本があります。 ?

47
Pwn

ええと、私はDocBookを使用していませんが、ウィキペディアとグーグルをざっと見て:

  1. DocBookには数学を説明する要素がありません。
  2. DocBookはXMLです。私にとって、それは手書きで(または、基本的なテキストエディターで)書くのは恐ろしいことです。たぶん、XMLを楽しんでいるか、優れたIDEを持っているでしょう。 この質問 を見ることができると思います。

DocBookの Wikipediaページ には、参考にしたい本がいくつかリストされていますが、それらが「良い」本であるかどうかは明らかにできません。

LaTeXを使用することをお勧めします。誰かに基本的なテンプレートを渡してもらい、LaTeXを書くのは次のように簡単です:

\section{Introduction}

This is my introduction.

\section{Stuff}

Here is some stuff.

\subsection{Particular stuff}

A particular type of stuff.  With maths:

$\int_{x=1}^n 3x^2$

% etc.

Googleは、次のような基本的なテンプレートを見つけるのに役立ちます。

ソースコードからドキュメントに移動するには、LaTeXの作業用インストールが必要です(これはこの回答の範囲外ですが、Linuxを使用している場合は非常に簡単です)。理想的には、LaTeXインストールにpdflatexが含まれます。次に、単に実行します:

pdflatex source.tex

(参考文献がある場合はもう少し作業が必要ですが、それは別の質問のトピックです)

34
John Fouhy

DocBookは「組版メカニズム」ではありません。 DocBookは、プレゼンテーションをコンテンツから分離するためのものです。 DocBookはコンテンツのみを扱います。本や記事などの抽象的な表現を作成するために使用されます。事前定義されたテンプレートに従って、DocBookのレイアウトが 多数のツール があります。 これらのツールの一部はLaTeXを使用しています 。私の知る限り、O'Reillyはわずかに変更されたバージョンのDocBook言語を使用してコンテンツを作成し、Adobe FrameMakerと統合するカスタムスクリプトにこのXMLをフィードして、書籍をレイアウトします。

LaTeXは本質的にプレゼンテーションをTeX内のコンテンツから分離する試みですが、IMOの目標を達成することはできません。ほとんどの場合、プレゼンテーションはまだコンテンツと混合されています。 LaTeXは現在、ページ分割されたドキュメントをレイアウトするための最良のオープンソースツールだと思います。ただし、InDesignのような独自のツールには、TeXにはない(XeTeXkind ofの追加goodOpenTypeサポートなど)の多くの機能があります。 OpenTypeサポート)。どちらにしても、本を書いている場合、LaTeXではなくDocBookを使用してコンテンツを作成することを強くお勧めします。

とはいえ、ちょっとした数学を使って、短くて1回限りのドキュメントを書いているようです。おそらくLaTeXが最良の選択だと思います。カスタマイズ性のロットが必要な場合は、LaTeXではなく Plain TeX を使用する必要があるかもしれませんが、かなりの作業が必要になります。部。

36
splicer

DocBookの優れた点は、XMLベースであることです。つまり、章は完全なサブツリー、セクションは完全なサブツリーなどです。LaTeXでは、分離は、線形スキャン中のドキュメントの構造によってのみ決定されます。

Docbookの最悪の点は、それがXMLベースであることです。低レベルのものは非常にダーティであり、手動でコーディングするのは面倒です。

28
Uri

私はDocBookにはあまり詳しくありませんが、LaTeXをかなり広範囲に使用しています。 LaTeXの考え方はnotであり、カスタマイズされたドキュメントを生成することであり、読みやすく魅力的なドキュメントを生成することです。これはTeXに関するライブラリ、テンプレート、マクロなどのセットであり、ドキュメントのデザインに関して何をしているのかを知っている人々によってセットアップされています。もちろん、あなたは彼らが予測できない特別なニーズを持っているので、あなたもいくつかの微調整をしなければならないでしょう。これは非常に高レベルの宣言型言語であり、ドキュメントの内容や構造を反映することを目的としています。見た目が適切であるというよりは、アイデアとそれらの編成方法が、あなたが関心を持つべきものであること、ページ上のテキストのレイアウトではありません。より多くの制御が必要な場合は、追加のスタイルやマクロなど(CTAN)の巨大なライブラリがあり、それらのいくつか(回想録が思い浮かびます)はその制御の多くを取り戻します。

LaTeXドキュメントの多くの複雑な書式設定要素本文の中にを表示している場合、それは間違っています。あなたがする必要があるのは、コンテンツをそこに入れ、ドキュメントを章とセクションとサブセクションに意味的に構造化し、そして戻ってフォーマットについて心配することです。この時点では、ドキュメントの本文にそれほど深く入り込む必要はありません。それはすべて、できれば再利用可能な方法で、ドキュメント全体に適用される一般的なものでなければなりません。これは一貫性を保証します。

15
Adam Jaskiewicz

はい、LaTeXは、希望する種類のレイアウトを正確に作成するように構成するのが難しいのです。 LaTeXクラスmemoir のマニュアルを見て、どのようなレイアウトで作成できるかを確認することをお勧めします。

DocBookに本があります オンラインで利用可能 。それも見て、どのようなレイアウトを作成できるか、そしてDocBookで必要な数学コンテンツを簡単にフォーマットできるかどうかを確認してください。

自明ではない数学を書く必要がある場合は、LaTeXを使用することをお勧めしますが、もちろん、どの形式で作業しやすいかによって異なります。

9

2年ほど前、私はDocBookを気に入って使用しようとしました。しかし、少なくともその時点で、LaTeXはより高品質の出力(PDF)を生成したため、LaTeXに戻りました。 DocBookをLaTeXにPDF翻訳を機能させることはできませんでした。私の問題はおそらく「オペレーターエラー」でしたが、1つを選択する前に、いくつかの単純なドキュメントに対してDocBook(およびLaTeX)を試すことをお勧めします。

LaTeXを選択するようになったいくつかのポイントを次に示します。

  • JabREF をGUIとして使用した参考文献のBibTeX
  • 優れた品質PDF出力
  • 私の好みのフォーマットに似たものを含む、インターネット上のたくさんの例
  • "A Guide to LaTeX" のような良い本

GUIが好きなら、 LyX を見てください。

8
Peter Neubauer

私はこれを好みと慣れの問題だと思うので、「より簡単な」またはより良いルートをたどりたくありません。私はdocbookがXMLであることを利点と考えています。そのため、XSLTを使用することで、好きなように変形できます。自己完結型と組み合わせると、Latexが行うコンテンツの構造化のように感じられます。特に、オープンソースソフトウェアのドキュメント化Docbookは本当に広く使用されています。のテンプレートやスタイルシートを簡単に取得できます。 HibernateやSpring、Tweakを必要に応じて調整します。

私が注目したいもう一つの側面は、ビルドシステムへの統合です。 Mavenには、利用可能なdocbkxと呼ばれるプラグインがあり、PDFやHTMLなど、コンテンツと適切なXSLTに基づいて好きなものを出力します。それ以上のインストールは必要ありません。 Latexでこれを実現するために私が見た唯一の方法は、ビルドOSにいくつかのパッケージをインストールし、emの周りに独自のスクリプトをビルドすることです。特にクロスプラットフォームを構築する場合は、これは現実的な方法ではありません。

エディターに関して、私は助言することができます XMLmind XMLEditor これは多くの苦痛を伴い、docbookに非常に素晴らしいWYSIWYGアプローチを提供します。

数式に依存している場合は、Docbookで利用できるのと同じ力を持つものは何もないので、ラテックスも選択します。

7
Oliver Drotbohm

DocBookを使用する本当の理由は、ドキュメントを有意義にマークアップし、それを検証し、発行だけでなく多くの目的で変換できるようにすることです。 LaTeXと他のマクロセットはセマンティックマークアップのレイヤーを追加しますが、TeXコードを導入したり、他のソースからマクロを追加したりすることはいつでも自由です。基本的に、TeXドキュメントはTeXプロセッサでのみ解析できるコンピュータプログラムです。

数学およびDocBookの場合:DocBookはXMLであるため、必要に応じて他のXMLテクノロジーを使用できます。この場合はMathMLです。すでに述べたXMLmind XMLEditorはGUI数学エディターを提供し、それらをWeb用にフォーマットしてDocBookコンテンツと共に印刷するためのスタイルシートを含みます。

XMLドキュメントを他の言語に翻訳できるツールもあります(xml2poは単純なものです http://heartsome.net/EN/home.html はスイート全体です)。

6
Jean Jordaan

専門的で科学的な文書(研究論文、本、技術ガイドなど)を作成しなければならなかった人なら誰でも、TeXがより良い選択である理由を知るでしょう。

いくつかの事実を知らない人のためにここに完璧な例があります:良い大学では、学生が他の人の作品を適切に参照しなかった場合、学生の作品は完全に拒否される可能性があります。コンピュータサイエンティストの間では、ハーバードスクールには独自のACM独自のACMがあり、数値(バンクーバー)表記が最も一般的です。多くの専門組織には独自のスタイルがあり、それに固執しています。私の知る限りでは、TeXはそれを認識している唯一の組版システムであり、BiBTeXの助けを借りて、著者にとって非常に強力ツールになります。作業時間を数日ではなくても節約できます。

私が小説家だったり、技術以外のドキュメントの著者だった場合は、DocBookを選択したかもしれません。

3
DejanLekic

FWIW私はxmlmind( http://xmlmind.com/ )を介してdocbookを使用して、htmlおよび.chmファイルを生成します。私はまた、PDFを生成するように設定しましたが、それらはきれいではありません。

Docbookのソースを取得したら、 xsltproc および docbook.xsl ファイルを使用してソースを調理します。これは設定するのに時間がかかり、苦痛ですが、いったん機能するようになれば、それはすばらしいことです。

別のアプローチは、マークダウンからDocBookに移動するために pandoc (拡張マークダウンタイプツール)を使用することです。これはxmlエディターを削除しますが、それでも出力形式に変換する必要があります。

2
mr calendar

あなたはConTeXtを見ましたか? LaTeXに比べて柔軟性が高く、設定がはるかに簡単です。

2
Curious2learn

ArbortextはネイティブLaTeXをサポートしています。パブリッシングエンジンを送信するか、composer LaTeXを印刷して送信することができます。また、他の多くの合成言語もサポートしています。

0
Liz Fraley