[texhax] have a piece of thest ragged right à the end of a paragraph
Steve Schwartz
s.schwartz at imperial.ac.uk
Mon Sep 19 14:15:41 CEST 2011
On Mon, 2011-09-19 at 12:07 +0100, Philip TAYLOR (Webmaster, Ret'd)
wrote:
> > \def\toRight#1{{\unskip\nobreak\hfil\penalty50
> > \hskip2em\hbox{}\nobreak\hfil #1
> > \parfillskip=0pt \finalhyphendemerits=0 \par}}
> >
> > Explained in the _TeXbook_, page 106:
>
> I am unconvinced that the solution is optimal, although
> it is undoubtedly robust. I tried it with a number of
> paragraphs of ever-increasing length to see how it
> coped with all possible situations, and found the
> following anomaly :
Hmmm. I tried this with Phil's \pushright macro that I got on this list
some time ago, and it does the same thing more or less, with the same
"anomaly" [actually, there is a small difference that has to do with
where when executing the macro the linebreak is introduced if needed,
i.e., before or after the \hskip2em, but that doesn't really matter.
I think the only anomaly here might be that 2em's are wider than you
might think. An em is the width of an "M". I append a modification (in
latex to use framebox) to illustrate this. I think Phil's improvement is
really just the result of replacing something of width 2em by an
interword space which (a) is stretchable (I think) and (b) a lot
smaller.
Steve
\documentclass{article}
\usepackage[margin=1in]{geometry}
\begin{document}
% RightJustifiedLastLine
\parindent = 0 pt
\parskip = \baselineskip
\def \HardRight #1%
{%
{\unskip \nobreak \hfil \penalty 50 \framebox[2em]{}\hbox
{}\nobreak \hfil #1%
\parfillskip = 0 pt \finalhyphendemerits = 0 \par
}%
}
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last lineeeeee
\HardRight {and this is the text with which we wish to end it.}
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last line,
Now is the time for all good men to end their paragraphs with a
right-justified last lineeeeeee
\HardRight {and this is the text with which we wish to end it.}
\framebox[2em]{.}\par
\framebox[2em]{mm}\par
\framebox[2em]{MM}\par
\framebox[2em]{mmm}\par
\end{document}
--
+-------------------------------------------------------------------+
Professor Steven J Schwartz Phone: +44-(0)20-7594-7660
Head, Space & Atmospheric Physics Fax: +44-(0)20-7594-7772
The Blackett Laboratory E-mail: s.schwartz at imperial.ac.uk
Imperial College London Office: Huxley 6M67A
London SW7 2AZ, U.K. Web: www.sp.ph.ic.ac.uk/~sjs
+-------------------------------------------------------------------+
More information about the texhax
mailing list