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

pTeX --> dvipdfmx で TeXinfo にリンクやしおりを付ける (W32TeX)

- ut の投稿

W32TeX の texinfotools-w32 に含まれている texinfo.tex (と texindex.exe) は、角藤先生が和文フォントも使えるように修正を加えてくださっているお蔭で、日本語で書かれている texi ファイルも普通に pTeX でタイプセット出来て、dvipdfmx で pdf も作れます。

でも、欧文のみの texi ファイルであれば、pdfTeX で処理すると、目次や索引からのリンクや、アウトライン (しおり) も出来ます。

本家の texinfo.tex と、XeTeX とか LuaTeX を使えば、trueroad さんの御尽力で日本語も使えるみたいなのですけれど、私の手元のシステムは古くて、また、XeTeX や LuaTeX も全然分かりません。

で、texinfo.tex の中味をパラパラと眺めてみましたら、XeTeX 用の設定が用意されているようなのですが、“@image support” という部分を別にすれば、格別 XeTeX 特有の設定というよりは、xdvipdfmx 用の special を発行するための設定のように見えます。また、「xdvipdfmx 用の special」 といっても (ちゃんと調べてはいませんが) dvipdfmx でも理解出来そうな基本的な special しか使われてないように見えます。

なので、XeTeX 用の設定が有効になるようにしつつ pTeX でタイプセットして、それを dvipdfmx で pdf にしたら、リンクやアウトラインが出来るんじゃないかな、と考えました。

適当に作った簡単な texi ファイルで試してみましたら、pTeX でも dvipdfmx でも特にエラーや警告も出ずに、リンクやしおりが付いた pdf が出来て、リンクからジャンプも出来ました (!)。しかし、自分で作ったものではない大部な texi ファイルを処理してみますと、dvipdfmx で警告が出ます。これが、XeTeX のふりをして pTeX で処理しているせいなのか、texi ファイルの書き方のせいなのかが、私には判断が出来ません。

というわけで、質問は、ざっくりしたお尋ねの仕方になってしまいますが、以下のようなやり方はまずいのでしょうか?、というものです:


(0) 前提

私の手元のシステムは W32TeX [2012/08/30] で、

  pTeX 3.1415926-p3.3 (sjis) (TeX Live 2012/W32TeX)

  This is dvipdfmx-20120420 by the DVIPDFMx project team,
  modified for TeX Live,
  an extended version of dvipdfm-0.13.2c developed by Mark A. Wicks.

です。

texinfo.tex は、2020-04-13 にダウンロードしてきた texinfotools-w32 の中のもので、

  \def\texinfoversion{2020-02-11.09}

となっています。


(1) やってみたこと

XeTeX のふりをするには、〔W32TeX 版〕 texinfo.tex 内の以下の 3 箇所に対応すればよさそうに思えました (コメントは削ってあります):


a) \message{pdf,} の部分の 1154 行あたりの;

\ifx\XeTeXrevision\thisisundefined\else
  \pdforxetextrue
\fi


b) \message{pdf,} の部分の 1562 行あたりの;

%
% For XeTeX
%
\ifx\XeTeXrevision\thisisundefined
\else
  \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1
    \special{dvipdfmx:config C 0x0010}
    \txiuseunicodedestnametrue
  \else
    \txiuseunicodedestnamefalse
  \fi


c) \message{formatting,} の部分の 11349 行あたりの;

\def\internalpagesizes#1#2#3#4#5#6#7#8{%
  \voffset = #3\relax
  \topskip = #6\relax
  \splittopskip = \topskip
  %
  \vsize = #1\relax
  \advance\vsize by \topskip
  \outervsize = \vsize
  \advance\outervsize by 2\topandbottommargin
  \txipageheight = \vsize
  %
  \hsize = #2\relax
  \outerhsize = \hsize
  \advance\outerhsize by 0.5in
  \txipagewidth = \hsize
  %
  \normaloffset = #4\relax
  \bindingoffset = #5\relax
  %
  \ifpdf
    \pdfpageheight #7\relax
    \pdfpagewidth #8\relax
    \pdfhorigin = 1 true in
    \pdfvorigin = 1 true in
  \else
    \ifx\XeTeXrevision\thisisundefined
      \special{papersize=#8,#7}%
    \else
      \pdfpageheight #7\relax
      \pdfpagewidth #8\relax
    \fi
  \fi
  %
  \setleading{\textleading}
  %
  \parindent = \defaultparindent
  \setemergencystretch
}


