pLaTeX2e 2017/10/28 と upLaTeX2e 2017/10/28u01 をリリースしました。
今回は以下の修正が入っています:
[1] LaTeX2e との互換性向上
* \ref の結果が英大文字の場合のスペースファクターを考慮
(従来は,例えば see Appendix A. の A. を \ref で取得した場合,
その後が文末空白にならなかった)
* \verb+ abc+ のように最初が半角空白の場合,それを行頭に書くと
空白が消滅していたのを修正
* \textbf などの書体変更命令で,その直前との間にイタリック補正が
入らなかったのを修正
[2] tabbing 環境の各行の最初の項目が始め括弧類などで始まる場合に
入っていた JFM グルーを抑制
[3] \inhibitglue の省略形命令 \< が段落頭(垂直モード)でも効くように改良
いつものように pLaTeX ニュースの PDF 版 (plnewsc*pdf) が
https://drive.google.com/folderview?id=0B6Eau41oUFv-V25oeUc1ckxvd2s&usp=sharing
にあります。今回のものは plnewsc08.pdf です。
私だけの事情だとは思いますが、
org-mode が好きだ。
TeX は書けない。
なので、org-mode から export させています。
=== org-mode ===
1. Figure template. Fig. [[fig:xxx]] is here.
($\autoref{fig:xxx}~on~\autopageref{fig:xxx}$)
(\autoref{fig:xxx}~on~\autopageref{fig:xxx})
#+CAPTION: xxx
#+NAME: fig:xxx
#+ATTR_LaTeX: :width 10truecm :float wrap :placement {r}{0.4\textwidth} :options angle=360
[[file:css/usavich.png]]
=================
===== export ======
\item Figure template. Fig. \ref{fig:xxx} is here.
(\(\autoref{fig:xxx}~on~\autopageref{fig:xxx}\))
(\autoref{fig:xxx}\textasciitilde{}on\textasciitilde{}\autopageref{fig:xxx})
\begin{wrapfigure}{r}{0.4\textwidth}
\centering
\includegraphics[angle=360,width=10truecm]{css/usavich.png}
\caption{\label{fig:xxx}
xxx}
\end{wrapfigure}
\end{enumerate}
=============
という感じです。
org-mode が好きだ。
TeX は書けない。
なので、org-mode から export させています。
=== org-mode ===
1. Figure template. Fig. [[fig:xxx]] is here.
($\autoref{fig:xxx}~on~\autopageref{fig:xxx}$)
(\autoref{fig:xxx}~on~\autopageref{fig:xxx})
#+CAPTION: xxx
#+NAME: fig:xxx
#+ATTR_LaTeX: :width 10truecm :float wrap :placement {r}{0.4\textwidth} :options angle=360
[[file:css/usavich.png]]
=================
===== export ======
\item Figure template. Fig. \ref{fig:xxx} is here.
(\(\autoref{fig:xxx}~on~\autopageref{fig:xxx}\))
(\autoref{fig:xxx}\textasciitilde{}on\textasciitilde{}\autopageref{fig:xxx})
\begin{wrapfigure}{r}{0.4\textwidth}
\centering
\includegraphics[angle=360,width=10truecm]{css/usavich.png}
\caption{\label{fig:xxx}
xxx}
\end{wrapfigure}
\end{enumerate}
=============
という感じです。
(このご投稿は,本件の再現例のご提示だと思いますけれども,)
通常,数式モード中に数式でない文字列は,\mbox なり,amsmathパッケージを前提とするのであれば,\text なりで,囲うと思います。
\documentclass[uplatex,dvipdfmx]{jsarticle}
\begin{document}
\section{A}\label{A}
\section{B}
$\mbox{\ref{A}}$
\end{document}
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage{amsmath}
\begin{document}
\section{A}\label{A}
\section{B}
$\text{\ref{A}}$
\end{document}
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage{hyperref}
\usepackage{amsmath}
\begin{document}
\section{A}\label{A}
\section{B}
$\text{\ref{A}}$
$\text{\autoref{A} on \autopageref{A}}$
\end{document}
ひとまず,workaround として,\mbox, \text で囲えば良さそうです。
通常,数式モード中に数式でない文字列は,\mbox なり,amsmathパッケージを前提とするのであれば,\text なりで,囲うと思います。
\documentclass[uplatex,dvipdfmx]{jsarticle}
\begin{document}
\section{A}\label{A}
\section{B}
$\mbox{\ref{A}}$
\end{document}
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage{amsmath}
\begin{document}
\section{A}\label{A}
\section{B}
$\text{\ref{A}}$
\end{document}
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage{hyperref}
\usepackage{amsmath}
\begin{document}
\section{A}\label{A}
\section{B}
$\text{\ref{A}}$
$\text{\autoref{A} on \autopageref{A}}$
\end{document}
ひとまず,workaround として,\mbox, \text で囲えば良さそうです。
今の疑問にぴったりかはわかりませんが,1つの例です.
たまに面倒だからといって本文を全て数式モードに入れる学生さんがいますが,
そういうのは禁則処理が効かなくて句読点が行頭に来るので見ればわかります.
例えば下をお試し下さい.数式モードだと最後の読点の前に改行が入ってしまいます.
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage[width=10zw]{geometry}
\begin{document}
\noindent
ああああああああああ.
\noindent
$ああああああああああ.$
\end{document}
たまに面倒だからといって本文を全て数式モードに入れる学生さんがいますが,
そういうのは禁則処理が効かなくて句読点が行頭に来るので見ればわかります.
例えば下をお試し下さい.数式モードだと最後の読点の前に改行が入ってしまいます.
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage[width=10zw]{geometry}
\begin{document}
\noindent
ああああああああああ.
\noindent
$ああああああああああ.$
\end{document}
> 逆に $(数式)テキスト(数式)$とした場合,
> どのような問題点が発生するのでしょうか?
> テキストが欧文であれば書体が変更されるなどの問題が発生しますが,
> 試してみたところ和文においては特に問題は感じられません.
内部処理の観点からは,数式モード中で使われた和文文字は「数式アルファベット」として
取り扱われています。そもそも,
「数式内で \mbox や \text なしでも直に和文を書くことができる」
という処理が可能なのは,
「jsarticle 等の多くの日本語クラスのデフォルトが
enablejfam だから」
にすぎません。
(もしご存じなければ Google で enablejfam や disablejfam で検索。)
したがって,和文に見えるけれどもそれはアルファベット(=欧文)と同等に扱われます。
たとえば,TeX Live 2016 かそれより新しい環境では
\documentclass{jsarticle}
\begin{document}
\ybaselineshift10pt
$a\hbox{あ}$\par
$aあ$\par
\end{document}
の一段落目と二段落目で違いが現れます。
> どのような問題点が発生するのでしょうか?
> テキストが欧文であれば書体が変更されるなどの問題が発生しますが,
> 試してみたところ和文においては特に問題は感じられません.
内部処理の観点からは,数式モード中で使われた和文文字は「数式アルファベット」として
取り扱われています。そもそも,
「数式内で \mbox や \text なしでも直に和文を書くことができる」
という処理が可能なのは,
「jsarticle 等の多くの日本語クラスのデフォルトが
enablejfam だから」
にすぎません。
(もしご存じなければ Google で enablejfam や disablejfam で検索。)
したがって,和文に見えるけれどもそれはアルファベット(=欧文)と同等に扱われます。
たとえば,TeX Live 2016 かそれより新しい環境では
\documentclass{jsarticle}
\begin{document}
\ybaselineshift10pt
$a\hbox{あ}$\par
$aあ$\par
\end{document}
の一段落目と二段落目で違いが現れます。
今日の TeX Live / W32TeX の更新に,
pLaTeX2e と upLaTeX2e のアップデートが載りました。
それぞれ platex-en.pdf,uplatex-en.pdf という英語版ドキュメントを
追加したのと,platexrelease パッケージ(古いバージョンとの互換性エミュレーター)の
内部コードの改良くらいで,組版に関しての変更は入れていません。
今回のリリース <2017/10/28>+3 をもって,TeX Live 2017 の期間中は更新を凍結するつもりでいます。
次回 2018 で出すときは,uplatex と platex のコードを一本化してしまおうかと模索しています。
(従来は互いに独立だったので,uplatex だけでも uplatex フォーマットを作ることが
できましたが,今後は uplatex フォーマットを作るために platex が必要になる,ということ。)
ユーザレベルでは違いが見えないことだと思いますが,何か懸念があればご意見をください。
pLaTeX2e と upLaTeX2e のアップデートが載りました。
それぞれ platex-en.pdf,uplatex-en.pdf という英語版ドキュメントを
追加したのと,platexrelease パッケージ(古いバージョンとの互換性エミュレーター)の
内部コードの改良くらいで,組版に関しての変更は入れていません。
今回のリリース <2017/10/28>+3 をもって,TeX Live 2017 の期間中は更新を凍結するつもりでいます。
次回 2018 で出すときは,uplatex と platex のコードを一本化してしまおうかと模索しています。
(従来は互いに独立だったので,uplatex だけでも uplatex フォーマットを作ることが
できましたが,今後は uplatex フォーマットを作るために platex が必要になる,ということ。)
ユーザレベルでは違いが見えないことだと思いますが,何か懸念があればご意見をください。