マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

LaTeX で 1TeX なロゴをする話

といっても、これで何事もなく終わってしまうと、熱狂的な 1TeX ファンが嘆き悲しむことになるだろう。なので、軽いネタを出しておく。

1TeX なロゴをするパッケージ

周知のとおり、1TeX は極めて画期的なフォーマットである。しかし余りに画期的過ぎるがゆえ、広く普及するには至っていない。そして、その影響は 1TeX のロゴにも表れている。TeXLaTeX のロゴについては標準の LaTeX においてそれを出力する命令(\TeX\LaTeX)が用意されている。また比較的新しいエンジンである XeTeX や LuaTeX のロゴについては metalogo や hologo などのパッケージを利用すれば出力できる。ところが、1TeX の(画期的な)ロゴについては、その知名度の低さのため、それをサポートするパッケージが存在しないのである。

この悲しむべき事態を打破するため、作ってみた。

% pdfLaTeX document
\documentclass[a4paper]{article}
\usepackage{bxtexlogo}
\bxtexlogoimport{*,**}% 全部インポートする
\begin{document}
I like {\SuyahTeX}, but I like {\OneTeX} better.
\end{document}

このパッケージは多くの “TeX 的”なロゴの実装を定義しているが、それを実際に使うには \bxtexlogoimport 命令により使いたいものをインポートする必要がある。ここでは引数を“*,**”としている(2 行目)が、“*”は「チョット有名なもの(XeTeX とか upTeX とか)全部」、“**”は「チョット無名なもの(残念ながら 1TeX はこちらに入る)全部」を表す。これにより 1TeX のロゴを出す命令 \OneTeX が使えるようになる。

\bxtexlogoimport の引数には、命令の名前(\OneTeX 命令なら OneTeX)を書いて個別のロゴ命令をインポートすることもできる。例えば次の例では「チョット有名なやつ全部と、あと \OneTeX」をインポートしている。

% LuaLaTeX 文書; UTF-8
\documentclass[a4paper]{ltjsarticle}
\usepackage{bxtexlogo}
\bxtexlogoimport{*,OneTeX}% メジャーなやつと1TeXだけ
\begin{document}

{\upLaTeX}{\OneTeX}をよく使っています。

この文書は{\LuaLaTeX}だけど。

\end{document}
イタリックする場合

イタリックのフォントが指定された状態で 1TeX のロゴを使う場合には注意がいる。1TeX ロゴの「1」の書体は本来は数式用のものであり、本来はイタリックや斜体がサポートされていない。このため、bxtexlogo だけを読みこんだ状態では、1TeX のロゴが非常に残念なことになってしまう。

% pdfLaTeX document
\documentclass[a4paper]{article}
\usepackage{bxtexlogo}
\bxtexlogoimport{OneTeX}% \OneTeX したい!
\begin{document}
\itshape % イタリック指定
Happy {\OneTeX}ing!!
\end{document}

幸いなことに bxtexlogo にはこれを補正する機能がある。graphicx パッケージが読み込まれている場合にこの補正が有効になり、1TeX の素敵なロゴを出力できるようになる。

% pdfLaTeX document
\documentclass[a4paper]{article}
\usepackage{graphicx}
\usepackage{bxtexlogo}
\bxtexlogoimport{OneTeX}% \OneTeX したい!
\begin{document}
\itshape % イタリック指定
Happy {\OneTeX}ing!!
\end{document}