1. はまの雑声
  2. Ep.7 文書を作る時にはLaTeXを..
2024-09-17 15:41

Ep.7 文書を作る時にはLaTeXを使っているよという話

LaTeXというへんな文書作成(組版)ソフトについて、しゃべりました。

Summary

LaTeXは、文書作成に非常に効果的な組版システムです。特に数学や科学分野での利用が一般的です。このエピソードでは、普通の文書作成ソフトとの違いや使い方が詳しく説明されています。また、文書作成におけるLaTeXの利点や機能について、テキストファイルの特性やプログラムとの関連性に焦点を当て、辞書の作成プロセスの例が挙げられています。

文書作成の一般的な方法
こんにちは。はまの雑声第7回ですね。今日は、2024年9月16日月曜日、経路の日のお休みです。
10日ぐらい空いちゃったんですが、まあ、空いても続けていくのが大事かなと思っているので、細々と続けていきたいと思います。
でですね、今日は、パソコンで文書を作る時にどんなソフトを使っているかというような話をしたいと思います。
普通っていうか、皆さんはどんなものを使っているでしょうかね。
メジャーなところで言うと、やっぱりワード、マイクロソフトのワード、それからMacなら無料で付いているのでPagesというのもありますよね。
そういうので作るのが普通なのかなと思いますね。
で、私もですね、例えば人に何か贈る、何でもいいんですけど、何か贈り状、書類の贈り状とか何か作る時は、そういう簡単なものですね。
1枚ものの、そういう時は、私Mac使っているのでPagesを使っていますね。便利ですよね。
例えば、何か文章を書いていて、グリッとやるとフォントがポンと大きくなったり、中央要請にパッとしてくれたりですね。
まあ簡単ですよね。
こういうですね、ワードとかPagesとかっていうのをWithWigのなソフト、WithWigなソフトっていうのかな、なんていうのかな、WithWigな文章ソフトっていう風に言うんですね。
WithWigとは何かというとですね、What you see is what you getの最初の頭文字、What you see is what you getなのでこれ7個単語ありますよね。
その7個の単語の頭文字を取ったもので、日本語に訳すと結局、見たものが得るもの、手に入れられるものですよってことですね。
それも言った通りでですね、ワードとかPagesっていうのは、例えばここを大きくしたいって言ったら大きく、画面上でも大きくなりますよね。
中央揃いにしたいって言ったら中央揃いに画面上でもなると。
だいたいこういう風にレイアウトして、じゃあこれを印刷しようって言って印刷すれば、だいたいその通りのものが紙として印刷されて出てくると。
そういうシステムですよね。
LaTeXの概要と歴史
ただですね、そうではないシステムもあるんですね。
これがですね、今私が使ってるんですけれども、私今じゃないんですね、昔から使ってるんですけれども、
LATEXというシステムがあります。
ソフトをですね、タイトルにも書きましたけど、LATEXと書くんですね。
英語的には多分レイテックスとかそんな風に発音するんだと思うんですけれども、
私はラテフと呼んでいます。
日本では結構一般的な呼び方だと思います。
どういう読み方がいいかっていうのは、誰かがこう言ってたとか、作者はこう言ってるんだとか色々ややこしい話があるようなんですけれども、
ラテフでいきたいと思います。
これはですね、単なる文章を作るっていうよりは、組版システムっていう風に言われるんですね。
つまり組版っていうのは、本を作る時に本のレイアウトをしっかり決めるためのソフト。
ソフトというかシステムなので、印刷物を作り上げるためのソフトということですよね。
でですね、ちょっと歴史の話なんかしとくと、もともとテフ、TEXですね。
ラテフっていうのはLATXで書きましたけど、後ろの部分のテフのところ、TEXですね。
このソフトをですね、ドナルド・クヌース先生っていう有名な数学者の方が作られたんですね。
1978年って言いますから、もう50年近く前ですかね。
でですね、クヌース先生が本を出したり、数学者だから数式の入った本を出したりとなった時に、
どうも今までのシステムは気に入らないと、数式が綺麗に出ないと。
ということで自分で作っちゃったっていう、まあ天才なんでしょうね。
そういう方なんですね。
で、その綺麗に出せないっていうのの一つにはですね、文字のフォントですね。文字のフォントが気にならない、気に入らないということで、
それでフォントを扱うようなシステム、作り上げるようなシステムまで作っちゃったっていう、まあすごいですよね。
プログラム作るっていうこともすごいですし、その美しい文章に対する執念っていうのもすごいですよね。
ただですね、このTEXっていうシステムはですね、それだけだとちょっと使いにくいんですよね。
まあ難しいんですよね、使いこなすのが。
で、このTEXにはですね、マクロっていう機能があったんですね。
マクロっていうのは結局その、TEXの中にいろんな命令があるんですけど、その命令をまとめて一つの命令にするっていう機能ですよね。
そういう機能があったので、じゃあうまくマクロをまとめて一般の人にも使いやすくしようと。
ていうことで、1984年にそのTEXの上にそのマクロ集としてできたのがラテフなんですね。
LaTeXを使った文書作成の実際
で、じゃあこういうラテフっていうのはウィズビグ、ウィズビグじゃないって言いましたけれども、
じゃあどういうシステムなのかというと、まず使う人、そのラテフを使う人、まあ今の場合は私ですよね。
私が作るファイルは全部単なるテキストファイルなんですね。
まあテキストファイルなんで、基本的にはテキストエディターで書いていくわけですね。
テキストエディターっていうのにあんまりなじみのない方もいるかもしれませんが、
一番簡単なのは、Windowsだとメモ帳、Macだとテキストエディットなんていうソフトですね。
まあすごい単純なものなので、それでやっていくのはちょっとめんどくさいところはありますが、
それでももちろんできます。テキストさえ書ければできるので。
だからワードとかページズみたいに、そのソフトがないと動かないというものじゃなくて、
テキストエディターでひとまずものを作ることができると。
で、ワードとかページズだと、ここを省にしますとか、ここを省の見出しにしますとか、
過剰書きにします。中央揃いにしてください。
っていうのは全部グリッとクリックすればできて、目の前でそれが中央揃いになったりするんですけれども、
このラテ風のシステムではですね、それを全部コマンドで書き込むんですね。
なんか文章がバーっとありますと。
で、それをある記法でくくって、ここはセンタリングしてくださいっていう風に書くんですね。
コマンドを書きます。
なので目の前には単なるテキストがあるだけなんで、目の前にはその中央揃いした文章がないわけですね。
で、じゃあどうやったらその印刷する文章、レイアウトされた文章が出てくるかというと、
これはですね、このテキストファイルをその名もラテフというコマンドで処理するわけです。
そのラテフというコマンドを通って出てくると、いろいろあるんですけれども、
今はだいたいPDFのファイルが吐き出される場合が多いですね。
PDFのファイルができて、そのPDFを開いてみると、あら不思議という感じで、
ちゃんと中央揃いのところは中央揃い、見出しにしたいといったところは見出しのレイアウトでちゃんと出てくるということですね。
つまり全然ウィズウィグじゃないわけです。
最初書いているときはどんな風にされるかはもう、頭の中で想像するしかないわけですね。
でですね、まず私が最初にそれ使ったのがですね、大学の卒論だったんですよね。
卒論は30年以上前ですかね。
卒論なんでそんなすごい文章じゃないんですけど、本って言うほどじゃないんですけど、数十ページ、3、40ページですかね。
それぐらいの文章だったと思います。
理系でしたので、数式も別に数学家じゃないのであれですけど、数式もちらほら出てくると。
それから文章に構造がありますよね。
まずチャプター章があって、その下にセクション、説があって、その下にサブセクション、説の中にまだ説があるという感じですかね。
1章の1.1説の1.1.1サブセクションみたいな、そういう構造がありますね。
それから参考文献も管理しなきゃいけないですね。一応論文ですからね。
いくつか参考文献があって、中でこの参考文献これみたいにして引くというようなことをやってましたね。
でですね、こういうのが全て得意なわけですね。
LaTeXの基本と機能
ラテフというシステムは。
で、ただですね、そのラテフっていうのはその、なんていうかな、もともとのシステムだけだとあんまりできることがないんですね。
で、少しでもなんかやりたいと思ったら、機能を追加する、さっき言いましたマクロ集ですよね。
それを読み込んで使うと。
っていう風になってます。
で、もともと英語のシステムなんで、まず日本語を使うっていうだけでも、
その普通のシステムで動かなくて、あるスタイルファイルって言うんですけども、そのマクロ集のことをスタイルファイルって言いますけれども、それを読み込む。
それから画像をなんか読み込みたいと、ここに画像を出したいと、っていうような場合でもスタイルファイルを読み込むと。
っていう風にして、それもその作るテキストファイルの中にこれを読み込みます、これを読み込みますっていうコマンドを書いて、
で、これを読み込んだスタイルファイルを使った機能が実現されていくということですね。
で、なんでそんな面倒なものを使うのかと。
普通だったら、文章を書いていくのに、ウィズビグっていう言い方をしましたけど、
見た通りに、ここはセンタリングです、ここは大きくします、ここは見出しですっていう風にして、見ながらやっていけばそれでいいじゃないかと。
見てすぐ分かるし、そんな通りに印刷されるからそれでいいじゃないかと。
と思われますよね。
ただですね、とてもいい点がありまして、まずですね、元のファイルがテキストファイルだっていうのがとてもいいんですね。
前ですね、辞書のようなものを作るっていう、まあ半分お仕事みたいなことでやったことあるんですけれども、
辞書はですね、電子的に集めたデータベース、言葉のデータベースですね。
そこにいろんな意味とか、なんか解説があったりとか品詞がなんだとか、そういうのが全部入ってるわけですね。
で、それを見ながら、ワードでここは何だからって言って、ホピペして全部入れてなんていうのは大変なわけです。
何千も、少なくとも何千回あるので。
ところがですね、ラテフであれば、そのテキストファイルなんで、例えばあるエントリー、ある言葉があったとしたら、
その言葉の元の、この言葉の続き通り、それからそれの品詞、語尺、解説、それからもしそれに対する写真があれば写真と、
っていうのをテキストファイルでこういう風に入れてくださいっていうのが出せれば、それで最終的には文章ができ分かるわけですね。
何千個あったとしてもそのパターンでずらーっと出せばいいわけですね。
その出すのが、プログラムでそのデータベースを読んで自動的にできると。
自動って言ってもプログラムを書かなきゃいけないんですけど、そのプログラムを書いてやれば、
データベースから読み込んだやつをずらーっと、あるパターンで出してやればいい。
ワードでも差し込み印刷っていうのがありますよね。
手紙書くときに何々さんっていうところだけは、エクセルの表のここから取ってきてくださいみたいな。
私はあんまりやったことないんですけど、そういうのがあるっていうのを聞くんですけども、
その差し込み印刷、自動的にここからこういう風に順番に取ってきてここに入れていくみたいな。
それのちょっと複雑版、ちょっと難しい版みたいな感じの使い方ですね。
これはとても便利ですし、一回そのプログラム作っちゃえば、
例えばデータベースがちょっと変わりましたと。
そしたらもう一回そのプログラムを通せば、ちゃんと本の元のテキストファイルができて、
それをPDFに変換すれば、本の組み版ができるという風になるんですよね。
これとても便利ですね。
それからもう一つは、これはもうどちらかというと私の主観的な問題ということだと思うんですが、
プログラミングが好きなんですよね。
そのテキストファイルにここはこうしてください、ここはこうしてくださいって書いておくと、
そのテキストファイルを何らかのプログラムに通すと文書ができあがると。
その流れというのはプログラミングと同じなんですね。
今のプログラミング、ただ書けば、言語によるんですけれども、
PythonとかRubyとかは何かに通すという部分がなくて、
テキストファイルを作ればそれがそのまま動くように、
裏ではもちろん変換されているんですけれども、そこは見えないようになっているんですが、
昔はCであるとかC++であるとかFortranであるとか、
昔じゃないですね、今でもそうなんですけど、
そういう言語っていうのはあるテキストファイルを作って、
それをコンパイルというふうに言いますけど、
あるソフトを使って変換してコンピューターが理解できる言語に変えて、
それを動かすというようにして動いてたんですよね。
その工程が同じなので、基本的には同じことなので、
とても馴染みがあって、プログラミングをしているような気分で文章が作れるということですよね。
いろいろと他にもいろいろいいところがあるんですね。
その参考文献、さっき言った参考文献の引くようなやり方とか、参考文献を管理するところもできるとか、
それから構造ですね、章とか節とかの構造についても、
うまく処理してくれるだとか、
番号とかね、あと図表の番号みたいなものも処理してくれるとか、
そういうのはでもワードもありますよね。
ありますけど、昔からそういうのができたということなんですよね。
というわけで今日は、ラテフという変なソフトがありますよという紹介でした。
プログラミングとの関連
そして私はそれが大好きですという紹介でした。
では最後まで聞いていただきありがとうございました。
15:41

Comments

わたしは最近HackMDやNotionでMarkdownをよく使ってますね。 これは何よりテキストの状態で見てもなんとなく何をしたいのかがわかるし、Markdownを知らない人にもただのテキストとして読み書きできるっていうことかなと思います。最近YouTubeの概要欄などMarkdownを解釈しないところにもMarkdownで書いてますね。 ポッドキャストのゲストの方に読んでいただくトークノートなど、記法がわかる人もわからない人も読み書きするっていうシーンで使うことも多いため、誰が見てもなんとなくわかるという強みは大きいなあと思っています。

いつもコメントありがとうございます。 (これって返信したら、高見さんにお知らせ行くんだろうか?🤔) Markdownもいいですね。私も、Logseqというマークダウンベースのアウトライナーなども使ってます。高見さんがおっしゃるように、テキストでの読み書きやちょっとした見出し、箇条書き、リンクならば十分表現できますよね。 出版品質の組版には使えないかもですが、それはまた別の話ですね。

高見知英

それが最近だと拡張記法をつけて出版に使えるものもあるんですよー、MDBPというものでして(GitHub検索すると2、3個目がそれ関連のようですね)。 わたしも先日出したPowerAppsの書籍はmdbp-vscodeを入れたVSCodeで書きました。

なんと、MDBP、初耳です! ちょっと調べてみます。ありがとうございます!

高見知英
Scroll