質問用フォーラムです。ご質問の前に質問のしかたをご覧ください。

ptexencの文字コード自動判定とpdfplatex.batの設定

- KUROKI Yusuke の投稿

ptexencの文字コード自動判定と,Windows(W32TeX)でTeXworksから呼ばれるpdfplatex.batの設定について,ご相談というかご報告というかをします.
# あべのりさんが作成している,abtexinst のプラグイン開発にここ最近関わっていて,バランスをどう取るのがよいか悩んでいます.

ptexencの文字コード自動判定は,スタイルファイルに異なる文字コード(日本語の漢字コード)が混じっていても,意識せずにタイプセットできるようにというのを大きな目的として開発されていたと思います.この記事に添付したようなソース群が,何のトラブルもなくタイプセットできれば幸せです.

ところで,Windows(W32TeX)でTeXworksから呼ばれるpdfplatex.batの設定は,

@echo off
platex -synctex=1 -no-guess-input-enc -kanji=utf8 %1
dvipdfmx "%~n1"

となっており,自動判定をさせないオプション -no-guess-input-enc が付いていることから,

(./local-jis.sty) (./local-euc.sty) (./local-sjis.sty)
Runaway definition?
->Shift\_JISコード

といったエラーを出力して,異常終了してしまいます(想定の範囲内ですが).

これに対して,最近あべのりさんが開発しているpdfplatex_ipaembed.batなどでは,

@echo off
platex -synctex=1 -jobname="%~n1" %1 && ^
dvipdfmx -f ipaembed.map "%~n1"

となっていて,自動判定されて,正常終了し,期待通りの結果が得られます.

自動判定は失敗することもあって,失敗したときに,TeXworksなどの統合環境しか使わない人にとって解決策が取りにくいという問題があるので,文字コードは統一されていてしかるべき,という立場があるのも理解しています.

あべのりさんのインストーラのシェアは大きいと思いますので,できるだけ多くの方のご意見を参考に設定を決めたほうがよいと思うのですが,みなさまいかがお考えになりますでしょうか?

Q&A56692への回答

- Akira Kakuto の投稿
> C:\Users\Desktop> platex -kanji=utf8 ./test %%<--コンパイル
>
> This is e-pTeX, Version 3.1415926-p3.2-110825-2.3 (utf8.sjis) ...
> ====中略=====
> 作者名は?

この 作者名は? が化けていないのでわかるように,ソースが UTF-8, EUC でも
W32TeXではコンソールには CP932 で出るようになっています。

>
> \NAME=夏目漱石 %%<--入力
> 運^c4目漱吹@ %%<--出力(文字化け)

直接入力の場合は,自動判断しないので,指定の UTF-8 でないと化けるの
だと思います。つまり入力が UTF-8 にできないのが原因だと思います。(違うかもしれませんが)。

> [1] (./test.aux) )
> Output written on test.dvi (1 page, 312 bytes).
>
> ===========================
> Q1:文字化け防止対策のようなものがあるのでしょうか?

chcp 65001 とすると,化けなかった 作者名は? が化けます。
CP932 で出るようにしているからです。
偶然次の Q2 がうまく行くようになっています。

> Q2:上記サンプルコードを platex -kanji=sjis ./test でコンパイルすると
> 正しく表示されますが....それどよろしいのでしょうか?

-kanji=sjis としても,-no-guess-input-enc としない限り,自動判断は
off にならないので,UTF-8 のソースがコンパイルできます。
直接入力部分は指定した sjis なので,コンソールに正しく出力されます。
また面白いことに,\NAME をタイプセットしても正しい文字になるようです。

Q&A56690 への回答

- Akira Kakuto の投稿
あまり理解していないのですが,mendex は内部コードとして
EUC を使っています。それで実験によるとスタイルファイル
のコードを EUC にしておくと,うまく行くようです。
まちがって build しているかもしれないので,更に調べて
みます。

TeXworksの日本語の下の赤波線の削除

- Pochi Shizu の投稿

はじめて投稿させて頂きます。ド文系の人間でして,Texの存在を1週間前に知り,早速学習に取りかかりました。ド素人の質問でこの掲示板にはそぐわないかもしれませんが,困っていますので,アドバイス頂ければ幸いです。

