easyeqn

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.