発言者: TaD
発言日: 2007 01/03 12:43
発言元: 59.134.223.148
今年もよろしくご指導下さい.
高次の行列式を多用する必要に迫られて,
emath.sty にある
% 一般の行列
% ex. \pgyouretu{1,2,3;4,5,6}
を改変し,
% 一般の行列式
% ex. \vgyouretu{1,2;3,4;5,6;7,8,9}
を作ってみました.
どうも,列間隔が大きく,
また,縦棒との隙間が小さいようです.
どのように修正したらよろしいでしょうか.
よろしくお願いいたします.
---------------------------------------------------
% 一般の行列式
\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{%
\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}
▼関連発言
│
└◆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