Is there a way to let Latex automatically insert a line break not when it runs out of space, but earlier so that the lines in that paragraph have roughly equal length? In my case, I am trying to create this effect with a sentence that is just a little longer than one line. To make sure I have more than two words in the second line of my centered environment.
Such a function exists in Adobe InDesign, for example; it's called "Balance Ragged Lines" there.
OK, thanks for the comments, I got it right in one case. In the other case, the @flushglue just deletes my margins for that paragraph:
\documentclass[12pt,parskip=full]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[australian]{babel}
\usepackage{geometry}
\geometry{a4paper}
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
\let\endchangemargin=\endlist
\clubpenalty = 10000
\widowpenalty = 10000
\usepackage{kpfonts}
\usepackage[nodayofweek]{datetime}
\longdate
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array, bm, booktabs, microtype, paralist, subfig, todonotes, verbatim}
\usepackage{csquotes}
\begin{document}
\begin{changemargin}{1cm}{1cm}
{\csname @flushglue\endcsname=0pt plus .25\textwidth
\begin{center}
Does this statement resonate with your own interpretation of Hamlet?
\end{center}}
\end{changemargin}
\end{document}
If you remove the flushright command, the additional margins will be applied.
Is there a way to get both?
centerthere you could also useflushleftif you wanted the lines all to start at the left margin, the same\@flushglueis used in both environments. – David Carlisle Jun 08 '13 at 10:44