私家版のしょぼいマクロ
\documentclass{jsarticle}
\makeatletter
\newenvironment{syslineq}[1][10]{%
\mbox\bgroup\begin{math}\left\{%
\renewcommand{\arraycolsep}{.15em}%
\begin{array}{*{#1}{cr}l}
}{%
\end{array}%
\right.\end{math}\egroup%
}
\makeatother
\begin{document}
\begin{syslineq}
& 7 x &-& y & & &=& 1 \\
& & & y &+& z &=& 2 \\
-& x & & &+& 8 z &=& 3
\end{syslineq}
\end{document}
事実上,array 環境。&
を並べるのが鬱陶しい…。
systeme パッケージ
CTAN: Package systeme - Format systems of equations (連立方程式の整形)
- TeX Live や MiKTeX には含まれている。
- 自分のシステムに新たに追加する場合は,
systeme.sty
とsysteme.tex
をダウンロードして,適当なところに置けばよい。 - 説明書は仏語。でも,眺めていれば使い方は何となくわかる。たぶん。
\documentclass{jsarticle}
\usepackage{systeme}
\begin{document}
\systeme{7x-y=1,y+z=2,-x+8z=3}
\end{document}
\systeme
の中は数式モードなので,中のものを $
でくくる必要はない,とのことらしい。
いろいろな使用例を掲載した頁を作ろう。>自分
autoaligne パッケージ
CTAN: Package autoaligne - Align terms and members in math expressions (項を揃えてくれる)
- TeX Live や MiKTeX には含まれている。
- 自分のシステムに新たに追加する場合は,
autoaligne.sty
とautoaligne.tex
をダウンロードして,適当なところに置けばよい。 - listofitems パッケージが必要。autoaligne パッケージを読み込む中で読み込まれる。
- listofitems パッケージを自分のシステムに新たに追加する場合は,
listofitems.sty
とlistofitems.tex
をダウンロードして,適当なところに置けばよい。 - 説明書は仏語。でも,眺めていれば使い方は何となくわかる。たぶん。
-
\autoaligne
の中は数式モードなので,中のものを$
でくくる必要はない,とのことらしい。
\documentclass{jsarticle}
\usepackage{autoaligne}
\begin{document}
\autoaligne{7x-y=1\\y+z=2\\-x+8z=3}
\end{document}
あれれ? 期待通りに縦に揃ってくれない…。
縦に揃えるには,空くところに +
を入れれば良いようだ。
\documentclass{jsarticle}
\usepackage{autoaligne}
\begin{document}
\autoaligne{7x-y=1\\+y+z=2\\-x++8z=3}
\end{document}
いろいろな使用例を掲載した頁を作ろう。>自分
spalignパッケージ
CTAN: Package spalign - Typeset matrices and arrays with spaces and semicolons as delimiters (行列の組版,成分の区切りはスペースとセミコロン)
- TeX Live や MiKTeX には含まれている。
- 自分のシステムに新たに追加する場合は,
spalign.dtx
とspalign.ins
をダウンロードして,platex spalign.ins
を実行して,得られたspalign.sty
を適当なところに置けばよい。
\spalignsys
コマンドの利用。\+
は2項演算子のダミー。\.
はダミー項。
\documentclass{jsarticle}
\usepackage{spalign}
\begin{document}
$\spalignsys{7x - y \+ \. = 1; \. \+ y + z = 2; -x \+ \. + 8z = 3}$
\qquad
$\left\{\spalignsys*{
7x - y \+ \. = 1; \. \+ y + z = 2; -x \+ \. + 8z = 3
}\right.$
\end{document}
半角スペースが区切りと認識されることに注意。係数と文字の間にうっかり空白を入れると…,
\documentclass{jsarticle}
\usepackage{spalign}
\begin{document}
$\spalignsys{7 x - y \+ \. = 1; \. \+ y + z = 2; -x \+ \. + 8 z = 3}$
\end{document}
…こんな風に失敗する。
いろいろな使用例を掲載した頁を作ろう。>自分
参考
- CTAN: Topic Maths system equations:連立方程式のためのパッケージの紹介
おしまい。