Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'd like to put some right-aligned text on the first line of my paragraph, and have the rest of the text wrap around it, like this:

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed      {right-aligned text}
do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat...

How can I achieve this?

share|improve this question
1  
Do you mean kind of like a wrapfig? –  cmhughes Oct 6 '11 at 21:23
add comment

1 Answer

up vote 6 down vote accepted

Use the wrapfig package:

\documentclass[12pt]{article}
\usepackage[showframe]{geometry}% http://ctan.org/pkg/geometry
\usepackage{wrapfig}% http://ctan.org/pkg/wrapfig
\usepackage{xparse}% http://ctan.org/pkg/xparse
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\NewDocumentCommand{\rtext}{O{1} O{5em} m}{%
  \begin{wrapfigure}[#1]{r}[0pt]{#2}%
    \begin{minipage}{#2}\raggedleft#3\end{minipage}%
  \end{wrapfigure}%
}
\rtext[5][50pt]{Here is some right-aligned text}%
\lipsum[1]
\end{document}​

enter image description here

The above code provides \rtext[<lines>][<width>]{<stuff>} that typesets <stuff> right-aligned (actually \raggedleft) in <lines> lines of width <width> (the default is 1 line with width 5em, although this can be changed). Both <lines> and <width> are optional arguments.

geometry was used with the option showframe to show the alignment of the text. lipsum provided dummy text, while xparse provides an easy means for specifying mixed optional/mandatory arguments (and defaults).

share|improve this answer
    
Thanks! Is there a way to make it automatically adjust the width to fit its contents? –  jtbandes Oct 7 '11 at 2:05
    
Also, what's the point of the minipage? It seems to work without it. –  jtbandes Oct 7 '11 at 2:24
1  
You could try to use the varwidth package to adjust the width automatically based on the contents. The minipage was just to provide a box to put stuff in; I wasn't sure how much content you wanted in the {right-aligned text}. –  Werner Oct 7 '11 at 7:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.