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

TeX Live 2019 での \inhibitglue の挙動変更【予定】

- aminophen の投稿
先ほど,pTeX に \inhibitglue の挙動変更が入りました。例えば

漢字\inhibitglue\relax (ああああ

のカッコの前の空白を見ると,

・TeX Live 2018 ではグルーが入る(= \inhibitglue 無効)
・TeX Live 2019 ではグルーが消える(= \inhibitglue 有効)

というように結果に差が出ます。
(ちなみに TeX Live 2013 以前も後者だったので,この例に限って言えば「昔に戻った」といえます。)

現時点では完全に確定したわけではありませんが,pTeX のコミット r49958 です。
https://www.tug.org/svn/texlive?view=revision&revision=49958


【背景】

原作者であるアスキーのドキュメントには,

===================================================================
\inhibitglue
和文フォントのメトリック情報から、自動的に挿入されるグルーの挿入を禁止します。
このプリミティブを挿入した箇所にのみ有効です。
===================================================================

と書かれていますが,
この「プリミティブを挿入した箇所のみ有効」という記述が大雑把であり,
「いったん発行した \inhibitglue が後ろのどこまで有効なのか」
がわかりにくいという問題がありました。

【過去の挙動】

(1) アスキーによる初期 〜 TeX Live 2013 以前

・いったん \inhibitglue を発行すると,次に和文文字が現れるまではずっと有効である。

(2) TeX Live 2014 〜 TeX Live 2018(pTeX 3.8.1 まで)

・\inhibitglue は,次に文字や展開不能トークンが現れると(後述の"穴"を除けば)無効化する。

ここでいう展開不能トークンには,\hbox{} や \hskip や \kern や \vrule といった
「ノードを挿入する処理」だけでなく,\relax や \let や数値代入といった
「ノードを挿入しない処理」も含まれます。それらが一つ以上挟まることで
\inhibitglue が無効化されるので,これぞまさに

> 「このプリミティブを挿入した箇所にのみ」

を実現したと思われてきました。参考:
http://doratex.hatenablog.jp/entry/20140714/1405302796

ところが,この時の修正にもまだ"穴"があることがわかってきました。

[穴1つ目] \hbox{} という展開不能トークン(しかも box ノードを挿入するもの)が
挟まったにもかかわらず,\inhibitglue が無効化されずにグルーが消えてしまう。

例→あ\relax \inhibitglue \hbox{}(このカッコの直前

※直前の \relax を削除すれば,想定通りグルーが消えます。

[穴2つ目] 別の \hbox{} の中で発行した \inhibitglue が外側に漏れ出して,
グルーが消えてしまう。

例→あ\setbox0=\hbox{\inhibitglue}(このカッコの直前

これらの穴をふさぐ修正のついでに,今回の \inhibitglue の挙動変更となりました。

【新しい挙動】

(3) TeX Live 2019 以降(予定)

1. \inhibitglue は,その後にノードが挿入されると無効化する。
つまり,\null や \hskip や \kern や \vrule といったノード挿入では必ず無効化され,
上述の [穴1つ目] のようなことは起こらない。

2. \inhibitglue は,ノードを挿入しない処理であれば透過する(無効化しない)。
つまり,\relax や \let\A\B や数値代入では無効化されない。

3. \inhibitglue の効果はリスト内に閉じる。
つまり,上述の [穴2つ目] のようなことは起こらない。

4. \inhibitglue を無効化する \disinhibitglue という新プリミティブの追加。
これは,上記 2. により \relax などが \inhibitglue を無効化しなくなったので,
「効きすぎて困った」という場合の対策として使えることを想定。

参考:GitHub issue 28
https://github.com/texjporg/tex-jp-build/issues/28

この新挙動が入った pTeX は,バージョンが p3.8.2 と表示されますので区別可能です。
(cf. TeX Live 2018 の最新版は p3.8.1)

papersize \specialと\pdflastypos

- 阿部 紀行 の投稿
papersize \specialの有無で\pdflastyposの値が変わるようで悩んでいます.お知恵をお貸しいただけると助かります.e-pTeXはpapersize \special実行時に\pdfpagewidthと\pdfpageheightを更新しますが,それが影響しているわけではないように見えています.

ソースは以下です.先ほど更新したW32TeXで試しています.(オプションdvipdfmxが不要ですが無視してください…….)

\documentclass[dvipdfmx]{tarticle}
\setlength{\pdfpagewidth}{\paperwidth}
\setlength{\pdfpageheight}{\paperheight}
% 以下二行をコメントアウトしたりしなかったりして試してみる.
\special{papersize=\the\paperwidth,\the\paperheight}% (a)
\AtBeginDvi{\special{papersize=\the\paperwidth, \the\paperheight}}% (b)
\begin{document}
A\pdfsavepos
\newpage
\message{pdflatexpos = \the\pdflastxpos, pdflastypos = \the\pdflastypos, pdfpagewidth = \the\pdfpagewidth, pdfpageheight = \the\pdfpageheight}
\end{document}

以下のように,(a)を有効にした時のみ値が変わっています.

* (a)(b)ともにコメントアウト
    pdflatexpos = 33717886, pdflastypos = 48424058, pdfpagewidth = 597.50787pt, pdfpageheight = 845.04684pt

* (a)のみコメントアウト
    pdflatexpos = 33717886, pdflastypos = 48424058, pdfpagewidth = 597.50787pt, pdfpageheight = 845.04684pt

* (b)のみコメントアウト
    pdflatexpos = 33717886, pdflastypos = 32201344, pdfpagewidth = 597.50787pt, pdfpageheight = 845.04684pt

* どちらもコメントアウトしない
    pdflatexpos = 33717886, pdflastypos = 32201344, pdfpagewidth = 597.50787pt, pdfpageheight = 845.04684pt

UltraEdit LaTeXでのツール設定につて

- 若松 久仁光 の投稿
UltraEdit でLaTeXが使えるとの事で、挑戦し
漸くPDF作成まで漕ぎ着けました。

ツール設定について、
未だ直接PDF表示までの「一貫した書き方」には
ならない設定のままです。

小生の環境は
MacOSX10.12.6 Sierra TexLive2018 UltraEdit for mac ver.18 です。

ツール設定 > コマンド > pdfLaTeX > コマンドライン >

"/Library/TeX/texbin/pdflatex" -synctex=1 -interaction=nonstopmode --clean --quiet --pdf --run-viewer "%n.tex"

と書いております。
此れで、一応texファイルと同じ場所に「pdf」が作成されております。

使用しているdocumentclassは
[\documentclass[pdflatex,ja=standard]{bxjsarticle}]です。

現在は「pdf」ファイルをPreview.app または「Skim.app」を指定して
手動で「ファイルを開いて」おります。

コマンドラインに「--pdf --run-viewer 」を入れて有るので
機能して「viewer」が起動して「pdf」ファイルを開くものと思っていましたが?

この書き方はUltraEdit32用の書き込みを参考に手を入れたものです。
参考サイトは
UltraEdit-32 and LaTeX
[http://thorchristian.net/latex/]です。



出来れば「skim.app」からPDFを確認したいのですが、
お知恵を拝借できないでしょうか?
よろしくお願い致します。若松久仁光拝

TexWorksが起動しません

- 森元 勘治 の投稿
森元と申します。
Windows 10 を使用しており、機種はHP Elite Book です。
美文書作成入門 LaTex2e 改訂第7版についている、ディスクを用いてインストールしました。インストールは正常に行われたと思います。
そこで、TeX Works を起動しようとしたところ、ぐるぐると時間待ちのまるい輪が出ましたが、数秒で消えて、それ以上何も起こりません。何度試みても同じです。何かインストールを失敗したのかと思い、削除して、もう一度インストールしましたが、再び同じ現象が発生し、起動しません。
このようなことは初めてです。他にも、DeLLやToshibaDinabook を使用していますが、TeXは正常に動作しています。
全くもって不可解です。TeXの問題より、パソコンの問題かとも思うのですが、その他のソフト(MicroSoft等)は正常に動作しています。
このような現象への対処方法をご存じの方がおられましたら、ご教示いただけないでしょうか。
困り果てております。

Texshop2018 日本語がpdf変換できない

- わた の投稿
初めて質問させていただきます。
macOS High Sierra(バージョン10.13.6)にTexshop2018をインストールしたのですが、以下のようなエラーが発生してdviからpdfに変換できません。


p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Hiragino Sans'; color: #000000}

\documentclass[uplatex]{jsbook}

\begin{document}

初めてのTex

\end{document}


タイプセットすると、

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #000000; min-height: 14.0px}

This is ptex2pdf[.lua] version 20181212.0.

Processing hajimete-tex3.tex

This is e-upTeX, Version 3.14159265-p3.8.1-u1.23-180226-2.6 (utf8.uptex) (TeX Live 2018) (preloaded format=uplatex)

restricted \write18 enabled.

entering extended mode

(./hajimete-tex3.tex

pLaTeX2e <2018-12-01u02> (based on LaTeX2e <2018-12-01>)

(/usr/local/texlive/2018/texmf-dist/tex/platex/jsclasses/jsbook.cls

Document Class: jsbook 2018/12/11 jsclasses (okumura, texjporg)

(/usr/local/texlive/2018/texmf-dist/tex/platex/jsclasses/jslogo.sty))

(./hajimete-tex3.aux) [1] (./hajimete-tex3.aux) )

Output written on hajimete-tex3.dvi (1 page, 352 bytes).

SyncTeX written on hajimete-tex3.synctex.gz.

Transcript written on hajimete-tex3.log.

hajimete-tex3.dvi -> hajimete-tex3.pdf

[1

kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 0+555/600 --dpi 555 uprml-h

mktexpk: don't know how to create bitmap font for uprml-h.

mktexpk: perhaps uprml-h is missing from the map file.

kpathsea: Appending font creation commands to missfont.log.


dvipdfmx:warning: Could not locate a virtual/physical font for TFM "uprml-h".

dvipdfmx:warning: >> There are no valid font mapping entry for this font.

dvipdfmx:warning: >> Font file name "uprml-h" was assumed but failed to locate that font.

dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...


Output file removed.

ptex2pdf processing of hajimete-tex3.tex failed.



となります。
英語だとpdfは作成されました。

ちなみに、
http://doratex.hatenablog.jp/entry/20180501/1525144736
を参考にして、ヒラギノフォントの埋め込みはやっております。
また、似たようなエラーが出ている質問はいくつかあり、
https://okumuralab.org/tex/mod/forum/discuss.php?d=2267&parent=13345
を参考にして、IPAexに埋め込むフォントを変更してみたのですが特に変わりませんでした。



何か解決策があれば、ご教授願います。

本文中で参照されている式のみに式番号を付与したい

- Masatoshi TSUCHIYA の投稿
修論予備審査で、本文中で「式 (#.##) のように○○する」等の形で参照している式だけに式番号を付与すべき派と、全ての式に式番号を付与すべき(複数式を一度に書き下している等の自明な場合に限って省略すべき)派の戦いが発生しました。

前者をとても強力に主張されている教員がいらっしゃるので、そのように対応せざるを得ないのですが、折角 LaTeX を使っているのでマクロで対応したいと思って実装しました。

https://gist.github.com/tsuchm/5260a4ef942c29178ee9ccefcc755176

しかし、hyperref パッケージと共存できません。共存できるように改良するには、どうしたら良いでしょうか?

jlreqをupdateしたら、今まで正常にコンパイルできていたのに、通らなくなりました。

- mr2h の投稿
先日、『QA: ページの振り方で悩んでいます。』で散々お世話になった者です。さて、12/12にtlmgr update --self --allを実行したところ、jlreqも更新されました。…が、それ以来ソースが通らないでエラーで止まります。種々考えましたが、結局このjlreqを前に戻すことで、正常になりました。
jlreqの仕様が変わったのでしょうか、バグなのでしょうか?
Win10とWin7で試しましたが全く同じ現象です。
ソースは、、『QA: ページの振り方で悩んでいます。』の最後に添付したファイルで、一寸おおきいファイルです。(済みません、File名が、文字化けしているzip fileです。)
jlreqは、 tjmgr restore jlreq 48535 として戻しました。

Trojan:Win32/Spursint.F!cl

- Koba Keito の投稿
題名のウイルス名でTexliveのインストーラーが隔離されますが,これは誤検知ですか?
セキュリティソフトはWindows Defenderです.

Conversion dvi to pdf in Skim (代理投稿)

- 奥村 晴彦 の投稿
メールでいただいた情報です:

--------------------------------------

さて Skim の記事
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Skim
の中で,
“dvipdfmx が標準的な場所にないときは

defaults write -app Skim SKDviConversionCommand -string\
/path/dvipdfmx

で設定します”とありましたが,私の場合うまく行きませんでした。
書き込む対象を考えましたが,どうも
~/Library/Preferences/net.sourceforge.skim-app.skim.plist
のではなかろうかと見当をつけ,このプロパティ・リストと skim
をキーにして検索をかけたところ,解決策が大本の情報に書いてあり
ました。

http://sourceforge.net/apps/mediawiki/skim-app/index.php?title=Hidden_Preferences#Opening_DVI_Files

の“Hidden Preferences”に設定のやり方が書いてあります。
記事のコマンドがうまく行かないときは,Hidden Preferences の
示唆に従い

defaults write net.sourceforge.skim-app.skim \
SKDviConversionCommand -string /path/dvipdfmx

と指定すればプロパティ・リストの中に SKDviConversionCommand
とその情報が書き込まれていました。もちろん,期待どおり動きます。
ご存知かもしれませんが,困っているユーザーもいるかもしれません
ので,よろしくお願いいたします。

英単語テストの順番を並び替えたい

- tanaka kanata の投稿
初めて質問させていただきます。初心者です。

英単語テストの問題の順番だけを並び替えたいのですが,知恵を貸していただけないでしょうか。
TeXの環境としては,TeXlive2018,pLaTeX(ptex2pdf)を使用しています。
理想としては,例えば,

・・・プリアンブル・・・
\begin{document}
\begin{shuffle}
\mondaitokotae{agree with ...}{...に賛成する}
\mondaitokotae{have a cold}{風邪をひく}
\mondaitokotae{I'm hungry.}{私はおなかがすいた}
\mondaitokotae{hogehoge}{ほげほげ}
\end{shuffle}
\end{document}

と入力すると,出力の1ページ目には,
1. have a cold
2. I'm hungry.
3. agree with ...
4. hogehoge
で,2ページ目に,その番号に対応して
1. 風邪をひく
2. 私はおなかがすいた
3. ほげほげ
4. ...に賛成する
と出力されるような環境を作りたいorそのような環境が定義されているパッケージはあるかどうかを知りたいです。
まだマクロの定義については全然無知ですが,ご教授いただければ幸いです。