別件の検証中、「\newcommand{\zu}[1]{図\ref{#1}}」なる記述で
エラーになる現象に出会しました。
ソースは
%#! ptex2pdf -l
\documentclass{jreport}
\newcommand{\zu}[1]{図\ref{#1}}
\begin{document}
SJIS 図図図図図図図図図図図
\end{document}
エラーは
l.3 \newcommand{\zu}[1]{^^90}\ref{#1}
}
? x
問題となるファイルは SJIS コードですが、UTF-8 にすると問題なく通ります。
また「図」以外では今の所問題は発生しません。
2バイト目のバックスラッシュの問題でもなさそうだし、ちょっと悩んでいます。
何かこの辺の問題、ご存知の方いらっしゃいますか?
添付ファイルおよびその文字コードは以下の通り。
sjis-test/sjis-test.log: ASCII
sjis-test/sjis-test.tex: Shift_JIS
sjis-test/utf-8-test.aux: ASCII
sjis-test/utf-8-test.log: ASCII
sjis-test/utf-8-test.tex: UTF-8
This is e-pTeX, Version 3.141592653-p4.0.0-220214-2.6 (utf8.euc) (TeX Live 2022) (preloaded format=platex)
の下で、単純に、
%% -+- coding: sjis-unix -+-
%#! ptex2pdf -l -ot '--kanji=utf8' d3519
% #! ptex2pdf -l -ot '--kanji=sjis' d3519
\documentclass{jreport}
\newcommand{\zu}[1]{図\ref{#1}}
\begin{document}
SJIS 図図図図図図図図図図図
\end{document}
を
ptex2pdf -l -ot '--kanji=utf8' d3519
(あえて明示的に --kanji=utf8 を与えています)
でタイプセットなさっただけでないでしょうか?
もちろん、
ptex2pdf -l -ot '--kanji=sjis' d3519
でタイプセットすると問題ないです。
の下で、単純に、
%% -+- coding: sjis-unix -+-
%#! ptex2pdf -l -ot '--kanji=utf8' d3519
% #! ptex2pdf -l -ot '--kanji=sjis' d3519
\documentclass{jreport}
\newcommand{\zu}[1]{図\ref{#1}}
\begin{document}
SJIS 図図図図図図図図図図図
\end{document}
を
ptex2pdf -l -ot '--kanji=utf8' d3519
(あえて明示的に --kanji=utf8 を与えています)
でタイプセットなさっただけでないでしょうか?
もちろん、
ptex2pdf -l -ot '--kanji=sjis' d3519
でタイプセットすると問題ないです。
platex -h で -kanji のオプションをコピペしてたのにと思い ....
投稿まえのコマンドヒストリみたらつけていなかった :-(
ということでもう一度、検証中のものを見たらutf8 なファイルから
\input{sjis-input.tex} として読み込んでいた。そのテストに使用したものを念のため添付します。
utf8-main.tex: UTF-8
sjis-input.tex: Shift_JIS
このケースはどちらかに合わせないとダメなんですよね。
投稿まえのコマンドヒストリみたらつけていなかった :-(
ということでもう一度、検証中のものを見たらutf8 なファイルから
\input{sjis-input.tex} として読み込んでいた。そのテストに使用したものを念のため添付します。
utf8-main.tex: UTF-8
sjis-input.tex: Shift_JIS
このケースはどちらかに合わせないとダメなんですよね。
ダメ文字関係の問題ではなく、文字コードの自動判定が機能すれば解決しそうな気がします。
美しくはありませんが以下のようにして文字コードの自動判定を有効にすれば動く気がします。(Ref. https://texwiki.texjp.org/?ptexenc#x100a023)
ところで sjis-test.zip の中身が空フォルダのみでした。
%#! ptex2pdf -l
%%% 何でもいいので文字コード判定が上手くいく文字列を冒頭にコメントで書いておく。
\documentclass{jreport}
\newcommand{\zu}[1]{図\ref{#1}}
\begin{document}
SJIS 図図図図図図図図図図図
\end{document}
美しくはありませんが以下のようにして文字コードの自動判定を有効にすれば動く気がします。(Ref. https://texwiki.texjp.org/?ptexenc#x100a023)
ところで sjis-test.zip の中身が空フォルダのみでした。
%#! ptex2pdf -l
%%% 何でもいいので文字コード判定が上手くいく文字列を冒頭にコメントで書いておく。
\documentclass{jreport}
\newcommand{\zu}[1]{図\ref{#1}}
\begin{document}
SJIS 図図図図図図図図図図図
\end{document}
あまり美しないとのこと、了解。
あまり面倒を見ていないからでしょう、
私の使用しているvim が自動判定してくれないこともあり、
面倒なので utf8 に変更します。
なお、添付ファイルが空だったので、後日誰かがここを訪れた時のため
別途添付しておきます。
ありがとうございました。
あまり面倒を見ていないからでしょう、
私の使用しているvim が自動判定してくれないこともあり、
面倒なので utf8 に変更します。
なお、添付ファイルが空だったので、後日誰かがここを訪れた時のため
別途添付しておきます。
ありがとうございました。