マクロツイーター

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

inputenc しないアレなやつの話

とある GitHub プロジェクトとある issue において、「inputenc パッケージを読み込まずに Latin-1 のテキストを通す」というアレな LaTeX 文書を紹介した。これは「inputenc 非読込の状態では、高位バイト("80〜"FF)についても入力した符号値の文字がそのまま出力される」という LaTeX の挙動を流用したもの(恐らくバッドノウハウ)である。

% encoded in Latin-1
\documentclass[a4paper]{article}
\usepackage{lmodern}
% because LY1 is compatible with Latin-1...
\usepackage[LY1]{fontenc}
% inputenc not loaded
\begin{document}

``¿But aren't Kafka's Schloß and Æsop's {\OE}uvres often naïve
vis-à-vis the dæmonic ph{\oe}nix's official rôle in fluffy soufflés?''

\end{document}

事のついでに、これの“和文版”といえるものを紹介しておく。

% pLaTeX文書; 文字コードはSJIS
\documentclass[a4paper]{jsarticle}
\begin{document}
% 仮に, "jisank-r" というJIS X 0208互換の"欧文"フォント
% ("A1〜"DFに半角カナがある)が存在したとする
\newfont{\fJisAnk}{jisank-r}

\begin{center}アンケート\end{center}
次の中で開催が最も望まれるイベントを選んでください。
\fJisAnk
\begin{enumerate}
\item \TeX{}Conf 2018
\item ナントカConf 2018 %pLaTeXだけど
\item カントカConf 2018 %半角カナを直接入力!
\end{enumerate}
\end{document}

最初の Latin-1 の文書がバッドノウハウなのであれば、こちらもバッドノウハウであろう。


上掲の pLaTeX 文書は、仕様を満たす欧文論理フォント「jisank-r」を用意しないとコンパイルできない。しかし、某 pxchfon パッケージの機能を用いれば「シフト JIS で書いた半角カナを platex で“直接出力”する」という同様の挙動が実現できるので、これを紹介しておく。