obtekani obrazku textem v csplainu

Jaromir Kuben kuben at scova.vabo.cz
Mon Apr 9 09:21:25 CEST 2001



"Vitek Burda (noname2)" píše:
> 
> zdravim!
> prohledavam uz nekolik dni internet (mimo jine i archiv teto konference)
> a nemuzu najit ani zminku o tom jak udelat %subj% :-(
> v archivu sem nasel akorat stejny dotaz jako tento, nicmene zadnou
> odpoved... aspon nejaky naznak by stacil, princip ;-)
> diky moc za jakekoliv informace
> 
> Vitek Burda

Nedavno jsem to pro jednoho znameho delal. Je to pro postscriptove
obrazky, ale snadno to muzete modifikovat. Obrazek muzete umistit
vlevo, vpravo nebo podle sude/liche strany prikazy \obrp, \obrl, \obr.
Urcite to neni dokonale, ale fungovalo to. Dava to i (kratke) popisky.

\input epsf

\newcount\radky
\newdimen\sirka
\newdimen\vyska
\newdimen\mezera %mezi obrazkem a popisem
\newdimen\okraj  %mezi obrazkem a textem
\newdimen\zvednuti  %nad uroven prvniho radku
\newbox\pom
\mezera=3.5mm
\okraj=4mm
\zvednuti=7pt

%Pro zvetseni poctu obtekanych radku
\def\dolu#1{\vrule width 0pt height 0pt depth #1\relax}

% #1 jmeno souboru s obrazkem
% #2 text popisu

% obrazek vlevo

\def\obrl#1#2{\par
\setbox\pom=\hbox{\epsffile{#1}}%
\sirka=\wd\pom
\setbox\pom=\vtop{\vskip0pt\box\pom\offinterlineskip\vskip\mezera\hbox
to \sirka {\hfil #2\hfil }}%
\vyska=\ht\pom
\advance\vyska by \dp\pom
\advance\vyska by -\zvednuti
\divide\vyska by \baselineskip
\radky=\vyska
\advance\radky by 2
\advance\sirka by \okraj
\hangindent\sirka
\hangafter-\radky
\dp\pom=0pt
\advance\sirka by \parindent
\wd\pom=\sirka
\leavevmode
\llap{\raise\zvednuti\box\pom}%
\ignorespaces }

% obrazek vpravo

\def\obrp#1#2{\par
\setbox\pom=\hbox{\epsffile{#1}}%
\sirka=\wd\pom
\setbox\pom=\vtop{\vskip0pt\box\pom\offinterlineskip\vskip\mezera\hbox
to \sirka {\hfil #2\hfil }}%
\vyska=\ht\pom
\advance\vyska by \dp\pom
\advance\vyska by -\zvednuti
\divide\vyska by \baselineskip
\radky=\vyska
\advance\radky by 2
\advance\sirka by \okraj
\hangindent-\sirka
\hangafter-\radky
\dp\pom=0pt
\sirka=-\wd\pom
\advance\sirka by \hsize
\advance\sirka by -\parindent
\leavevmode
\rlap{\hskip\sirka\raise\zvednuti\box\pom}%
\ignorespaces }

% na lichych je vpravo, na sudych je vlevo

\def\obr{\ifodd\pageno \expandafter\obrp \else \expandafter\obrl \fi }

Text...

\obrl{obr.1}{Popis 1}
Text...

\obrl{obr.2}{Popis 2}
Text....

\obr{obr.3}{Popis 3}
Text...

%Prodlouzi obtekane misto
\obr{obr.4}{Popis 4\dolu{2mm}
Text...

\bye

Jinak doporucuji knihu TeXbook naruby p. Olsaka.

Zdravi
         Jaromir Kuben




More information about the csTeX mailing list