組版ユニット用のさまざまなパッケージと、それらの相対的な長所と短所に関する投稿をたくさん見てきました。ほとんどの投稿では、siunitx
パッケージが最新のパッケージであることに同意しているようですが、パッケージを使用する利点はまったくわかりません。次のように書くことの利点は何でしょうか。
\SI{10}{\kilo\gram\meter\per\second\squared}
次のように書くこともできます:
kg m s$^-2$
数字の場合、
\num{10}
そして
10
答え1
私はこの質問に「そうだ!なぜ?」と考えていましたが、現在存在するコメントと回答を読んで、私の考えは変わり、今では別の方向に傾いています。このパッケージについて考え、私がこのパッケージと少しやり取りしたことについて考えてみると、このパッケージはほぼ同じサービスを提供していることがわかりました。内でLaTeX は、LaTeX (または TeX 自体) が全体としての書き込みに提供するものです。この点を理解するには、コンピューターを介して書き込みで数学を伝達する場合の代替案を検討してください。
いわば音声的に書きます。単語はもちろん単語ですが、ギリシャ文字は綴られたり、アドホックな ASCII アートで描かれたり、より複雑な数式は文脈から明らかになるかどうかわからない不特定の方法で組み合わされます。
TeX で記述すると、ギリシャ文字がマクロで綴られ、より複雑な数式がおそらくひどい方法でハッキングされ、その結果がドキュメントに「コンパイル」されて、すべてが思い描いたとおりに見えるようになります。そのため、ソースが思ったよりも少し概略的であったとしても、害はありません。
このsiunitx
パッケージはまさにこれを行いますが、数式ではなく SI スタイルの単位を使用します。もちろん、通常そのような単位で表示される同じ記号をkg
またはs$^{-1}$
として記述することもできますが、単位が数式モードで表示されるかどうか (後者にどのような影響を与えるか想像してみてください!) によって、または複数の単位が一緒に詰め込まれたり、(egreg の非常に有効な観察) 線で区切られたりして、見た目が非常に悪くなる可能性があります。その後、ヘルツの単位として の代わりに を使用s$^{-1}$
することに決め/s
、表記法を全体的に変更する必要が生じる可能性があります。
\kilogram
これらはすべて、好みのスタイルなどを含むマクロを定義することで TeX で処理される種類の問題です\hertz
。 は、siunitx
これらのマクロとそれらの相互関係を定義するプロジェクト全体を整理し、その上に多くの美的オプションを提供します。
基本的に、それは「そもそもなぜ文書をプログラムしたいと思うのか?」ということになりますが、その答えは「その方が構造化された文書を書くのが簡単だから」です。
答え2
実際の逸話の形で答えさせてください。
私が化学の博士論文を書いていたとき、各章は査読付きジャーナルに掲載されているか、またはすぐに投稿される予定でした。各章は数年にわたって異なる時期に書かれ、もちろん各ジャーナルには、数値と単位の間にスペースを入れるべきか、逆単位を分数で表すべきか指数で表すべきかなど、独自の基準がありました。それに加えて、単位をタイプするときに、スペースを入れることもあれば入れないこともあったので、これに気づくまで何度も校正することになりsiunit
、 に行き着き、次に にたどり着きましたsiunitx
。
単位をマクロにすることで、心配する必要のある書式設定の問題が 1 つ減り、章の本文を取り出したときには、ジャーナルのスタイル パッケージと正しいsiunitx
パラメーターを使用して新しいヘッダーを書くだけで済みました (または、ジャーナルがサポートしていない場合は、マクロを序文にハードコードする)。すると、すべての単位と数値が自動的に正しく書式設定されました。その後、論文にそれらを挿入する必要が生じたときは、テキスト\input{}
の本文に\chapter{}
タグを付けて挿入するだけで、すべての章が大学の論文の標準に合わせて、何の手間も煩わしさもなく書式設定されました。一方、Word で作業していた友人たちは、何週間も、時には何時間もかけて、ヶ月すべてを一貫させるために、フォーマットの変更と校正だけをしました (そのほとんどは、まったく気にしていなかった方程式、図、参照番号付けに費やされました)。
実際、マクロ定義を記述したファイルは、章とほぼ同じ長さになりました。数学記号 (上付き文字、下付き文字、太字など) を使用するたびに、説明的な名前のマクロを作成したためです。こうすることで、校正が簡単になるだけでなく、何らかの理由で記号や変数を変更する必要がある場合でも、一度変更するだけで済みます。単位についても同じです。すべてがマクロであれば、何かを変更する必要がある場合でも、一度変更するだけで、心配することなくドキュメント全体に反映されます。
答え3
TeX
、、およびその他すべてのコンポーネントと同様にLaTeX
、コンテンツとフォームを分離することが目的です。
変更は前文で全体的に指定し、ドキュメント内の細かい点については気にしないようにします。
類似の質問:
答え4
パッケージを使用する利点は、数値と単位を一貫した表記方法で設定できることです。数値と単位の間にスペース ( ) が必要な場合もあれば\,
、そうでない場合もあります。パッケージsiunitx
はこれを認識し、自動的に適切な処理を実行します。