改訂第5版『LaTeX2e美文書作成入門』技術評論社 に付録のDVDの情報をインストールして練習をしています。インストールはうまくいっています。ちなみに私の環境はWindows 7 64bit版です。英語入力では問題ないのですが,日本語入力をすると日本語の下に「赤色の波線」が出ます。何かの間違いかな?と思いながら作業を進めましたが,PDFへの変換は正しく行われます。

この波線を消す方法を教えて頂けませんでしょうか?とても見にくいです。

ちなみにWARNINGが出ていますので,それを貼り付けます。

** WARNING ** UCS-4 TrueType cmap table...

** WARNING ** UCS-4 TrueType cmap table...

ご指導のほど,よろしくお願いいたします。

pTeX で Segmentation Fault

- 北川 弘典 の投稿
TeX Live svn 由来の (e-)pTeX を使っています
(コンパイル日は 1/8 です)が,
以下の ソース ptest-120308.tex を処理させると
segmentation fault が発生します.

% ptest-120308.tex ここから
\documentclass{beamer}
\begin{document}
\begin{frame}
\verb+\catcode+命令
\end{frame}
\end{document}
% ここまで

以下が端末への出力結果です:

This is e-pTeX, Version 3.1415926-p3.2-110825-2.3 (utf8.euc) (TeX Live 2012/dev)
restricted \write18 enabled.
entering extended mode
(./ptest-120308.tex
... 省略 ...
No file ptest-120308.nav.
! Missing number, treated as zero.
Segmentation fault

エンジンを ptex  にして platex.fmt を作った場合も,
同じ症状になります.

「! Missing number」エラーは \catcode による自然な
ものだと思いますが,この segfault の原因は何なのでしょうか?

Q&A56688 への回答

- Akira Kakuto の投稿
今,ダウンロードして調べてみると

G N U P L O T
Version 4.7 patchlevel 0 last modified 2012-03-2
Build System: MS-Windows 32 bit

と教示されるので,これは夢介さんの誤解です。
多分古いものが立ち上がっているのでしょう。
ChangeLog のタイムスタンプがこちらのミスで version.c
より古くなったので last modified 2012-03-2
は実際を反映していませんが,次回から正しくなります。

.synctex.gzファイルについて

- 小山 隆司 の投稿

タイプセットを行い処理が完了後、保存されたフォルダーをみるとDVIファイルとPDFファイルと.synctex.gzファイルが出来ています。

.synctex.gzファイルはコンパイル処理が完了していないときに出来ると書いていましたがDVIファイルPDFファイルは正しくコンパイル処理がなされているのでしょうか。

ちなみにメモ帳でUTF-8に変換してからTexworksで処理を行いました。

ご指導宜しくお願いします。

upLaTeX + dvipdfmx でのCJK拡張の出力

- T M の投稿
はじめまして。

upLaTeX と dvipdfmx を利用して CJK Extension B,C,D などの文字を出力したいのですが、うまくいきません。

環境はMac OS X 10.7.3、MacTexとTexLiveUtility でTexLiveを最新のものにアップデートしております。upLaTeX はtlptexliveリポジトリより導入しました。

upLaTeX は問題なく通りますが、dvipdfmx を実行すると以下のようなエラーが出ます。

** WARNING ** No character mapping available.
 CMap name: UniJIS-UTF16-H
 input str: <d860dd>

** WARNING ** No character mapping available.
 CMap name: UniGB-UTF16-H
 input str: <d860>

** WARNING ** No character mapping available.
 CMap name: UniCNS-UTF16-H
 input str: <d860dd50>

文字はいずれもU+28150(「無」と「足」を上下に並べたもの)です。

otf パッケージで uplatex オプションを適用し、¥UTF{28150}, ¥UTFM{28150}, ¥UTFT{28150}などで試しましたが、dvipdfmx を実行するといずれも以下のようなようなエラーが出て表示できません。

char=0x3348(13128)
Tried to set a nonexistent character in a virtual font


ただし、¥UTFC{28150}でのみ upLaTeX実行時に以下のようなエラーが出ました。

kpathsea: Running mktextfm utfcmrs-v
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input utfcmrs-v
This is METAFONT, Version 2.718281 (TeX Live 2011)


kpathsea: Running mktexmf utfcmrs-v
! I can't find file `utfcmrs-v'.
<*> ...jfour; mag:=1; nonstopmode; input utfcmrs-v
 
Please type another input file name
! Emergency stop.
<*> ...jfour; mag:=1; nonstopmode; input utfcmrs-v
 
Transcript written on mfput.log.
grep: utfcmrs-v.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input utfcmrs-v' failed to make utfcmrs-v.tfm.
kpathsea: Appending font creation commands to missfont.log.
! Font JT2/utfc/m/s/10=utfcmrs-v at 9.6222pt not loadable: Metric (TFM) file no
t found.
<to be read again> 
                   relax 
l.122 \UTFC{28150}

ちなみに、dvipdfmx の map ファイルではupTeX関係は次の様に設定してあります。

urml UniJIS-UTF16-H !Ryumin-Light
urmlv UniJIS-UTF16-V !Ryumin-Light
ugbm UniJIS-UTF16-H !GothicBBB-Medium
ugbmv UniJIS-UTF16-V !GothicBBB-Medium

uprml-h UniJIS-UTF16-H !Ryumin-Light
uprml-v UniJIS-UTF16-V !Ryumin-Light
upgbm-h UniJIS-UTF16-H !GothicBBB-Medium
upgbm-v UniJIS-UTF16-V !GothicBBB-Medium
uprml-hq UniJIS-UCS2-H !Ryumin-Light
upgbm-hq UniJIS-UCS2-H !GothicBBB-Medium

upstsl-h    UniGB-UTF16-H        !STSong-Light
upstsl-v    UniGB-UTF16-V        !STSong-Light
upstht-h    UniGB-UTF16-H        !STHeiti-Regular
upstht-v    UniGB-UTF16-V        !STHeiti-Regular
upmsl-h        UniCNS-UTF16-H         !MSung-Light
upmsl-v        UniCNS-UTF16-V        !MSung-Light
upmhm-h        UniCNS-UTF16-H        !MHei-Medium
upmhm-v        UniCNS-UTF16-V        !MHei-Medium
uphysmjm-h    UniKS-UTF16-H        !HYSMyeongJo-Medium
uphysmjm-v    UniKS-UTF16-V        !HYSMyeongJo-Medium
uphygt-h    UniKS-UTF16-H        !HYGoThic-Medium
uphygt-v    UniKS-UTF16-V        !HYGoThic-Medium


ttk 氏のupTeX の解説を読みましたが、「U+FFFF以下の文字はset2で、U+FFFFを越える文字はset3で扱う」などのset2, set3の意味がわかりませんでした。

ご教示のほどよろしくお願いします。

TeX初心者の疑問

- 小山 隆司 の投稿

美文書作成入門の本に添付してあるCDからインストールをしました。

テストに複数の人からTeXファイルと出力PDFを貰い試してみました。

TeXworksで開きタイプセットをクリックするとログの表示で複数の人が下記の様な同じようなメッセージが出ます。

!Missing $ inserted.

<inserted text>

$

l.77 \maketitle

?

XPにインストールしたものはプレビューは表示されません。

Vistaにインストールしたものはプレビューが表示されます。但しdviファイルは出来ていません。

TeXソフトが色々あるようですがソフト又はバージョン、OSによって変わってくるのでしょうか。又は他にも追加でインストールをするものがあるのでしょうか。

OSで変わる可能性はありませんか。次のような現象がありました。

TeXwoksで開くとXpで四角の中黒点でVistaでは黒のひし形で中が白抜きの?になっていました。

すいませんが教えていただければありがたいです。

\hrule の後で改行

- Higashi Keigo の投稿
\hrule の後で改行しようとすると、あの There's no line here to end. エラーが出ます。

そこで
hrule $\phantom{3}$ \\ 3.1415
としてみました。やりたい事はこれですが、もう少しスマートな方法があるのでしょうか?

また
hrule \phantom{3} \\ 3.1415
ができないのですが、なぜなのか不思議です。

些細な質問ですがどうぞよろしくお願いします。