\sideset

名前: 大熊 一弘
日時: 2001-09-29 14:06:51
IPアドレス: 202.233.244.*

>>2502 転置行列については,奥村先生のマクロで解決済みですが, \sideset を大型演算子以外にも使えるようにする試みです. amsmath.sty の \sideset の定義を一部修正して \emsideset なるコマンドを作ってみました. これは,大型演算子以外のものを対象とします. \documentclass{jarticle} \usepackage{bm} \usepackage{amsmath} % 大型演算子以外のものに対する,左右の上付き・下付き % \emsideset #1#2#3 % #1 : 左上付き・下付き % #2 : 右上付き・下付き % #3 : 本体 \makeatletter \newcommand{\emsideset}[3]{% \@mathmeasure\z@\displaystyle{#3}% \global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@ \setbox\tw@\box\@ne \@mathmeasure4\displaystyle{\copy\tw@#1}% \@mathmeasure6\displaystyle{#3#2}% \dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@ \hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}% } \makeatother \begin{document} \verb/\sideset/ を使用するとベースラインが不揃いになる。 $X\sideset{^t\!}{}{\mathop X}$\hrule\medskip 大型演算子以外のものを対象とした \verb/\emsideset/ だと ベースラインが揃います。 $X\emsideset{^t\!}{}X$\hrule\bigskip ただし,\verb/\boldsymbol/ が効かないのは同様です。 \[ \emsideset{^t\!}{}{\boldsymbol a} \] これは\textsf{bm.sty}の\verb/\bm/を使うことで回避するのでしょうか。 \[ \emsideset{^t\!}{}{\bm a} \] \texttt{pmatrix}環境を大型演算子とみなして\verb/\sideset/を使用したもの \smallskip\hrule $ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \sideset{^p_q}{^r_s}{\mathop{% \begin{pmatrix} a & b \\ c & d \end{pmatrix}} } $ \hrule\smallskip と,新設の\verb/\emsideset/との比較です。\smallskip \hrule $ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \emsideset{^p_q}{^r_s}{% \begin{pmatrix} a & b \\ c & d \end{pmatrix} } $ \hrule \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)