Pakiet udostępnia środowiska EQ i EQA służące do prezentacji
wzorów matematycznych (jest zgodny z pakietem showkeys).
Główną różnicą w stosunku do środowisk
equation i eqnarray jest to, że wzory są numerowane
tylko wtedy, gdy w tekście występuje do nich odwołanie
(oczywiście przez etykietę).
Pakiet posiada następujące opcje:
allnumber
|
numerowane są wszystkie wzory (definiowane środowiskami EQ
lub EQA) -- nie tylko te do których są odwołania
|
warning
|
podawane są komunikaty o wzorach etykietowanych, do których nie ma
odwołań
|
easyold
|
definiowane są środowiska występujące w starszych wersjach pakietu:
EQS,
EQS*,
EQ*,
EQA*
|
fleqn
|
wzory są dosunięte do lewego marginesu; lewy margines można ustalić
poleceniem \eqleftmargin{długosć}; jeśli
równocześnie jest użyta opcja leqno
to wielkość marginesu musi uwzględnić miejsce
na oznaczenie wzoru |
leqno
|
oznaczenia wzorów są wstawiane z lewej strony
|
math
|
powoduje definiowanie dodatkowych makroinstrukcji przydatnych przy
składzie wzorów
|
Prosty przykład
\begin{EQ}\label{eq:1}
\frac{x}{y} = z
\end{EQ}
\begin{EQ}\label{eq:2}
\frac{x}{y} = z
\end{EQ}
I will refer only to \eqref{eq:1} or,
in the old style, \refeq{eq:1}.
| |
ilustruje działanie i przy okazji pokazuje, że zostały zdefiniowane dwie makroinstrukcje
służące
do powołania się na dany wzór (makroinstrukcja ref nie włącza
mechanizmu oznaczania wzoru i generowania etykiet),
różnice w działaniu widać na ilustracji; uzgodnienie połączeń wymaga trzykrotnej kompilacji.
Zarówno środowisko EQ jak i EQA może służyć do budowy
tabel, różnica polega na tym, że w przypadku EQ cały wzór jest
opatrzony jednym numerem, a w przypadku EQA numerem jest
opatrzony
każdy wiersz tabeli (o ile jest on zaetykietowany
i jest do niego odwołanie lub
zostało użyte polecenie \yesnumber).
\begin{EQ}[rcll]
\nabla\cdot(\rho\nabla u)&=&f \qquad
&\mbox{on $\Omega$} \\
u&=&u_{0}&\mbox{on $A\subset\partial\Omega$} \\
(\rho\nabla u)\cdot n&=&u_{1}
&\mbox{on $B\subset\partial\Omega$}\label{eq2}
\end{EQ}
in \eqref{eq2} ....
| |
\begin{EQA}[rcll]
\nabla\cdot(\rho\nabla u)&=&f \qquad
&\mbox{on $\Omega$} \\
u&=&u_{0}&\mbox{on $A\subset\partial\Omega$}
\label{eq3}\\
(\rho\nabla u)\cdot n&=&u_{1}
&\mbox{on $B\subset\partial\Omega$}\label{eq4}
\end{EQA}
in \eqref{eq3} and \eqref{eq4} ....
| |
W obu środowiskach parametr opcjonalny określa sposób pozycjonowania
poszczególnych kolumn:
l | -- |
do lewej krawędzi
|
c | -- |
centralnie
|
r | -- |
do prawej krawędzi
|
. | -- |
powoduje skasowanie odległości między kolumnami (odpowiada
międzykolumnowej specyfikacji
@{})
|
polecenia przejścia do nowego wiersza (//) można używać nawet wtedy, gdy
parametr opcjonalny nie jest zdefiniowany -- domyślnie zdefiniowana
jest jedna wycentrowana kolumna (ale nie jest przewidziane miejsce
na oznaczenie wzoru).
Do łączenia kolumn służy makroinstrukcja \eqmulticol o następującej
składni:
\eqmulticol{ncol}{align}{zawartość}
gdzie:
ncol | -- |
liczba łączonych kolumn
|
align | -- |
sposób pozycjonowania kolumny (tak jak w opcjonalnym parametrze
środowisk)
|
zawartość | -- |
zawartość kolumny
|
Dodatkowe polecenia:
\yesnumber -- wymusza numerowanie wzoru (lub wiersza tabeli
w którym jest użyty)
\begin{EQ}[rcl]\yesnumber
a & = & \frac{1}{23} \\
b & = & \sqrt{\frac{1}{23}}
\end{EQ}
|
|
equationleft -- powoduje, że wszystkie następne wzory będą dosunięte
do lewego marginesu (p. opcja fleqn)
equationcenter -- powoduje, że wszystkie następne wzory będą
centrowane
numberleft -- powoduje, że we wszystkich następnych wzorach
oznaczenia będą po lewej stronie (p. opcja lefteqno)
numberright -- powoduje, że we wszystkich następnych wzorach
oznaczenia będą po prawej stronie
\eqspacing{odległość} -- odległość przed i po wzorze
\eqcolumnsep{odległość} -- odległość między kolumnami
\eqrowsep{odległość} -- odległość między wierszami
\eqlabeltop -- oznaczenie wzoru na górze
\eqlabelbot -- oznaczenie wzoru na dole
\eqlabelcenter -- oznaczenie wzoru centralnie
\eqlabeltop
\begin{EQ}
\nabla\cdot(\rho\nabla u) = 0 \\
\nabla\cdot(\rho\nabla u) = 0 \\
\nabla\cdot(\rho\nabla u) = 0 \label[TOP]
\end{EQ}
|
|
\eqlabelbot
\begin{EQ}
\nabla\cdot(\rho\nabla u) = 0 \\
\nabla\cdot(\rho\nabla u) = 0 \\
\nabla\cdot(\rho\nabla u) = 0 \label[BOT]
\end{EQ}
|
|
\eqlabelcenter
\begin{EQ}
\nabla\cdot(\rho\nabla u) = 0 \\
\nabla\cdot(\rho\nabla u) = 0 \\
\nabla\cdot(\rho\nabla u) = 0 \label[CENTER]
\end{EQ}
|
|
zmiana pozycji oznaczenia wzoru jest możliwa jedynie we wzorach
wieloliniowych. |
makroinstrukcja \label ma dodatkowe własności:
\label{nazwa_etykiety} | --
| działanie standardowe |
\label[tekst] | --
| wzór zostanie oznaczony podanym
tekstem (nie jest definiowana etykieta,
na którą można się powołać) |
\label[tekst]{nazwa_etykiety} | --
| wzór zostanie oznaczony podanym
tekstem, nazwa_etykiety jest etykietą,
na którą można się powołać |
\label(tekst) | --
| wzór zostanie oznaczony podanym
tekstem, który zostanie ujęty w nawiasy ()
(nie jest definiowana etykieta,
na którą można się powołać) |
\label(tekst){nazwa_etykiety} | --
| wzór zostanie oznaczony podanym
tekstem, który zostanie ujęty w nawiasy (),
nazwa_etykiety jest etykietą,
na którą można się powołać |
Przykład:
\begin{EQA}[c]
\nabla\cdot(\rho\nabla u) = 0
\label(eq.1){eq:custom:a} \\
\nabla\cdot(\rho\nabla u) = 0
\label[eq.2]{eq:custom:b} \\
\nabla\cdot(\rho\nabla u) = 0
\label[***1***]
\end{EQA}
I will refer to
\eqref{eq:custom:a} and
\eqref{eq:custom:b}
|
|
W parametrze makroinstrukcji \label można użyć znaku
~ -- oznacza on wstawienie polecenia
\theequation z ostatnio użytą wartością licznika wzorów, bez jego
inkrementacji. W ten sposób łatwo uzyskać efekt dodatkowego numerowania
wzoru
(p. także pakiety
subeqn i subeqnarray)
\begin{EQA}[c]\label{dqq}\yesnumber
\nabla\cdot(\rho\nabla u) = 0 \label(~.a){aqq}\\
\nabla\cdot(\rho\nabla u) = 0 \label(~.b){bqq}\\
\nabla\cdot(\rho\nabla u) = 0\label(~.c){cqq}
\end{EQA}
\eqref{aqq} \eqref{bqq} \eqref{cqq}
|
|
konieczne jest zdefiniowanie etykiety
na początku (\label{dqq}\yesnumber),
tak aby została zwiększona wartość licznika, w przeciwnym razie
kolejne linie byłyby oznaczane (0.a), (0.b) i (0.c)
|
Dodatkowe polecenia aktywowane opcją math
\frac[długość]{licznik}{mianownik}
| -- |
| parametr opcjonalny pozwala na zmianę grubości kreski ułamkowej
(z powodu błędów definicji przed wywołaniem
pakietu należy skasować standardową definicję makroinstrukcji
poleceniem \let\frac\relax)
|
\dfrac[długość]{licznik}{mianownik}
| -- |
| licznik i mianownik składany jest zawsze w ,,displaystyle''; parametr opcjonalny pozwala na zmianę grubości kreski ułamkowej
|
\tfrac[długość]{licznik}{mianownik}
| -- |
| licznik i mianownik składany jest zawsze w ,,textstyle''; parametr opcjonalny pozwala na zmianę grubości kreski ułamkowej
|
\eqbox{zawartość} |
\eqbox(grubość,odległość){zawartość}
| -- |
|
makroinstrukcja pozwala na ujęcie fragmentu wzoru w ramkę;
parametr opcjonalny określa grubość ramki i jej odległość od zawartości
\[
\eqbox{\int_0^\infty dx}~~~~
\eqbox(2pt,5pt){\int_0^\infty dx}
\]
|
|
|
\norm{zawartość}
| -- |
|
|
\abs{zawartość}
| -- |
|
|
\ParDer[definicja mianownika]{licznik}
| -- |
|
|
\DIV{zawartość}
| -- |
|
|
\GRAD{zawartość}
| -- |
|
|
\LAPLA{zawartość}
| -- |
|
|
\SUM{od}{do} |
\SUM[indeks]{od}{do}
| -- |
|
|
\PROD{od}{do} |
\PROD[indeks]{od}{do}
| -- |
|
|
Dodatkowe środowiska aktywowane opcją math
ARRAY
| -- |
różnicę w stosunku do środowiska array
ilustruje przykład (pola tablicy są składane w ,,displaystyle'')
\[
\left(\begin{array}{cc}
1 & \frac{1}{2} \\
\sqrt{3} & \frac{2}{\sqrt{3}}
\end{array}\right), \qquad
\left(\begin{ARRAY}{cc}
1 & \frac{1}{2} \\
\sqrt{3} & \frac{2}{\sqrt{3}}
\end{ARRAY}\right),
\]
|
|
|
MATRIX
| -- |
różnicę w stosunku do makroinstrukcji matrix
ilustruje przykład (odległość między wierszami)
\[
\matrix{
1 & \frac{1}{2} \cr
\sqrt{3} & \frac{2}{\sqrt{3}}
}, \qquad
\begin{MATRIX}
1 & \frac{1}{2} \\
\sqrt{3} & \frac{2}{\sqrt{3}}
\end{MATRIX}
\]
|
|
|
Pakiet easyeqn
wraz z pakietami pomocniczymi jest dostępny
pod adresem:
ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/easy/
Włodzimierz Macewicz
Ostatnie zmiany: 05.05.2014.