Sirka popisky
Antonin Strejc
STREJC at vc.cvut.cz
Tue Sep 9 12:19:07 CEST 1997
Stanislav Hledik pise:
> mam dotaz: potrebuji sazet v LaTeXu tabulky, jejichz popiska je
>nahore (nad tabulkou), pricemz sirka popisky je dana sirkou tabulky.
>Udelal jsem to pomoci prostredi minipage a tabular*, kdy explicitne
>zadavam sirku tabulky (a tim zaroven jeji popisky). Neslo by to
>jednoduseji bez pouziti minipage, tak, ze by se sirka popisky odvodila ze
>sirky tabulky (tabular bez *) dane jejim obsahem a parametry urcujicimi
>rozestupy sloupcu?
Dobry den,
podobny problem jsem pred casem resil take. Chtel jsem zavest
parametry, pomoci nichz by bylo mozne explicitne urcovat sirku
popisky generovane prikazem \caption, popripade sirku praveho
a leveho okraje. Zde je kus odladeneho stylu vcetne komentare:
%.............................zacatek ukazky
%
% POPISKY OBRAZKU A TABULEK
% ~~~~~~~~~~~~~~~~~~~~~~~~~
% \captionmargin -- pozadovana velikost leveho a praveho okraje
% kolem popisky, po vysazeni popisky se
% automaticky vynuluje.
% \captionwidth -- pozadovana sirka popisky, po vysazeni se take
% vynuluje.
%
% Je mozne nastavovat libovolne oba tyto parametry, \captionwidth
% vsak ma vyssi prioritu a je-li > 0pt, pak se uzivatelem stanoveny
% \captionmargin neuplatni, resp. pred vystupem popisky se provede
% vypocet \captionmargin podle pozadovane sirky, ktery pripadnou
% drive definovanou hodnotu \captionmargin prepise.
%
% Kratke popisky se sazeji centrovane, delsi se sazeji jako odstavec
% zleva i zprava odsazeny o \captionmargin, dalsi radky jsou navic
% zleva odsazene o sirku oznaceni.
\newdimen\captionmargin \newdimen\captionwidth
\def\@setcaptionmargin{\captionmargin=\hsize \advance\captionmargin by
-\captionwidth \captionmargin=.5\captionmargin}
\def\@makecaption#1#2{\ifdim\captionwidth>0pt\@setcaptionmargin\fi
\setbox\@tempboxa=\hbox{#1: }
\hangindent=\wd\@tempboxa\hangafter=\@ne
\ifdim\hsize>.5\textwidth \leftskip=\captionmargin
\rightskip=\leftskip\fi
\setbox\@tempboxa=\hbox{\kern2\leftskip\box\@tempboxa\ignorespaces
#2}\ifdim\wd\@tempboxa>\hsize\noindent\kern-2\leftskip%
\unhbox\@tempboxa\par
\else\hbox to \hsize{\hfil\kern-2\leftskip\box\@tempboxa\hfil}\fi
\global\captionmargin=0pt\global\captionwidth=0pt}
%.......................konec ukazky
Toto byste mohl bez uprav pouzit. Jde jen o to, zmerit ve zdrojaku
potrebnou hodnotu \captionwidth, napriklad takto:
\setbox1=\hbox{\begin{tabular}...\end{tabular}}
\captionwidth=\wd1
\begin{table}
\caption{Text popisky tabulky}
\box1
\end{table}
S pozdravem
Antonin Strejc
---------------------------------------------------------------------
Ing. Antonin Strejc Phone: +420-2-24352938
---------------------------------------------------------------------
Czech Technical University in Prague Computing Centre
Czech Republic Zikova 4, 166 35 Praha 6
---------------------------------------------------------------------
More information about the csTeX
mailing list