New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

縦数式ディレクションとベースライン補正 #22

Closed
aminophen opened this Issue Sep 5, 2016 · 3 comments

Comments

Projects
None yet
2 participants
@aminophen
Member

aminophen commented Sep 5, 2016

pLaTeX の Issue に書くのは違っているような気がしますが、Forum よりはこちらのほうが適していそうなので、ここに書きます。

以下のソースで、TeX Live 2015 と TeX Live 2016 の pLaTeX の挙動が違います。2016 の出力を 2015 と同じにしようとすると、2箇所付けているコメントのうち一方だけを有効にする必要があります。

%\textbaselineshiftfactor0        % この行か、または…
\documentclass{tarticle}
\begin{document}
%\ybaselineshift\tbaselineshift   % この行を有効にする
\[
|x| = \left\{ \begin{array}{rl}
 -x &\mbox{ if $x<0$} \\
  x &\mbox{ otherwise}
       \end{array} \right.
\]
\end{document}

変化した理由は forum:1851 でしょう。横組だとこういうソースの書き方をよく見かけますが、縦組ではどう書くのが好ましいのでしょうか。

@h-kitagawa

This comment has been minimized.

Show comment
Hide comment
@h-kitagawa

h-kitagawa Sep 5, 2016

Member

次の「テスト1」で A と a の垂直位置がずれているのと同じ理由と思われます.

テスト1: $A\hbox{aあいう}$\par
テスト2: $A\hbox{\tate aあいう}$

テスト1の \hbox は縦数式ディレクションなので,小文字の a は \ybaselineshift だけ下がります.
しかし \textbaselineshiftfactor が 1000 なので,そこから \tbaselineshift だけ上がってしまうことになります.
一方,テスト2では \hbox は通常の縦ディレクションなので,小文字の a は \tbaselineshift だけ下がり,また同じ量だけ上がるので,大文字の A と同じ垂直位置になります.

ボックスが通常の縦ディレクションで組まれているのか,それとも縦数式ディレクションで組まれているのかを判断できればよいのですが,現在の pTeX では一旦ノードとして組まれてしまうとその情報は失われてしまいます.

Member

h-kitagawa commented Sep 5, 2016

次の「テスト1」で A と a の垂直位置がずれているのと同じ理由と思われます.

テスト1: $A\hbox{aあいう}$\par
テスト2: $A\hbox{\tate aあいう}$

テスト1の \hbox は縦数式ディレクションなので,小文字の a は \ybaselineshift だけ下がります.
しかし \textbaselineshiftfactor が 1000 なので,そこから \tbaselineshift だけ上がってしまうことになります.
一方,テスト2では \hbox は通常の縦ディレクションなので,小文字の a は \tbaselineshift だけ下がり,また同じ量だけ上がるので,大文字の A と同じ垂直位置になります.

ボックスが通常の縦ディレクションで組まれているのか,それとも縦数式ディレクションで組まれているのかを判断できればよいのですが,現在の pTeX では一旦ノードとして組まれてしまうとその情報は失われてしまいます.

@aminophen

This comment has been minimized.

Show comment
Hide comment
@aminophen

aminophen Sep 5, 2016

Member

なるほど、テスト2のように \tate を明示して通常の縦ディレクションに入れればよいのですね。現在の pTeX ではボックスの縦ディレクションと縦数式ディレクションを区別できない、というのも、言われてみればそうでした。書くときに注意するしかなさそうですね…。ありがとうございます。

Member

aminophen commented Sep 5, 2016

なるほど、テスト2のように \tate を明示して通常の縦ディレクションに入れればよいのですね。現在の pTeX ではボックスの縦ディレクションと縦数式ディレクションを区別できない、というのも、言われてみればそうでした。書くときに注意するしかなさそうですね…。ありがとうございます。

@aminophen

This comment has been minimized.

Show comment
Hide comment
@aminophen

aminophen Sep 12, 2016

Member

TeX Live r42040, r42041 のパッチ確認しました。良い仕様だと思います。

Member

aminophen commented Sep 12, 2016

TeX Live r42040, r42041 のパッチ確認しました。良い仕様だと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment