Article View: pl.comp.dtp.tex
Article #16587Re: Ostatni wiersz do prawej - jak?
From: Jarosław Sokołowski
Date: Fri, 11 Dec 2009 14:45
Date: Fri, 11 Dec 2009 14:45
34 lines
2175 bytes
2175 bytes
Pan robert ma kolejny problem:
> W przypadku niektorych akapitow musze osiagnac efekt, by ostatni wiersz
> akapitu dosuniety byl do prawej strony.
> W FAQ znalezlem rozwiazanie:
> \newcommand{\ostwierszprawo}{%
> \setlength{\leftskip}{0pt plus 1fil}%
> \setlength{\rightskip}{0pt plus -1fil}%
> \setlength{\parfillskip}{0pt plus 1fil}}%
>
> Ale pojawia sie problem, mianowicie mam akapity dwuwierszoe i jednowierszowe
[...]
> Pytanie: Jak napisac makro bardziej uniwersalne, ktore w przypadku
> testu jednowierszowego dosuwalo tekst do lewj strony, a w przypadku
> wielowierszowego, ostatni wiersz dosuniety byl do prawej?
Skonstruować makro w ten sposób, że jego parametr (czyli treść akapitu)
będzie najpierw wykorzystana do złożenia tekstu "na brudno" w osobnym
pudełku (\vbox}, a następnie zmierzy wysokość tego pudełka. Jeśli uzna,
że mieści się tam więcej niż jedna linijka, zastosuje powyższą sztuczkę,
a jeśli nie -- odpuści sobie.
Ja bym makro definiował tak \def\doprawiacz#1\par{........} -- wtedy nie
trzeba brać akapitu w klamry, wystarczy na początku wpisać wywołanie
makra. Wygodniej się pisze.
W brudnopisie składa się tak: \setbox0\vbox{#1}. Póżniej wystarczy
porównać \ht0 z \baselineskip (albo np. 1.8\baselineskip). Jeśli jest
mniejsze, to akapit jest jednowierszowy, jeśli nie -- wielowierszowy.
--
Jarek
Technical Details
Message-ID:
<slrnhi4mnq.vb4.jaros@falcon.lasek.waw.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<79c9.00000019.4b224ea3@newsgate.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Jarosław Sokołowski <jaros@lasek.waw.pl> Newsgroups: pl.comp.dtp.tex Subject: Re: Ostatni wiersz do prawej - jak? Date: Fri, 11 Dec 2009 14:45:14 +0000 (UTC) Organization: : : : Lines: 34 Message-ID: <slrnhi4mnq.vb4.jaros@falcon.lasek.waw.pl> References: <79c9.00000019.4b224ea3@newsgate.onet.pl> NNTP-Posting-Host: 213-238-69-153.adsl.inetia.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1260542714 13510 213.238.69.153 (11 Dec 2009 14:45:14 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Fri, 11 Dec 2009 14:45:14 +0000 (UTC) X-User: zzxxccvv User-Agent: slrn/0.9.8.1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit