Help us understand the problem. What is going on with this article?

CTAN にパッケージを登録する話

TeX のパッケージを作って、それを CTAN にアップロードし、TeX Live にも取り込まれました。

ということで、CTAN にパッケージをアップロードする方法について記します。

ちなみに、今回 CTAN にアップロードしたパッケージはこちらです。トランプのカードをいい感じに出力するためのパッケージです。

なお、CTAN にパッケージをアップロードすることに関しては、以下の 2 つのブログ記事も参考になります。

CTAN にパッケージを登録する流れ

  1. パッケージを作る
  2. CTAN のページで情報を登録する
  3. パッケージをアップロードする
  4. 待つ

以下、順に説明します。

パッケージを作る

このページを読んでいる皆さんには、パッケージの作り方について、改めて説明するまでもないですよね?

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 li­cense not oth­er­wise listed” が追加されてました。まあ、他人の成果物がまるまる含まれてるパッケージなんて開発する機会は少ないでしょうから、こんなことを気にする人はあまりいないと思いますが。

待つ

アップロードしたら、1 時間ぐらいで CTAN から返信が来ます。修正するべき所があれば、それも教えてくれます。

もちろん CTAN からのメールは英語できます。したがって、高確率で迷惑メール判定されます。注意! そのせいで、私は 4 時間ほどメールに気づけませんでした。

メールの返信から、おおよそ 24 時間以内に CTAN に取り込まれるようです。もし、修正する所があれば、24 時間以内にアップデートしてやると、未修正なものが CTAN に入らなくなる(未修正のものが取り込まれる代わりに、アップデートしたやつが取り込まれる)ので、簡単な修正は 24 時間以内にやってしまいましょう。

CTAN に取り込まれる

メールの返信から 24 時間程度経つと、CTAN に取り込まれます。やったね! ちなみに、取り込まれたことを通知するメールと同時に TeX Live のアップデートをしたら、自分のパッケージが降ってきました。TeX Live にはかなりすばやく取り込まれるらしい。

まとめ

ということで、CTAN にアップロードするときの流れでした。

CTAN の方もすごく丁寧で、パッケージに不備があれば、丁寧に指摘してくれます。不備を恐れてアップロードしないよりも、指摘されるたびに修正するほうが手っ取り早いし、勉強になります。

あと、長い日本語文を英文に訳す時、Google 翻訳がすごく頼りになります。一発で自然な英語にならないのは確かにそうですが、日本語を調整すると、自然な英語が生成されます。

他に質問があれば、コメントしていただければ回答できる、かも。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away