emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.5447  Re:\vgyouretu の作成
発言者: 田中徹
発言日: 2007 01/03 13:21
発言元: 218.110.28.167
本年度もよろしくお願いいたします。>皆様

> どうも,列間隔が大きく,

\arraycolsep を適切に調整する。
副作用まで考えるのならグルーピングまで面倒をみる。

> また,縦棒との隙間が小さいようです.

後述のソースでは
\def\@前余白{\text{前}}%
\def\@後余白{\text{後}}%
としましたが
\, や \: など、好みで変更した後 \arraycolsep で
適切に整えることになると思います。


\documentclass{jarticle}
\usepackage{emath}

\makeatletter
% 一般の行列式
%  ex. \vgyouretu{1,2;3,4;5,6;7,8,9} 
\def\vgyouretu{\@ifnextchar[{\@vgyouretu}{\@vgyouretu[\gyouretu@haiti]}}
\def\@vgyouretu[#1]#2{{\let\EMdef\gdef
  \def\gyouretu@haiti@{#1}{% ←
  \ensuremath{%
\def\@前余白{\text{前}}%
\def\@後余白{\text{後}}%
\arraycolsep=1pt%
  \begin{vmatrix}%
  \Cfor%
    {\Strsep{#2}{;}\pM@tempa\pM@tempb}%
    {\not\equal\pM@tempa\empty}%
    {\Strsep\pM@tempb{;}\pM@tempa\pM@tempb}%
    \do{%
      \Cfor%
        {\xdef\lntop{0}\Strsep\pM@tempa{,}\pM@tempc\pM@tempd
        }%
        {\not\equal\pM@tempc\empty}%
        {\Strsep\pM@tempd,\pM@tempc\pM@tempd
        }%
        \do{%
          \ifthenelse{\lntop=\z@}{%
            \xdef\lntop{1}{\@前余白}\pM@tempc{\@後余白}
          }{%
             &\pM@tempc{\@後余白}
          }%
        }
      \ifthenelse{\equal\pM@tempb\empty}{}{\\}%
    }
  \end{vmatrix} }
}}}
\makeatother

\begin{document}
\[\vgyouretu{
a_{11},a_{12},a_{13};a_{21},a_{22},a_{23};a_{31},a_{32},a_{33}}
=(-1)^{1+1}a_{11}\vgyouretu{a_{22},a_{23};a_{32},a_{33}}
+(-1)^{2+1}a_{21}\vgyouretu{a_{12},a_{13};a_{32},a_{33}}
+(-1)^{3+1}a_{31}\vgyouretu{a_{12},a_{13};a_{22},a_{23}}\]
\end{document}

本題と関係ありませんが
> %  ex. \vgyouretu{1,2;3,4;5,6;7,8,9} 
は、矩形な行列にならないようですね。

▼関連発言

5445:\vgyouretu の作成 [TaD] 01/03 12:43
 ├5446:Re:\vgyouretu の作成 [石原 守] 01/03 13:19
 ├5447:Re:\vgyouretu の作成 [田中徹] 01/03 13:21
 ├5448:Re:\vgyouretu の作成 [tDB] 01/03 13:30
 │├5449:  縦ピッチ [tDB] 01/03 13:49
 │├5450:  横間隔 [tDB] 01/03 14:14
 │└5452:emath.sty v 1.72 [tDB] 01/03 16:35
 │ └5453:emath.sty v 1.73 [tDB] 01/06 11:00
 │  ├5454:Re:emath.sty v 1.73 [TaD] 01/06 12:11
 │  └5455:  訂正 [tDB] 01/06 13:16<-last
 └5451:Re:\vgyouretu の作成 [TaD] 01/03 15:16

Pass 保存


CGIROOM