Article View: pl.comp.dtp.tex
Article #17124Re: Szerokie tabele
From: 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
Technical Details
Message-ID:
<slrnjjb9r9.dn0.jaros@falcon.lasek.waw.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<4f359ae9$0$1267$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Jarosław Sokołowski <jaros@lasek.waw.pl> Newsgroups: pl.comp.dtp.tex Subject: Re: Szerokie tabele Date: Fri, 10 Feb 2012 23:25:29 +0000 (UTC) Organization: : : : Lines: 56 Message-ID: <slrnjjb9r9.dn0.jaros@falcon.lasek.waw.pl> References: <4f359ae9$0$1267$65785112@news.neostrada.pl> NNTP-Posting-Host: 77-253-100-191.adsl.inetia.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1328916329 18136 77.253.100.191 (10 Feb 2012 23:25:29 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Fri, 10 Feb 2012 23:25:29 +0000 (UTC) User-Agent: slrn/0.9.8.1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit