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.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.