TeX のパッケージを作って、それを CTAN にアップロードし、TeX Live にも取り込まれました。
入ってたし、TeX Live にも入ってたわ。https://t.co/v8M73f5nBE pic.twitter.com/W8MVaS32rV
— ひとみさん/ささっち逆垢 a.k.a. Carele Smith (@CareleSmith9) May 22, 2019
ということで、CTAN にパッケージをアップロードする方法について記します。
ちなみに、今回 CTAN にアップロードしたパッケージはこちらです。トランプのカードをいい感じに出力するためのパッケージです。
なお、CTAN にパッケージをアップロードすることに関しては、以下の 2 つのブログ記事も参考になります。
CTAN にパッケージを登録する流れ
- パッケージを作る
- CTAN のページで情報を登録する
- パッケージをアップロードする
- 待つ
以下、順に説明します。
パッケージを作る
このページを読んでいる皆さんには、パッケージの作り方について、改めて説明するまでもないですよね?
CTAN にアップロードするならば、README ファイルは作っておきましょう。別に日本語でも大丈夫らしいですが、私は英語と日本語を併記しました。また、README ファイル(に限らず、サンプルファイルなども)はユニークな名前になるようにしましょう。具体的に言えば、マニュアルを [packagename].pdf のような名前にしたり、サンプルファイルを [packagename]-sample.pdf のような名前にするとよいでしょう。
あと、他人の成果物をもとにパッケージを作っているときは(例えば、hmtrump パッケージのように、フリーフォントを利用しているときなど)、その成果物のライセンスを明記しましょう。私の場合は、CTAN にアップロードした後に、「フォントのライセンスを英語で書いておいて」と言われたので、英語にライセンスを訳したもの(と、ライセンスの原文)を追加しました。
もう一点。LaTeX のパッケージは、dtx とか ins を使って開発するのが一般的らしいですが、パッケージ本体とマニュアルを端から分離して作成していても大丈夫です。
その他、CTAN のページに注意点が載っています。(私は目を通す前にアップロードしましたが)
CTAN に情報を登録する
アップロードのページ に行って、必要情報を記入しましょう。そして、 zip で固めたものをアップロードします。
以下、どのフィールドに何を記入するかという話。基本的にすべて英語で書きますが、英語の表現がおかしかったりしたら、CTAN 側で修正してくれます。素敵☃
Summary
英文 1 文程度で、簡単にパッケージの概要を書きます。
Description
CTAN のパッケージのページで、網掛けしてある部分の上に書かれる、パッケージの説明のところに載ります。
Suggested CTAN directory
CTAN のどこのディレクトリにアップロードするかっていう話。類似パッケージがあれば、それを真似ればよいですが、わからなかったら /macros/latex/contrib って書いておけばいいはず。
Announcement via mailing list and RSS (features, changes,...)
パッケージのアップロードを知らせる、メーリスに流すメールに、添付される文章。私は、“You can describe playin cards with this package; For instance, \hmtrump{Q}{H} will write Queen of Hearts.” って書いておきました。 “First Release.” って書いたら、「このパッケージの目的がわかるようにしてくれる?」 って言われました。
Summary より詳しめに書くべきだと思います。「このパッケージで、こんな事ができる」と、みんなに知らしめたいことを強調して書けばよいでしょう。
License type
ライセンスをどうするかです。
何も無ければ、LPPL (The LaTeX Project Public License 1.3c) にすればいいです。 私は LPPL の中身を理解してなかったので、 CC-BY-SA-4 にしました。
TeX Live に入れたかったら、フリーなライセンスにしましょう。
あと、パッケージに含まれるフォントのライセンスは、独自ライセンスだったわけですが、CTAN の方で、README を読んでくれた結果、“Free license not otherwise listed” が追加されてました。まあ、他人の成果物がまるまる含まれてるパッケージなんて開発する機会は少ないでしょうから、こんなことを気にする人はあまりいないと思いますが。
待つ
アップロードしたら、1 時間ぐらいで CTAN から返信が来ます。修正するべき所があれば、それも教えてくれます。
もちろん CTAN からのメールは英語できます。したがって、高確率で迷惑メール判定されます。注意! そのせいで、私は 4 時間ほどメールに気づけませんでした。
メールの返信から、おおよそ 24 時間以内に CTAN に取り込まれるようです。もし、修正する所があれば、24 時間以内にアップデートしてやると、未修正なものが CTAN に入らなくなる(未修正のものが取り込まれる代わりに、アップデートしたやつが取り込まれる)ので、簡単な修正は 24 時間以内にやってしまいましょう。
CTAN に取り込まれる
メールの返信から 24 時間程度経つと、CTAN に取り込まれます。やったね! ちなみに、取り込まれたことを通知するメールと同時に TeX Live のアップデートをしたら、自分のパッケージが降ってきました。TeX Live にはかなりすばやく取り込まれるらしい。
まとめ
ということで、CTAN にアップロードするときの流れでした。
CTAN の方もすごく丁寧で、パッケージに不備があれば、丁寧に指摘してくれます。不備を恐れてアップロードしないよりも、指摘されるたびに修正するほうが手っ取り早いし、勉強になります。
あと、長い日本語文を英文に訳す時、Google 翻訳がすごく頼りになります。一発で自然な英語にならないのは確かにそうですが、日本語を調整すると、自然な英語が生成されます。
他に質問があれば、コメントしていただければ回答できる、かも。