a) と b) については、まず \XeTeXrevision を適当に定義しておいて、あと、b) の \ifnum が false になるように適当に \def\strcmp#1#2{-2} としてみました。

c) はデフォルトの \letterpaper の展開時に実行されますが、\XeTeXrevision を定義したせいで \special{papersize=#8,#7} でなくて \else のほうになってしまうので、予め \pdfpageheight と \pdfpagewidth を宣言しておいてやり過ごして、texinfo.cnf のほうで再定義してから、紙のサイズも改めて宣言することにしました。

これらの変更点を、forDvipdfmx.tex と texinfo.cnf にまとめました。
関連ファイルを zip に固めたものを添付します。


(2) dvipdfmx からの Warning の例

a) test.texi の元ネタである latex2e.texi ($Id: latex2e.texi 782 2020-04-03 23:00:48Z karl $) を pTeX でタイプセットしてから dvipdfmx で処理しますと、

latex2e.dvi -> latex2e.pdf
[1][2][3][4][5][6][7][8][9][10][11
** WARNING ** Could not find a name object.
** WARNING ** Could not find a key in dictionary object.
** WARNING ** Could not find a value in dictionary object.
** WARNING ** Ignoring invalid dictionary.
** WARNING ** Interpreting special command out (pdf:) failed.
** WARNING ** >> at page="11" position="(72, 769.89)" (in PDF)
** WARNING ** >> xxx "pdf:out [-] 2 << /Title (Backslash-space, \ ) /A << /S /Go
To..."
** WARNING ** >> Reading special command stopped around >> << /Title (Backslash-
space, \ ) /A << /S /GoTo /D (\(SPACE)...<<
][12]......[162
** WARNING ** Unknown PDF object type.
** WARNING ** No destination not specified for pdf:dest.
** WARNING ** Interpreting special command dest (pdf:) failed.
** WARNING ** >> at page="162" position="(72, 206.93)" (in PDF)
** WARNING ** >> xxx "pdf:dest (\(SPACE)) [@thispage /XYZ @xpos @ypos null]"
** WARNING ** >> Reading special command stopped around >>) [@thispage /XYZ @xpo
s @ypos null]<<
][163]......[245]
851668 bytes written

と言われます (一部省略)(画像の挿入は pTeX 実行時にスキップしています)。


b) 以前どこからかダウンロードしてきた emacs-lisp-intro-jp.texi という古いファイルがあったので、これで試してみますと、

emacs-lisp-intro-jp.dvi -> emacs-lisp-intro-jp.pdf
[1][2][3][4][5][6][7][8][9][10
** WARNING ** Object @1 already defined.
][11
** WARNING ** Object @2 already defined.
][12
** WARNING ** Object @3 already defined.
][13
** WARNING ** Object @4 already defined.
][14
** WARNING ** Object @5 already defined.
][15
** WARNING ** Object @6 already defined.
][16]......[212
** WARNING ** Empty bookmark node!
** WARNING ** You have tried to jump more than 1 level.
** WARNING ** Empty bookmark node!
** WARNING ** You have tried to jump more than 1 level.
** WARNING ** Empty bookmark node!
** WARNING ** You have tried to jump more than 1 level.
]
887976 bytes written

と言われました (でも、リンクやしおりは付いています)。

TeXLive Utilityの文字を変更するには

- 若松 久仁光 の投稿
TeXLive 2020をインストールしました。

TeXLive Utility.appに表示される文字の大きさが小さすぎて
読みにくいので変更できたらと思っています。

sudo tlmgr paper a4 で
Paoer A4サイズに指定したのですが
此の際に「文字の大きさ」を一緒に指定は可能でしょうか?

お知恵を拝借願えれば幸甚です。若松久仁光拝

追伸
メニューでの「フォントを大きく」とは別の
恒久的な処理が希望です。

TeXshopでなくTeXworksが作動

- A S の投稿
普段MacでTeXshopを使っているのですが、アップデートした後、作成済みの書類に手を加えようとするとTeXshopでなくTeXworksが作動してしまいます。

何か誤った設定をしてしまったのでしょうか、、?

解決法が分かる方はお答え頂けると幸いです。

Undefined control sequence.エラーにつきまして

- 共振 回路 の投稿
こんにちは、
添付ファイルをコンパイルさせると発生します。
どこをどのように修正すれば、良いのか?教えて下さい。


windows10,TeXworks editor バージョン0.6.1を使用しています。

TeXConf 2020開催のおしらせ

- きえだ ゆうすけ の投稿
TeXConf実行委員会代表の木枝です

今年も下記概要のように集会を開催いたしますことをおしらせいたします.

また,同時に講演者の募集も開始いたします.
下記webサイトをご覧いただければと思います.

皆様のご応募をお待ちしております.

参加登録その他の詳細は概要内記載のwebサイトやtwitter上などで順次おしらせしてまいります.

# 概要
- 日付:2020年10月17日(土)全日予定
- 会場:青山学院アスタジオ B1ホール
- 住所:東京都渋谷区神宮前5-47-11
- 主催:TeXConf実行委員会
- 問い合せ先:texconfjp{\atmark}googlegroups.com
- web:https://texconf2020.tumblr.com/
- twitter:texconfjp(ハッシュタグ:#texconf2020)

#目的
- TeXとその周辺に関する知見を共有する
- 組版・出版とその周辺に関する知見を共有する
- ユーザ間交流

# 懇親会
会議終了後,会場近隣での懇親会開催も予定しております(有料)

***

TeXConf実行委員会(五十音順,*:代表)
木枝祐介(清閑堂)*
高村正志(青山学院大学社会情報学部)

和文のスケーリングが効かない

- O Kay の投稿
和文のスケーリングをしようと,次のように,最初の 9 を取って小さくしたのですが,gt は効くのに対し,mc は効きません。どうしたら効かせるようにできるでしょうか。

\documentclass[uplatex]{jsarticle}


\DeclareKanjiFamily{JY2}{mc}{}
\DeclareFontShape{JY2}{mc}{m}{n}{<-> s * [0.24690] upjisr-h}{}

\DeclareKanjiFamily{JT2}{mc}{}
\DeclareFontShape{JT2}{mc}{m}{n}{<-> s * [0.924690] upjisr-v}{}


\DeclareKanjiFamily{JY2}{gt}{}
\DeclareFontShape{JY2}{gt}{m}{n}{<-> s * [0.24690] upjisg-h}{}

\DeclareKanjiFamily{JT2}{gt}{}
\DeclareFontShape{JT2}{gt}{m}{n}{<-> s * [0.924690] upjisg-v}{}


\begin{document}

{\kanjifamily{mc}\selectfont あいabc}

{\kanjifamily{gt}\selectfont あいabc}

\end{document}

upLaTeXで「䴩」が文字化け

- 楠本 修司 の投稿
TeX Live 2018をMacで使用している者です。

「䴩」(U+4D29)という文字を入力する必要があるのですが、以下のようなエラーが出て、その文字だけ文字化けしてしまいます。
フォントはヒラギノを埋め込みで使用しています。

dvipdfmx:warning: No character mapping available.
CMap name: UniJIS2004-UTF16-H
input str: <4d29>

この辺のサイトも参考にしてみたのですが、なかなか直りません。
https://zrbabbler.hatenablog.com/entry/20130420/1366451325

よろしくお願いします。

pLaTeX / upLaTeX 2020-04-12

- aminophen の投稿
pLaTeX2e 2020-04-12 をリリースしました。
変更一覧は添付の plnewsc14.pdf に簡潔にまとめていますが,より詳しい説明は別途書くつもりです。

=====

特に重要な変更点が一つあるので書いておきます。

従来の pLaTeX / upLaTeX における \fontshape 命令は
「和文・欧文のシェープを両方とも変更する」
という仕様でしたが,今回の版 2020-04-12 からは
「和文のシェープが用意されていなければ変更しない」
という仕様にしました。
\itshape や \slshape など,内部で \fontshape を呼び出す命令はすべてこの仕様に従います。

新仕様の下では,

LaTeX Font Warning: Font shape `JT1/mc/m/it' undefined
(Font)              using `JT1/mc/m/n' instead on input line 4.
LaTeX Font Warning: Font shape `JY1/mc/m/it' undefined
(Font)              using `JY1/mc/m/n' instead on input line 4.

即ち「和文のシェープ it が未定義なので n で代替した」のような警告が出なくなります。

Xcode で LaTeX

- 若松 久仁光 の投稿
ご報告。
TeXWiKi TeX 用エディタの項目から
「(オープンソースではないが)フリー」にで
紹介されているXcodeでのLaTeXコンパイルを試みました。
[Ehttps://texwiki.texjp.org/?Xcode]

\documentclass[pdflatex,ja=standard]{bxjsarticle}に書き換えれば
Xcode で無事 LaTeXでの日本語入力も通りました。
(元のMyProject.texの紹介例では「\documentclass[12pt]{article}」)

[ 使用環境:Mac OSX10.12.6 Sierra TeXLive2019 Xcode ver.9.2]

以上ご報告まで。若松久仁光拝

追伸
こちらに経過を書きました。
[Xcode で LaTeX - スタジオHANABUSA](http://moyse.hatenablog.com/entry/2020/04/12/132458?_ga=2.92213404.745229646.1586615449-1657726448.1586615449)

Manjaro Linux を 18.02 から 19.02 にしたら format file `platex.fmt' が無いと言われました。

- T T の投稿
Manjaro Linux 18.02 ではコンパイル出来ていたファイルを、19.02 にしたシステムでコンパイルしようとしたら、以下のようなメッセージが出て止まってしまいました。

[TT]$ platex (ファイル名)
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019/Arch Linux) (preloaded format=platex)
restricted \write18 enabled.

kpathsea: Running mktexfmt platex.fmt
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "",
LC_ALL = (unset),
LC_ADDRESS = "ja_JP.UTF-8",
LC_NAME = "ja_JP.UTF-8",
LC_MONETARY = "ja_JP.UTF-8",
LC_PAPER = "ja_JP.UTF-8",
LC_IDENTIFICATION = "ja_JP.UTF-8",
LC_TELEPHONE = "ja_JP.UTF-8",
LC_MEASUREMENT = "ja_JP.UTF-8",
LC_TIME = "en_GB.UTF-8",
LC_NUMERIC = "ja_JP.UTF-8",
LANG = "ja_JP.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("ja_JP.UTF-8").
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt: /etc/texmf/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt: /home/(アカウント名)/.texlive/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /home/(アカウント名)/.texlive/texmf-var/web2c
mktexfmt [INFO]: did not find entry for byfmt=platex, skipped
mktexfmt [INFO]: Disabled formats: 6
mktexfmt [INFO]: Not selected formats: 28
mktexfmt [INFO]: Total formats: 34
mktexfmt [INFO]: exiting with status 0
I can't find the format file `platex.fmt'!

ネットの情報で、闇雲に

sudo fmtutil-sys --all


sudo mktexlsr

などを繰り返してみましたが、状況は変わりません。

お知恵拝借できれば幸いです。