obrazky

Vasek Skrivan vskr6537 at artax.karlin.mff.cuni.cz
Mon Apr 15 13:19:24 CEST 2002


> Dobry den,
>  pri praciv LaTeXu bych obcas potreboval vysazet obsah boxu na konci radky
> a ostatni text nechat tento box obtekat. V LaTeXove kucharce jsem nasel
> neco podobneho pro vkladani kapitalek. Ty se ovsem vkladaji na zacatek
> radku, nevite prosim nekdo, jak to pozmenit, aby byl vysledny box obtekan
> na konci radku?
>
> Za odpovedi predem dekuji
> Vasek Skrivan

Pokousel jsem se to trochu upravit sam, ale ted to dela neja divne
odsazovani na zacatku odstavce, mezery se prubezne meni.
Pokud je nekde chyba nebo by to slo udelat i snadneji, tak budu rad za
kazdy napad.
Vasek Skrivan

Upravene makro s komentari:

\newlength{\odsad} 	% rozmer pro odsazeni od okraje
\newlength{\kles}	% rozmer pro pokles obrazku
\newlength{\sirkaobr}   % rozmer pro sirku obrazku
\newlength{\vyskaobr}   % rozmer pro vyska obrazku
\newcount\radky      	% rozmer pro pocet radku odpovidajici delce obr.
\newcount\vyskaradku 	% rozmer pro vzdalenost radku
\newbox\obrbox       	% box do ktereho se obrazek vlozi
\newcommand{\obr}[1]{	% prikaz pro vkladani obrazku
   \setbox\obrbox=\hbox{
   \kern-2dd #1\kern -\parindent}   % vytvoreni boxu s obrázkem
   \sirkaobr=\wd\obrbox       % vlozi hdnotu sirky boxu do rozměru sirky
   \vyskaobr=\ht\obrbox       % vlozi hdnotu delky boxu do rozměru vysky
   \addtolength{\sirkaobr}{2mm} % zvetsi hodnotu \sirka  aby byl text dále od obrázku
   \vyskaradku=\baselineskip  % vlozi vzdalenost 2 radku do \vyskaradku
   \radky=\vyskaobr           % vlozi vysku  obrázku pro vypocet poctu radku
   \addtolength{\radky}{\vyskaradku} % zvysi vysku obrazku o vysku radky,
				     %  aby byla urcite vetsi nez 1 radek
   \divide\radky by\vyskaradku   % vypocita pocet radku
   \addtolength{\radky}{-1}      % snizi pocet radek o 1 (odsazením od
				 % spodniho textu o 1 řádek)
   \kles=\radky\baselineskip     % okolik radek niz se bude tisknout
				 % obrazek
   \setlength{\odsad}{\linewidth} % \odsad je o cela radka
   \addtolength{\odsad}{-\sirkaobr} %\odsad snizim o sirku obrazku
   \leftskip=\odsad		%posunuti leveho okraje na \odsad
   \leavevmode
   \vadjust{\smash{\vbox{\noindent
                   \hbox to0pt{\lower\kles\box\obrbox\hss}}}}  %tisk boxu
   \leftskip=0pt		% vratim zpet levy okraj textu
   \addtolength{\radky}{1}       % zvysi pocet radek o 1
   \leavevmode
   \hangindent-\sirkaobr         % okoli se bode zkracovat řádka o začátku
   \hangafter -\radky            % odsadí od začátku odstavce tolik radek
}








More information about the csTeX mailing list