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

LuaTeX-ja 20160331.0

- 北川 弘典 の投稿
北川です.

LuaTeX-ja 20160331.0 を出しました.

今回の更新は,LuaTeX 0.85 以降の動作が変わったことに
対応したことです(抜けがあったらすみません).

----
特に,ltjsclasses(ltjsarticle, ltjsbook 等)では \mag の使用を
やめました(つまり,「10 pt の結果を拡大縮小する」処理はなく,
レイアウトのパラメタ値の方を拡大縮小させる).
そのため,例えば [12pt] 指定時でも
  \hspace{10cm}
と記述すると 10 cm の空白が空きます.

標準では bxjscls の magstyle=xreal 指定時のように
「オプティカルサイズの調整」を行いますが,
問題が起きた場合には [real] オプションで無効化できます.

** WARNING ** Too thin line: height=1という警告

- 植田 晃央 の投稿
TeXworksを使ってファイルをコンパイルしたときに、
** WARNING ** Too thin line: height=1
という警告が出てきてしまうのですが、どうすれば解消できるのでしょうか。

数式中のボックスとベースライン補正

- 北川 弘典 の投稿
ベースライン補正が 0  でないときの tabular 環境の垂直位置について
考えていたのですが,その過程で
 文中数式モードでは自動的に全体にベースライン補正がかかり,
 その結果 $\hbox{漢字ABC}$ では「漢字」に一重,
 「ABC」に二重にベースライン補正が適用される
という pTeX の仕様について疑問を持ったので,実験してみました.
(参考:qa: 54286)

手元で「数式中の explicit なボックスは,
自動で入るベースライン補正を打ち消すように垂直位置をずらす」
というパッチを作り,次のソースで試してみました.
添付ファイルの黒が現行の pTeX の挙動,薄青がパッチ後の挙動です.

%%%%%%%%
\ifdefined\enablecjktoken
  \documentclass[uplatex]{jsarticle}
\else
  \documentclass{jsarticle}
\fi
\usepackage{amsmath}
\textwidth300pt
\begin{document}
\ybaselineshift=10pt
\noautoxspacing
\def\R{\vrule height 0.4pt depth 0pt width 10pt}
あいうえおABC$%
  \hbox{漢X\R}\vbox{\hsize=3em 字Y\hss}\R xyz\frac{\text{漢X\R}\R213}{s}
  \displaystyle\int_{0}^{\text{漢X\R}\R1}
$\vrule height 50pt depth 40pt

qa:54286
\begin{equation}
  y = f(x)= x^2+2x+1 + \int_{0}^{\pi} \frac{1+tx^2}{1-t^2}\,dt
\end{equation}
\end{document}
%%%%%%%%

「地の数式」中に配置したボックスについては良さそうに
思えますが,逆に,分数や添字中に \hbox を配置した場合は
欧文のベースラインが揃わなくなっています.
(折衷案としては,「\textstyle, \displaystyle のみ打ち消す」?)

何か感想や意見などがありましたらお願い致します.

gs-9.19 for windows

- Akira Kakuto の投稿
gs-9.18 for windows は gsview 5.0 と
相性が悪かったのですが,
gs-9.19 for windows は再び gsview 5.0
と相性が良くなっているようです。

デリミターで \left\langle \right\rangle が効きません

- DION Emily の投稿
下記にて,真ん中の丸括弧\left(と\right)とをとんがり括弧<,>に\leftと\rightを付けて囲んだのですが,
真ん中の丸括弧と同じ高さになってくれません。
どうすればいいのでしょうか?

$\left\langle\left(u_1\,\,u_2\,\,\cdots\,\,u_n\right)
\left(\def\arraystretch{0.6}
\begin{array}{@{}c@{}c@{}c@{}c@{}}
\bar{u^1} \\ \bar{u^2} \\ \vdots \\ \bar{u^n}\end{array}\right)
u_n,u_{\sigma(n)}\right\rangle$

TeXworks で cid-x.map が読み込まれない

- Machida Masahiro の投稿
Windows7 で TeXインストーラ3 を使って w32tex をインストールし、
C:\w32tex\share\texmfdist\fonts\map\dvipdfmx\base
にある cid-x.map をヒラギノが埋め込まれるように書き換えました。

例えば、hoge.tex をコンパイルしたいとします。
w32texに付属の TeXworks でタイプセットすると、ヒラギノが埋め込まれません。

しかし、cid-x.map を hoge.tex と同じディレクトリに置き、コマンドプロンプトで
$ dvipdfmx -f cid-x.map hoge.dvi
を実行すると、ちゃんとヒラギノが埋め込まれます。

ということは、TeXworks でタイプセットするときに、cid-x.map が読み込まれていないのだと思います。

どうすれば読み込みが可能なのか、ご教示いただると助かります。
よろしくお願いいたします。

