1

I'm trying to reproduce a justified multi-column document, and am therefore using manual line breaks throughout. However, this doesn't work for lines at the bottom of a column, because \linebreak inserts a blank line at the bottom of the column:

\documentclass[a5paper,10pt]{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{3}
Four score and seven years ago our fathers brought forth, upon this\linebreak\columnbreak

\noindent continent, a new nation, conceived in liberty, and dedicated to the proposition that ``all men are created equal.''
\end{multicols}
\end{document}

Output of the above example, showing an extra blank line at the bottom of the first column

Leaving the \linebreak off also doesn't work; while a bare \columnbreak doesn't insert the extra blank line, it fails to justify the broken line.

Output of above example, showing the last line of the first column unjustified

A crude workaround is to omit \linebreak and manually replace all spaces on the last line with {\hfill}. However, this is inconvenient and probably suppresses use of stretched inter-letter spacing for justification.

Note that while I am using the multicol package and breaking columns with \columnbreak, the same problem exists when using a regular twocolumn document and breaking columns with \pagebreak.

How can I make \linebreak suppress the blank line at the end of the column, or force \columnbreak/\pagebreak to justify the lines they break?

Psychonaut
  • 3,142
  • You should not have \linebreak at all, since you have followed it by a paragraph break, but since it logically isn't a paragraph break it would be more natural to have just \columnbreak But it is not at all clear why you are doing manual line and column breaking at all? – David Carlisle Nov 05 '15 at 09:35
  • As I said, I'm trying to reproduce an existing (paper) document, so I want all the line and column breaks to match. – Psychonaut Nov 05 '15 at 10:25
  • ah that's what you meant by reporoduce I didn't catch that:-) – David Carlisle Nov 05 '15 at 10:38

1 Answers1

1

You do not want a paragraph break at that point, certainly you never want \linebreak at the end of a paragraph, so:

enter image description here

\documentclass[a5paper,10pt]{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{3}
Four score and seven years ago our fathers brought forth, upon this\columnbreak\linebreak{}
continent, a new nation, conceived in liberty,
 and dedicated to the proposition that ``all men are created equal.''
\end{multicols}
\end{document}
David Carlisle
  • 757,742
  • Or in this case, just omit \columnbreak{} as well, producing the same output. – David Carlisle Nov 05 '15 at 09:41
  • I see! It had never occurred to me to add {} to the end of \columnbreak. Can you explain why it's necessary? (The reason I added the paragraph break to begin with was that using \columnbreak by itself didn't work at all.) – Psychonaut Nov 05 '15 at 10:27
  • Also, I just tested this answer and while it seems to work in the MWE from my question, it doesn't work in my real-world example. The \columnbreak{} gets ignored, at least in some sense—rather than breaking the column where I put it, the column gets broken several words later. Do you know what might be causing this or do I need to revise my example? – Psychonaut Nov 05 '15 at 10:34
  • @Psychonaut as always a space after a comandname doesn't produce a space token, it simply terminates the command, but you want a space token here. same as if you need to do \LaTeX{} if you want a space token. – David Carlisle Nov 05 '15 at 10:35
  • 1
    @Psychonaut \columnbreak in horizontal mode is like \pagebreak and does not affect the linebreaking at all- the line breaks where it breaks and then the column break is inserted after that line. If you also want to force linebreak then use \columnbreak\linebreak{} – David Carlisle Nov 05 '15 at 10:37
  • Yes, \columnbreak\linebreak works for me. Thanks! (In my earlier comment I misinterpreted the {} as being responsible for correcting the behaviour I was complaining about. In my real-world document it's not necessary as I'm breaking a column at a hyphen.) – Psychonaut Nov 05 '15 at 10:40
  • @Psychonaut I added \linebreak to the answer – David Carlisle Nov 05 '15 at 10:49