Daiji Blog

研究室用のLaTeXクラスを作ったときの話

公開:
更新:

具体的なクラスの作り方はいつかまとめてQiitaにもあげたいなと思いながらちょっと愚痴をこぼす

はじめに

僕は高専の専攻科2年生20218月時点です本科5年生のときから研究室所属し気付いたら3年目で今年で修了です

そんな研究室には10年以上前から卒論修論用のLaTeXスタイルファイルが用意されていましたそのファイルは古くLuaLaTeX等では動かせないなどの問題がありました

そうだ新しいテンプレートを作ろう!

テンプレートの作り方

テンプレートを作るには大きく2つの方法があります

  1. 既存のクラスjsarticlejlreqなどと自作スタイルファイルで作成
  2. 既存のクラスをベースに新しいクラスファイルの作成

自由度が高く勉強にもなる2つ目の方法でテンプレートを作成することにしました

jlreqをベースにしました理由は新しくクラスで対応している調整が多いからですまたpLaTeXupLaTeXLuaLaTeXに対応しているからです

作り方は誰から学ぶ?

クラスファイルの作成方法はそこまで情報がないので主に英語の内容で調査することが多かったですまあ情報があるのでそこまで困りません

言語処理学会の年次大会予稿集用LaTeXクラスのNLProceedingsjlreqをベースだったので凄く参考になりました7割はこのソースコードから学びました

expl3について

expl3エクスペルスリーとはLaTeX3チームが開発しているプログラミング言語ですTeX言語で実装されていてTeX上で動作しますTeXのマクロは地獄みたいに辛いですがexpl3快適なTeX生活を送れます詳しくはググれ

変数とか関数が定義できるので非常に便利です卒論クラスの作成に伴い勉強しました他のプログラミング言語に比べたらなかなかしんどいですがTeXより幸せなので我慢できました

さて愚痴でもこぼすか

今日pLaTeX/upLaTeXが使えなくなるだろうと言われている中あらゆる学会等でpLaTeX/upLaTeXのテンプレートを配布していますupLaTeXならともかくpLaTeXだけの学会も少なくありません今後のことを考えると日本語LaTeXをどうするかLaTeXユーザは考えなければ行けないのではないでしょうか?

今回卒論クラスの作成に当たって簡単な体裁の設定をするクラスファイルは作れると感じましたjlreqが使える環境TeX Live 2017以降?では問題なく動作します学会用クラスは新しく作り直す必要があると感じます僕が出る学会の予稿も無いよりはマシくらいなクラスファイルしか用意されていまでした皆さんが所属する学会のクラスファイルを作ることが今後の日本を支えると思っています

そういえば学内の研究発表用のテンプレはMS Wordだけですしかも拡張子がdocxがついてないほど古いですフォントはMS Minchoを強制したりなどクソがクソするくらいクソ1です卒業までにどうにかしていきたいなと思ってます

今後について

今後は↓のことをやっていきたいですこんな愚痴をこぼしてないで手を動かさないとですね

文献

  1. jlreq
  2. NLProceedings
  3. expl3

脚注

  1. 詳しく話すと長いので簡略化してます