冪根の数字付きの\sqrtの再定義

- ヤバルゴ mdl.2 の投稿
美文書[第5版] P.103 『6.2 いろいろな記号』に書かれているマクロを利用し,\sqrt の根号を揃えた \ssqrt を定義しました.次のマクロです.
\newcommand{\ssqrt}[1]{\sqrt{\smash[b]{\mathstrut #1}}}

しかし,\ssqrt[2] のように冪根の数字を付けたとき,出力結果がおかしくなります.
この問題への対処をご教授ください.


以下がその例と結果(TeX2imgで作成した画像)です.

%----------------------
%% ドキュメントクラス
\documentclass[uplatex,dvipdfmx,a4paper,papersize,magstyle=real]{bxjsarticle}
\pagestyle{empty}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{mathtools} % include amsmath

%--冪根の数字を修正する(大きくする)--
%  https://okumuralab.org/tex/mod/forum/discuss.php?d=1857
\usepackage{etoolbox}
\makeatletter
\patchcmd{\plainroot@}{\scriptscriptstyle}{\scriptstyle}{}{}
\makeatother

% 美文書[第5版] P.103 『6.2 いろいろな記号』に書かれているマクロを利用した
\newcommand{\ssqrt}[1]{\sqrt{\smash[b]{\mathstrut #1}}}

\begin{document}

\begin{align*} % \sqrt …不揃いで美しくない
t&=\sqrt{g}+\sqrt{h} \\
&=\sqrt[2]{g}+\sqrt[2]{h}
\end{align*}
\begin{align*} % \ssqrt …美しくなるハズ
t&=\ssqrt{g}+\ssqrt{h} \\
&=\ssqrt[2]{g}+\ssqrt[2]{h} % アレ
\end{align*}

\end{document}
%----------------------
添付 equation.jpg

tikzに関する質問です.

- Edward Elric の投稿
 tikzを使っていますが,図形の間に引く斜線の引き方がわかりません.

¥documentclass{jsarticle}
¥usepackage[top=30truemm,bottom=30truemm,left=25truemm,right=25truemm]{geometry}
¥usepackage{tikz}
¥usetikzlibrary{patterns}

% defining the new dimensions and parameters
¥newlength{¥hatchspread}
¥newlength{¥hatchthickness}
¥newlength{¥hatchshift}
¥newcommand{¥hatchcolor}{}
% declaring the keys in tikz
¥tikzset{hatchspread/.code={¥setlength{¥hatchspread}{#1}},
         hatchthickness/.code={¥setlength{¥hatchthickness}{#1}},
         hatchshift/.code={¥setlength{¥hatchshift}{#1}},% must be >= 0
         hatchcolor/.code={¥renewcommand{¥hatchcolor}{#1}}}
% setting the default values
¥tikzset{hatchspread=3pt,
         hatchthickness=0.4pt,
         hatchshift=0pt,% must be >= 0
         hatchcolor=black}
% declaring the pattern
¥pgfdeclarepatternformonly[¥hatchspread,¥hatchthickness,¥hatchshift,¥hatchcolor]% variables
   {custom north west lines}% name
   {¥pgfqpoint{¥dimexpr-2¥hatchthickness}{¥dimexpr-2¥hatchthickness}}% lower left corner
   {¥pgfqpoint{¥dimexpr¥hatchspread+2¥hatchthickness}{¥dimexpr¥hatchspread+2¥hatchthickness}}% upper right corner
   {¥pgfqpoint{¥dimexpr¥hatchspread}{¥dimexpr¥hatchspread}}% tile size
   {% shape description
    ¥pgfsetlinewidth{¥hatchthickness}
    ¥pgfpathmoveto{¥pgfqpoint{0pt}{¥dimexpr¥hatchspread+¥hatchshift}}
    ¥pgfpathlineto{¥pgfqpoint{¥dimexpr¥hatchspread+0.15pt+¥hatchshift}{-0.15pt}}
    ¥ifdim ¥hatchshift > 0pt
      ¥pgfpathmoveto{¥pgfqpoint{0pt}{¥hatchshift}}
      ¥pgfpathlineto{¥pgfqpoint{¥dimexpr0.15pt+¥hatchshift}{-0.15pt}}
    ¥fi
    ¥pgfsetstrokecolor{¥hatchcolor}
%    ¥pgfsetdash{{1pt}{1pt}}{0pt}% dashing cannot work correctly in all situation this way
    ¥pgfusepath{stroke}
   }
¥begin{document}
¥begin{tikzpicture}[domain=0:6]
¥coordinate (A) at (4.43,5.2); 
¥coordinate (B) at (2.9,1.9);
¥fill (A) circle (2pt) (B) circle (2pt); 
¥draw[->] (-1,0) -- (6.2,0);
¥draw[->] (0,-1) -- (0,6.2);
¥draw[->] (-1,0) -- (6.2,0);
¥draw (0,0) node[below left]{O};
¥draw[thick, domain=1:4.7,] plot (¥x,{0.05*exp(¥x)+1});
¥draw [thin, dashed](0,5.2)--(4.43,5.2)--(4.43,0)node[below]{$t+¥Delta t$}; 
¥draw [thin, dashed](0,1.9)--(2.9,1.9)--(2.9,0)node[below]{$t_0$}; 
¥draw [pattern=custom north west lines] (2.9,0) rectangle (4.43,1.9);
¥end{tikzpicture}
¥end{document}

上の図形で,(¥x,{0.05*exp(¥x)+1})の関数がありますが,その関数とx軸との間に斜線を引きたいです.(範囲は$t_0$から$t+¥Delta t$)その方法を教えてください.

上下の添字ができません。

- DION Emily の投稿
\sumとか\bigcapとかには\displaystyle\sum\{k=1}^nでΣの上下に添字k=1とnを付記できますよね。

それ以外の場合,例えば\boxtimesの上下に添字を付けたいのですがどうすればいいのでしょうか?

\overset{{}_nC_m}{\underset{\ii=1}{\scalebox{2}[2]{\boxtimes}}}

とすると行の中心からかなり上寄りにずれて出力されてしまいます。

documentclass で指定した用紙サイズを /BleedBox, /TrimBox に展開したい

- ヤバルゴ mdl.2 の投稿
dvipdfmx の special 命令で用紙サイズを PDF のメタデータ( /BleedBox, /TrimBox )に記述したいのですが, documentclass や geometry で指定した用紙サイズを /BleedBox, /TrimBox に自動で展開する記述方法をご教授ください.
(lengthconvert パッケージで試してみましたが,上手く動きませんでした.)

以下にコードを記載します.また同じものをZIPで添付します.
(https://texwiki.texjp.org/?dvipdfmx#e2cc950a を参考にしました.)


%-----------------
\documentclass[uplatex,dvipdfmx,ja=standard,magstyle=real]{bxjsarticle}

% lengthconvertパッケージ
% 例の修正(https://okumuralab.org/tex/mod/forum/discuss.php?d=1673)
\usepackage{lengthconvert}
\ExplSyntaxOn
\cs_new:Npn \__lconv_calc_dim_fixed:n #1
{
  \fp_eval:n
    {
      round( \dim_to_fp:n { #1 } / (1\l__lconv_unit_tl) , \l__lconv_precision_int)
    }
}
\cs_set_eq:NN \__lconv_calc_dim:n \__lconv_calc_dim_fixed:n
\ExplSyntaxOff

% 代入したい位置
% 用紙サイズを bp に変換した数値を自動で代入できると嬉しい
\usepackage{bophook}
\AtBeginPage{
  \special{pdf:put @thispage <<
    /BleedBox [0 0 595.28 841.89] % ここ
    /TrimBox [0 0 595.28 841.89] % ここ
  >>}
}


% 以下,おまけ
% 自力で改造しているので,間違っている可能性あり
\usepackage{datetime}
\renewcommand{\dateseparator}{-}
\title{My title}
\author{My name}
\date{\yyyymmdddate\today}

\AtBeginDvi{
  \special{pdf:tounicode UTF8-UTF16}
  \special{pdf:docinfo <<
    /Title (My title)
    /Subject (My subtitle)
    /Author (My name)
    /CreationDate (D:\pdfdate+09'00')
    /ModDate (D:\pdfdate+09'00')
    /Keywords (My keywords)
  >>}
}

\AtBeginDvi{
  \special{pdf:minorversion 3}
  \special{pdf:docinfo <<
    /Trapped /False
    /GTS_PDFXVersion (PDF/X-1:2001)
    /GTS_PDFXConformance (PDF/X-1a:2001)
  >>}
  \special{pdf:docview <<
    /OutputIntents [ <<
      /Type /OutputIntent
      /S /GTS_PDFX
      /OutputConditionIdentifier (JC200103)
      /OutputCondition (JC200103 (Japan Color 2001 Coated))
      /RegistryName (http://www.color.org)
    >> ]
  >>}
}

\begin{document}

\verb|\Convert[unit=bp,precision=2,number-only]{\paperwidth} ->|
\Convert[unit=bp,precision=2,number-only]{\paperwidth} % 595.28

\verb|\Convert[unit=bp,precision=2,number-only]{\paperheight} ->|
\Convert[unit=bp,precision=2,number-only]{\paperheight} % 841.89

\verb|\Convert|は\verb|document|環境でしか使えないのかな?

一応,プリフライトでPDF/X-1a準拠と確認できるものができあっている.

\end{document}