bar

Pakiet LaTeX-a 2.09 dostarcza szeregu makroinstrukcji służących do budowy wykresów słupkowych (wygenerowany materiał ma źle obliczoną wysokość i głębokość -- wskazane jest zanurzyć go w środowisku picture i samodzielnie oszacować wymiary)1.
makroinstrukcja opis
\begin{barenv} otwarcie środowiska
\bar{wysokość }{indeks }[opis ] wysokość  -- wysokość słupka;
indeks  -- numer wzoru wypełniającego słupek;

opis  -- opis pozycji
\hlineon aktywuje linie poziome (siatka)
\legend{index }{tekst } tekst  będzie opisem słupka reprezentowanego wzorem index ; jeżeli wystąpi przynajmniej jedno takie polecenie tworzona jest legenda
\setdepth{numer } liczba określająca głębokość słupka ,,trójwymiarowego'' (>=10)
\sethspace{stosunek } stosunek  określa odstęp między słupkami jako część szerokości słupka
\setlinestyle{style } określa sposób drukowania lini tła -- siatki (aktywowanych poleceniem \hlineon); możliwe są style 
solid
linia ciągła i
dotted
linia kropkowana (wszystkie inne są traktowane jak dotted)
\setnumberpos{pos } określa miejsce umieszczenia opisu słupka reprezentującego jego wartość:
empty
bez opisu
axis
nad lub pod osią X w zależności o znaku reprezentowanej wartości
down
pod osią (konflikt z opisem nadawanym parametrem poleceia \bar)
inside
wewnątrz słupka
outside
poza słupkiem
up
nad słupkiem
\setprecision{liczba } określenie precyzji zapisu liczb na liczba  pozycji po przecinku
\setstretch{mnożnik } określa skalę pionową wykresu
\setstyle{font } określenie kroju czcionki napisów (głównie generowanych, a nie podawanych explicite)
\setwidth{liczba } szerokość słupka w punktach (pt)
\setxaxis{w1 }{w2 }{krok } definicja opisu osi X:
w1  -- wartość pierwszej pozycji
w2  -- wartość ostatniej pozycji
krok  -- co ile podawać opis
\setyaxis[]{w1 }{w2 }{krok } definicja opisu osi Y:
w1 
wartość pierwszej pozycji
w2 
wartość ostatniej pozycji
krok 
co ile podawać opis
o ile podnieść podstawę wykresu ponad oś X (parametr opcjonalny)
\setxname[]{etykieta } nazwa osi X, parametr określa położenie tekstu w pudełku (l -- na lewo, r -- na prawo, b -- dół, t -- góra; można specyfikować jednocześnie oba kierunki)
\setyname[]{etykieta } nazwa osi Y parametr określa położenie tekstu w pudełku (l -- na lewo, r -- na prawo, b -- dół, t -- góra; można specyfikować jednocześnie oba kierunki)
\setxvaluetyp{typ } rodzaj wartości reprezentowanej przez oś X; typ  może przyjmować następujące wartości:
day
opisem pozycji na osi X będą nazwy dni tygodnia
month
opisem pozycji na osi X będą nazwy miesięcy2
w pozostałych przypadkach są to wartości liczbowe
\end{barenv} zamknięcie środowiska

Przykład

\begin{picture}(80,80)(0,0)
\begin{barenv}
\setdepth{10}
\setstretch{1.4}
\setnumberpos{up}
\setxvaluetyp{month}
\setxname{Trymestr}
\setxaxis{10}{40}{10}
\setyaxis{0}{40}{10}
\setyname{Liczba}
\bar{10}{1}
\bar{30}{4}
\bar{15}{6}
\bar{5}{7}
\end{barenv}
\end{picture}


1 W orginalnym pakiecie jest błąd; dla wzoru nr. 7 tekst opisu słupka jest pozycjonowany za wysoko --- poprawiona wersja znajduje się w:
ftp://IAPW.ia.pw.edu.pl/sys/emtex/texinput/latex2e/contrib/supporte/barcom/bar.sty (logując się jako GUEST).

2 Ze względu na brak skrótów nazwy miesięcy w języku polskim zastąpiłem je numerami.
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.