array

Umo�liwia do��czenie w�asnej specyfikacji typu kolumny i zmienia standardowe makropolecenia definiuj�ce tabele: (\tabular i \array) -- na lepsze. Wskazane jest do��czenie pakietu w przypadku u�ywania �rodowisk: tabular, array, tabularx, longtable i supertabular.

Definicja nowego typu kolumny:
\newcolumntype{x }[n ]{preambu�a }
gdzie

x 
nazwa typu; u�ywana potem w definicji preambu�y tablicy
n 
liczba parametr�w formalnych definicji rodzaju kolumny okre�lonej specyfikacj� (mo�e by� pomini�te je�eli definicja jest bezparametrowa; je�eli paramatry wyst�puj�, s� one oznaczone jako: #1 #2, ...),
preambu�a 
definicja rodzaju kolumn.

W specyfikacji makropolecenia \newcolumntype oraz w definicji preambu�y tablicy mog� by� u�yte nast�puj�ce okre�lenia (w preambule tablicy mo�e znale�� si� oczywi�cie nowy, zdefiniowany poleceniem \newcolumntype typ).
l dosuni�cie tekstu do lewej
r dosuni�cie tekstu do prawej
c centrowanie
m{width } Definiuje kolumn� o szeroko�ci width . �rodek celi tej kolumny (po�owa wysoko�ci) pokrywa si� ze �rodkiem celi kolumny s�siedniej (por�wnaj; cela bie��ca i s�siednia). Odpowiednik: \parbox{width }; tekst jest �amany na szeroko�ci width .
p{width } R�wnowa�na: \parbox[t]{width }. Pozycjonowanie w/g szczytu celi.
b{width } R�wnowa�na \parbox[b]{width }. Pozycjonowanie w/g do�u celi.
>{macro } Mo�e by� u�yta przed jednym z nast�puj�cych typ�w: l, r, c, p, m lub b. polecenie macro  b�dzie wykonywana zawsze przed rozpocz�ciem cel w tak okre�lonej kolumnie.
<{macro } Mo�e by� u�yta po jednym z nast�puj�cych typ�w: l, r, c, p, m lub b. Polecenie macro  b�dzie wykonywana zawsze po zako�czeniu cel w tak okre�lonej kolumnie.
| Wstawienie linii pionowej jako separatora kolumn; odleg�o�� mi�dzy kolumnami zostanie zwi�kszona o szeroko�� linii (w odr�nieniu od oryginalnej definicji tabeli).
@{macro } Mo�e by� u�yte w dowolnym miejscu preambu�y zamiast |. Polecenie macro  zostanie wywo�ane mi�dzy kolumnami (kasuje normaln� odleg�o�� mi�dzy kolumnami).
!{macro } Mo�e by� u�yte w dowolnym miejscu preambu�y zamiast |. Polecenie macro  zostanie wywo�ane mi�dzy odpowiednimi kolumnami (w odr�nieniu od oryginalnej makroinstrukcji @{...} nie kasuje normalnej odleg�o�ci mi�dzy kolumnami).
*{n }{decl } n  -- krotne powt�rzenie decl ; gdzie decl  jest ci�giem poprzednio okre�lonych parametr�w. Np. *{3}{c} oznacza trzy kolumny centrowane.

Parametry kt�rymi mo�na regulowa� spos�b budowania tabeli:
Polecenie opis
\arraycolsep po�owa szeroko�ci odst�pu mi�dzy kolumnami tablicy w �rodowisku matematycznym (array) (domy�lnie 5pt)
\tabcolsep po�owa szeroko�ci odst�pu mi�dzy kolumnami tablicy (domy�lnie 6pt)
\arrayrulewidth szeroko�� pionowej linii separuj�cej kolumny (o ile jest u�ywana -- domy�lnie 0.4pt)
\doublerulesep odleg�o�� mi�dzy dwoma liniami pionowymi stanowi�cymi separator kolumn (domy�lnie 2pt)
\arraystretch ,,mno�nik'' odst�pu mi�dzy wierszami tablicy (np. \renewcommand{\arraystretch}{1.5} zwi�ksza odst�p o 50%)
\extrarowheight dodatkowy odst�p mi�dzy liniami (domy�lnie 0pt)

Uwaga
Niekt�re polecenia (np. \raggedright) zmieniaj� definicje polecenia \\; tak wi�c specyfikacja typu ostatniej kolumny jako:
>{\raggedleft}p{20mm}
mo�e spowodowa� b��d. Mo�emy temu zapobiec definiuj�c makroinstrukcj� odtwarzaj�c� definicj� polecenia \\
\newcommand{\PreserveBackslash}[1]% {\let\temp=\\#1\let\\=\temp}
\let\PBS=\PreserveBackslash
Argumentem pierwszego polecenia jest inne polecenie. Przed jego wykonaniem jest wykonywane makropodstawienie definicji \\ na zmienn� \temp, nast�pnie wykonanie polecenia i odtworzenie poprzedniej definicji \\ z zachowanej zmiennej \temp. Drugie polecenie uto�samia dla wygody (kr�tsza nazwa) zmienn� \PBS z utworzonym poleceniem \PreserveBackslash. Poprawna definicja ostatniej kolumny b�dzie wygl�da�a teraz nast�puj�co:
>{\PBS\raggedleft}p{20mm}

Uwaga:
W zwi�zku z realizacj� tabeli wyst�puje efekt uboczny --- blokowane jest przenoszenie wyraz�w (hyphenation) dla pierwszego wyrazu w celi. Efekt mo�emy skompensowa� wstawiaj�c pust� przestrze� o d�ugo�ci 0pt na pocz�tku celi (wykorzystuj�c mo�liwo�ci formowania preambu�y tabeli) np.
>{\PBS\raggedleft\hspace{0pt}}p{20mm}

Pakiet jest dost�pny standardowo w dystrybucjach LaTeX, a tak�e pod adresem:
ftp://ftp.gust.org.pl/TeX/macros/latex/required/tools/array.dtx


W�odzimierz Macewicz
Ostatnie zmiany: 05.05.2014.