Thread View: pl.comp.dtp.tex
6 messages
6 total messages
Started by Wojciech 'Wheart' Penar
Fri, 10 Feb 2012 22:32
Szerokie tabele
Author: Wojciech 'Wheart' Penar
Date: Fri, 10 Feb 2012 22:32
Date: Fri, 10 Feb 2012 22:32
28 lines
2195 bytes
2195 bytes
Witam, Z gorliwością godną neofity usiłuję co się da robić w LaTeXu, teraz padło na dokumentację sieci komputerowej. Generalnie jest tabelka, kolumn 24, wierszy parzyście w zależności jakie pola są włączane (oczywiście .tex generowany jest przez skrypty z bazy danych). Od biedy mieści się toto w ustawieniu "pejzaż" na papierze A3. Chciałbym uzyskać efekt znany z arkuszy kalkulacyjnych - w pewnym momencie wszystkie tabelki na stronie się urywają i są kontynuowane na następnej (zatem równiutko obcinam na gilotynie, smaruję klejem i sklejam sobie wielką płachtę do powieszenia na drzwiach do biura). Idealnie by było ustawić stałą szerokość kolumn (to potrafię) i wymusić łamanie w tym właśnie miejscu (tak, wiem, chwila zabawy w AWKu i da się to zrobić, ale ja chcę "łatwiej" :) Do tej pory używałem któregoś z arkuszy kalkulacyjnych, ale w nim trzymałem także dane. Teraz padło na przechowywanie w bazie i "aplikację www" do edycji i wirtualnych oględzin. Importowanie danych z bazy do arkusza jest nieporęczne przy przejściu z bazy danych - eksport do csv, import csv (tłumacząc, ze numerki to nie stan konta, a numerki z kreskami to nie daty) do arkusza, a następnie formatowanie (wytłuszczenie numerów portów, obramowania, ewentualne kolorowanki). Czego szukać? Pozdrawiam Wojtek Penar
Re: Szerokie tabele
Author: Jarosław Sokołowski
Date: Fri, 10 Feb 2012 23:25
Date: Fri, 10 Feb 2012 23:25
56 lines
3283 bytes
3283 bytes
Pan Wojciech 'Wheart' Penar z gorliwością godną neofity usiłuję co się da
robić w LaTeXu:
> teraz padło na dokumentację sieci komputerowej.
> Generalnie jest tabelka, kolumn 24, wierszy parzyście w zależności
> jakie pola są włączane (oczywiście .tex generowany jest przez skrypty
> z bazy danych). Od biedy mieści się toto w ustawieniu "pejzaż" na
> papierze A3.
>
> Chciałbym uzyskać efekt znany z arkuszy kalkulacyjnych - w pewnym
> momencie wszystkie tabelki na stronie się urywają i są kontynuowane na
> następnej (zatem równiutko obcinam na gilotynie, smaruję klejem
> i sklejam sobie wielką płachtę do powieszenia na drzwiach do biura).
> Idealnie by było ustawić stałą szerokość kolumn (to potrafię) i wymusić
> łamanie w tym właśnie miejscu (tak, wiem, chwila zabawy w AWKu i da się
> to zrobić, ale ja chcę "łatwiej" :)
>
> Do tej pory używałem któregoś z arkuszy kalkulacyjnych, ale w nim
> trzymałem także dane. Teraz padło na przechowywanie w bazie
> i "aplikację www" do edycji i wirtualnych oględzin. Importowanie
> danych z bazy do arkusza jest nieporęczne przy przejściu z bazy danych
> - eksport do csv, import csv (tłumacząc, ze numerki to nie stan konta,
> a numerki z kreskami to nie daty) do arkusza, a następnie formatowanie
> (wytłuszczenie numerów portów, obramowania, ewentualne kolorowanki).
>
> Czego szukać?
Jest jakiś pakiet LaTeXowy dzielący tabele na strony. Można szukać
właśnie jego. Ale może lepiej, zwałaszcza w sytuacji gdy plik jest
generowany przez skrypty, odpuścić sobie LaTeXowe tabele i robić to
Knuthowymi metodami, jako osobne wiersze. Szkic rozwiązania może
wyglądac tak (definicje pomocnicze):
\def\Lc#1#2{\hbox to #1{\strut~#2\hss\vrule}}
\def\Rc#1#2{\hbox to #1{\strut\hss#2~\vrule}}
\def\Cc#1#2{\hbox to #1{\strut\hss#2\hss\vrule}}
\def\LN#1{\setbox0\hbox{\vrule#1}
{\hrule width \wd0\penalty10000\noindent\copy0\hrule width
\wd0\vskip-0.4pt}}
A później skrypt generuje każdy wiersz jako wywołanie \LN{.....}
gdzie w miejsce kropek są komórki opisane wywołaniami w rodzaju
\Lc{8mm}{Abc}\Cc{10mm}{0}\Rc{12mm}{Xyz}, czyli:
\LN{\Lc{8mm}{Abc}\Cc{10mm}{0}\Rc{12mm}{Xyz}}
\LN{\Lc{8mm}{Abc}\Cc{10mm}{0}\Rc{12mm}{Xyz}}
\LN{\Lc{8mm}{Abc}\Cc{10mm}{0}\Rc{12mm}{Xyz}}
\LN{\Lc{8mm}{Abc}\Cc{10mm}{0}\Rc{12mm}{Xyz}}
Taka konstrukcja wygląda jak tabela, ale łamie się na strony jak tekst.
--
Jarek
Re: Szerokie tabele
Author: Wojciech 'Wheart' Penar
Date: Sat, 11 Feb 2012 11:46
Date: Sat, 11 Feb 2012 11:46
90 lines
4742 bytes
4742 bytes
W dniu 11.02.2012 00:25, Jarosław Sokołowski pisze:
> Jest jakiś pakiet LaTeXowy dzielący tabele na strony. Można szukać
> właśnie jego. Ale może lepiej, zwałaszcza w sytuacji gdy plik jest
> generowany przez skrypty, odpuścić sobie LaTeXowe tabele i robić to
> Knuthowymi metodami, jako osobne wiersze. Szkic rozwiązania [...]
Chyba nie do końca się jasno wyraziłem.
Wiersze są (dajmy na to) 4, kolumn 24. Ilość wierszy może się wahać od
2 (nagłówkowy i etykieta) po kilkanaście (wielorzędowa krosownica, poza
etykietami dodatkowe informacje o rodzaju kabla, z czym to połączyć
itp).
Aby się jakoś próbować zmieścić z tradycyjną tabelą, przestawiam papier
na A3 i obracam tabelkę (pakiet lscape).
Chciałbym drukować to na A4 na kilku kartkach, tak, by sobie posklejać
tabelkę "po szerokości".
Tutaj szybki przykład, "o co mnie właściwie chodzi":
-------------------------------------------------
\documentclass{article}
\usepackage{fullpage}
\usepackage{lscape}
\usepackage[a3paper, margin=.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\begin{document}
\begin{landscape}
\begin{table}
\centering
\begin{tabular}{|c|c|c|c||c|c|c|c||c|c|c|c||c|c|c|c||c|c|c|c||c|c|c|c|}
\hline
\textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} &
\textbf{6} &
\textbf{7} & \textbf{8} & \textbf{9} & \textbf{10} & \textbf{11} &
\textbf{12} &
\textbf{13} & \textbf{14} & \textbf{15} & \textbf{16} & \textbf{17} &
\textbf{18} & \textbf{19} & \textbf{20} & \textbf{21} & \textbf{22} &
\textbf{23} & \textbf{24} \\
\hline
104-01 & 104-02 & 104-03 & 104-04 & 104-05 & 104-06 & 104-07 & 104-08 &
104-09 &
104-10 & 104-11 & 104-12 & 104-13 & 104-14 & 104-15 & 104-16 & & & &
& & &
07 & 010 \\
\hline
\textbf{25} & \textbf{26} & \textbf{27} & \textbf{28} & \textbf{29} &
\textbf{30} & \textbf{31} & \textbf{32} & \textbf{33} & \textbf{34} &
\textbf{35} & \textbf{36} & \textbf{37} & \textbf{38} & \textbf{39} &
\textbf{40} & \textbf{41} & \textbf{42} & \textbf{43} & \textbf{44} &
\textbf{45} & \textbf{46} & \textbf{47} & \textbf{48} \\
\hline
103-01 & 103-02 & 103-03 & 103-04 & 103-05 & 103-06 & 103-07 & 103-08 &
103-09 &
103-10 & 103-11 & 103-12 & 103-13 & 103-14 & 103-15 & 103-16 & 103-17 &
& & &
Dziek & 327-1 & 327-2 & 327-3 \\
\hline
\end{tabular}
\end{table}
\end{landscape}
\end{document}
-------------------------------------------------
W tej konfiguracji mieści się toto na A3, szerokość kolumn póki co
"z automatu" - tam gdzie są puste podpisy - są węższe.
W sumie, rzeczywiście, jeśli się nie uda lepiej, przetransponuję
tabelę, ale do tej pory tak robione obrazki były wygodne i poręczne
(w przeciwieństwie do list jakimi się posługiwałem początkowo).
Patrząc na tabelkę, interesujący mnie obiekt ma podobne relacje
przestrzenne do całości jak na rzeczywistej krosownicy czy przełączniku,
stąd np. podwójne obramowania między niektórymi komórkami tabeli - co
cztery porty jest niewielka przerwa.
Chciałbym, zrobić sobie np. 3 takie tabelki na stronie tak, by urywały
się po 12 kolumnie i od 13 kolumny były kontynuowane na następnej. Tak,
bym obciął jeden margines i mógł to skleić.
Jeśli coś takiego uda się się osiągnąć, to więcej szczęścia w tym
temacie dałoby mi posiadanie narzędzia, które zachowa relacje potrzebne
do sklejania, nawet jeśli między "szerokimi" tabelami znajdzie się
jedna krótsza... W sumie to potrafią arkusze kalkulacyjne, ale z pracą
wsadową jest już różnie, o automatycznym wygenerowaniu dokumentacji
gotowej do pobrania z serwera można zapomnieć.
Pozdrawiam
Wojtek
Re: Szerokie tabele
Author: Jarosław Sokołowski
Date: Sat, 11 Feb 2012 14:38
Date: Sat, 11 Feb 2012 14:38
31 lines
2277 bytes
2277 bytes
Pan Wojciech 'Wheart' Penar napisał: >> Jest jakiś pakiet LaTeXowy dzielący tabele na strony. Można szukać >> właśnie jego. Ale może lepiej, zwałaszcza w sytuacji gdy plik jest >> generowany przez skrypty, odpuścić sobie LaTeXowe tabele i robić to >> Knuthowymi metodami, jako osobne wiersze. Szkic rozwiązania [...] > > Chyba nie do końca się jasno wyraziłem. Albo ja źle zrozumiałem. Jeśli chodzi o to, że skład jest szerszy niż dostępny papier w drukarce, to radzić można sobie rozmaicie. 1. Zupełnie nieTeXowo, czyli uniwersalnie. Programy wyświetlające PDF potrafią przy wydruku podzielic stronę na kilka kartek, które potem sie skleja. 2. Podobnie jak powyżej, tylko na niskim poziomie TeXa -- zmieniając przy kolejnych wydrukach \hoffest. 3. Znów podobnie, ale zaprzęgając do tego TeXowe \output (routine) -- wtedy TeX sam wyprowadzi kilka kartek, jeśli będzie trzeba. To jest technika wyrafinowana, wymagająca głębokiej wiedzy. Ale może jest do tego jakiś styl LaTeXa (ja bym szukał po słowie "poster"). 4. Jak dane lecą z bazy, to składać kilka tabel z przeznaczeniem do ustawienia ich obok siebie. Z mechanizmem LaTeXowym może byc trudno, ale stosując przedstawioną wcześniej metodę z pudełkami, nie jest problemem zaprogramować to tak, by linie i komórki na siebie trafiały. -- Jarek
Re: Szerokie tabele
Author: Paweł Rumian
Date: Tue, 14 Feb 2012 09:23
Date: Tue, 14 Feb 2012 09:23
6 lines
1075 bytes
1075 bytes
Jak zawsze chylę czoła przed umiejętnościami współpiszącego w tym wątku, ale nieśmiało zasugeruję że możesz ewentualnie poszukać pakietu longtable i może uda się nie uciekać do czystego TeXa. pozdrawiam, Paweł
Re: Szerokie tabele
Author: Paweł Rumian
Date: Tue, 14 Feb 2012 09:36
Date: Tue, 14 Feb 2012 09:36
2 lines
1014 bytes
1014 bytes
Można zignorować powyższego posta - myślałem o podziale tabel na strony a potem uświadomiłem sobie że to nie o to chodziło...
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads