sjednoceni cislovani obrazku \mycaption a \piccaption - vyreseno

Jaromír Kuben kuben at scova.vabo.cz
Wed May 5 15:02:37 CEST 2004


Tonar Zbyněk napsal(a):

>Dobry den,
>mozna jsem se mel zeptat jednodusseji:
>Jak si mohu nadefinovat vedle \caption i nejake jine \mycaption, ktere budou sdilet stejny citac, ale budou se lisit pouze radkou \vskip\abovecaptionskip vs. \vskip0.15\abovecaptionskip v makru \@makecaption?
>
>Dekuji
>Zbynek Tonar
>  
>
Nejjednodussi je asi vytahnout si z latex.ltx definice \caption a 
\@caption, ty vypadaji takto:

\def\caption{\refstepcounter\@captype \@dblarg{\@caption\@captype}}
\long\def\@caption#1[#2]#3{%
  \par
  \addcontentsline{\csname ext@#1\endcsname}{#1}%
    {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
  \begingroup
    \@parboxrestore
    \if at minipage
      \@setminipage
    \fi
    \normalsize
    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  \endgroup}

Pak udelat identicke verze \mycaption, \my at caption a taky 
\my at makecaption s odlisnym mezerovanim,
ktere se budou navzajem volat.
A nezapomenout obalit \makeatletter a \makeatother.

Zdravi
                Jaromir kuben

>
>
>
>
>
>
>
>
>-----Original Message-----
>From: owner-csTeX at cs.felk.cvut.cz [mailto:owner-csTeX at cs.felk.cvut.cz]On
>Behalf Of Tonar Zbyněk
>Sent: Tuesday, May 04, 2004 6:02 PM
>To: csTeX at cs.felk.cvut.cz
>Subject: RE: sjednoceni cislovani obrazku \mycaption a \piccaption -
>vyreseno
>
>
>Dekuji panu Kubenovi, konkretni navrh reseni + vysveltujici komentar je pro me ta nejlepsi odpoved :-),
>
>K doreseni mi jeste zbyva toto: popisek pro pouziti \caption v prostredi \myfigure je nize pod obrazkem, nezli pri pouziti \piccaption:
>
>Pro ilustraci jsem to vystavil zde:
>
>1. Pri pouziti:
>\makeatletter
>\long\def\@makecaption#1#2{%
>  \vskip\abovecaptionskip
>  \sbox\@tempboxa{\small{\bfseries #1:} #2}%
>  \ifdim \wd\@tempboxa >\hsize
>    {\small{\bfseries #1:} #2\par}
>  \else
>    \global \@minipagefalse
>    \hb at xt@\hsize{\hfil\box\@tempboxa\hfil}%
>  \fi
>  \vskip\belowcaptionskip}
>\makeatother
>
>vyjde toto:
>http://www.lfp.cuni.cz/histologie/arch/pokus1.dvi 
>
>2. Pri pouziti
>\makeatletter
>\long\def\@makecaption#1#2{%
>  \vskip0.15\abovecaptionskip %%%%%% tady je empiricky zjisteny rozdil v 0.15
>                                    %\abovecaptionskip,
>  \sbox\@tempboxa{\small{\bfseries #1:} #2}%
>  \ifdim \wd\@tempboxa >\hsize
>    {\small{\bfseries #1:} #2\par}
>  \else
>    \global \@minipagefalse
>    \hb at xt@\hsize{\hfil\box\@tempboxa\hfil}%
>  \fi
>  \vskip\belowcaptionskip}
>\makeatother
>
>vyjde toto
>
>http://www.lfp.cuni.cz/histologie/arch/pokus2.dvi
>
>3. Jedine kdyz bych pred kazdym \caption a \piccaption vzdy znovu predefinoval vyse uvedene, dostanu zadouci vysledek, ten je zde:
>
>http://www.lfp.cuni.cz/histologie/arch/pokus3.dvi
>
>To je vsak krajne nepohodlne. Prosim jeste o radu, tak to vyresit nejak systematicky.  
>
>Dekuji
>
>Zbynek Tonar
>  
>





More information about the csTeX mailing list