pLaTeX / upLaTeX コミュニティ版 2017/07/29

pLaTeX / upLaTeX コミュニティ版 2017/07/29

- aminophen の投稿
返信数: 5
pLaTeX2e / upLaTeX2e を昨日リリースしました。
TeX Live の中央リポジトリには今朝入りました。

[1] 表のセル要素周囲に入ることがあった JFM グルーを抑制

表の中身が括弧類・句読点類などで始まる・終わる場合の挙動が変わります。
これによって、例えばソースを見やすくするために

\begin{tabular}{|l|c|r|}
(左揃え)&(中央揃え)&(右揃え)\\
(左) & (中) & (右)\\
\end{tabular}

のように & の周囲に半角空白を入れることがありますが、
その半角空白の有無によって結果が変わる現象を解消できました。

なお、この修正は array パッケージを読み込むと無効化してしまいます。
対策として、plarray パッケージというものを新作しました
(platex-tools バンドルに収録)。
pLaTeX/upLaTeX で array パッケージを使いたい場合は、
plarray パッケージを追加で、もしくは代わりに読み込むと便利です。

[2] plext パッケージの「組方向オプション」拡張の

従来は定まっていなかったために、pTeX の修正のたびにコロコロ変わっていた
「tabular や array と周囲の揃え方」を仕様化しました。
詳細は pldoc.pdf または plnewsc07.pdf を参照ください。

[3] ascmac パッケージの \Return 命令の衝突対策

たとえば

\usepackage{algorithm2e}
\usepackage{ascmac}

の順に読むと、algorithm2e が定義した \Return を ascmac が上書き
して、エラーなく algorithm2e が壊れていました。
そこで、このような非互換な上書き(とおぼしき場合)にエラーを出すようにしました。

---

plnewsc07.pdf は以下にあります。

https://drive.google.com/folderview?id=0B6Eau41oUFv-V25oeUc1ckxvd2s&usp=sharing
aminophen への返信

Re: pLaTeX / upLaTeX コミュニティ版 2017/07/29

- aminophen の投稿
先程 pLaTeX/upLaTeX 2017/07/29 版の patch level 1 をリリースしました。

* 2017/05/05 に入れた修正により「図\nolinebreak 2」のような場合に
\xkanjiskip が挿入されなくなっていたバグの修正
* forum:2238 であげた古くからの禁則ペナルティの設定間違いの修正
* \adjustbaseline(縦書きで和欧文のベースラインを合わせるマクロ)の基準文字が
「全角空白」だったのを「漢」という文字に変更

さて、機会あるごとに「テスト版 pLaTeX の試用のお願い」を出してきましたが、

# 冒頭で \RequirePackage{exppl2e} するとテスト版になる、というやつです。

今回はいつになく多数の修正候補を収録しています。結構長い間入れている

* アクセント合成文字の修正

に加え、欧文の LaTeX との互換性向上のための

* \ref 命令の修正
* \verb 命令の修正
* \texttt{...} や \textit{...} などの書体変更命令の修正

さらに pLaTeX/upLaTeX 特有の問題に対処するための

* \<(\inhibitglue の省略形)の改良
* tabbing 環境の修正

を入れてあります。より詳しい説明は plnewsc07.pdf(ここから入手可能)もしくは
exppl2e.pdf(CTAN ミラーに行き渡るのを現在待っているところ)にあります。

問題がなさそうなら 10 月頃に pLaTeX / upLaTeX に正式に導入予定ですので、それまでの間に
バグが出ないかどうかテストしていただけると幸いです。

=====

【補足】
今日、日本語 TeX 開発コミュニティが CTAN に上げたものは
* platex(上述)
* uplatex(上述)
* ptex-base(platex と同様の禁則ペナルティの修正)
* ptex-fonts(forum:1371 の“余計なエントリ”がまだ残っていたのを完全排除)
です。

まだ uptex-base の禁則ペナルティ修正版はリリースしていません。
近々 uptex-fonts も更新予定なので、これと同時にリリースする予定です。
aminophen への返信

Re: pLaTeX / upLaTeX コミュニティ版 2017/07/29

- y y の投稿
2017年9月5日の時点での W32TeX を使用していているのですが,
今回のアップデートに関係すると思われる問題が発生したので,報告させてください。

添付した sample.pdf は,以下のソース(sample.tex)を処理(ptex2pdf.exe -l sample.tex)してできたものです。

% --- sample.tex ここから ---
\documentclass{jsarticle}

\begin{document}

\begin{tabular}{|r|c|}
& xyz \\
a & 111 \\
bb & 22 \\
ccc & 3
\end{tabular}
2番目の縦罫線が揃わない。

\vspace{5mm}

\begin{tabular}{|r|c|}
{} & xyz \\
a & 111 \\
bb & 22 \\
ccc & 3
\end{tabular}
問題なし。

\end{document}
% --- sample.tex ここまで ---

1つ目の表で,2番目の縦罫線が揃わないという現象が起こってしまいます。

y y への返信

Re: pLaTeX / upLaTeX コミュニティ版 2017/07/29

- aminophen の投稿
報告ありがとうございます。たぶんバグです。
何度か各所で説明したことがありますが

\RequirePackage[2017/07/28]{platexrelease}

を TeX ソースの冒頭(\documentclass より前)に書いてください。
これで 2017/07/29 より前の pLaTeX/upLaTeX をエミュレートできますから,
とりあえずのバグ回避にはなると思います。
aminophen への返信

Re: pLaTeX / upLaTeX コミュニティ版 2017/07/29

- aminophen の投稿
続報ですが,セル内が空,かつ右揃え (r) のときに起きる問題のように見えています。直し方の例としては
「中身」をボックスに入れることで
\def\@tabclassz{%
  \ifcase\@lastchclass
    \@acolampacol
  \or
    \@ampacol
  \or
  \or
  \or
    \@addamp
  \or
    \@acolampacol
  \or
    \@firstampfalse\@acol
  \fi
  \edef\@preamble{%
    \@preamble{%
      \ifcase\@chnum
        \hfil\mbox{\inhibitglue\ignorespaces\@sharp\unskip}\hfil % c
      \or
        \hskip1sp\mbox{\inhibitglue\ignorespaces\@sharp\unskip}\hfil % l
      \or
        \hfil\hskip1sp\mbox{\inhibitglue\ignorespaces\@sharp\unskip}% % r
      \fi}}}
ですかね。 (罫線が揃わない理由は,現在の pLaTeX のコードで \unskip\unskip としているせいで,
その少し手前で発行されている \hfil というグルーが消されているため。)
aminophen への返信

Re: pLaTeX / upLaTeX コミュニティ版 2017/07/29

- aminophen の投稿
上記の変更を加えた pLaTeX / upLaTeX 2017/09/26 を緊急リリースしました。
数日後にアップデートすれば,修正版が降りてくるのではないかと思います。