0

(Yes, I have seen this, but it only fixes the problem by not using multicol in a situation where it isn't even needed)

So, my problem with multicol is that it stretches the content inside its environment. How do I get around this?

Example code:

\documentclass[
12pt,                        % Font size
a4paper                      % Paper type
]{article}

% Packages
\usepackage[
margin=2.7cm,                % Margin size
marginparwidth=2cm,          % Margin note size
marginparsep=3mm             % Space between margin and text
]{geometry}
\usepackage[utf8]{inputenc}  % UTF-8 support
\usepackage{multicol}        % Spread text on multiple columns
\usepackage{blindtext}       % Filler text

% Basic document info
\title{Testing multicol}
\date{}   % Show no date in the title
\author{} % Empty author to not get a warn about missing author

\begin{document}
\maketitle % Show the title

\begin{multicols*}{2}
 Example text

 some text

 text

 more text

 \columnbreak

 \blindtext
\end{multicols*}
\end{document}

How it looks like: enter image description here

3

1 Answer 1

3

You can use \vfill to add a glue which will fill the page vertically with infinite stretchability, this way the other stretches added between paragraphs are overruled by it. To prevent the \vfill from being removed you need to add something after it, which is what \null does (that is "put an empty box here").

If you want this behaviour for every column, not only where you explicitly do \columnbreak you can use \raggedcolumns instead.

\documentclass[
12pt,                        % Font size
a4paper                      % Paper type
]{article}

% Packages
\usepackage[
margin=2.7cm,                % Margin size
marginparwidth=2cm,          % Margin note size
marginparsep=3mm             % Space between margin and text
]{geometry}
\usepackage[utf8]{inputenc}  % UTF-8 support
\usepackage{multicol}        % Spread text on multiple columns
\usepackage{blindtext}       % Filler text

% Basic document info
\title{Testing multicol}
\date{}   % Show no date in the title
\author{} % Empty author to not get a warn about missing author

\begin{document}
\maketitle % Show the title

\begin{multicols*}{2}
 Example text

 some text

 text

 more text

 \vfill
 \null
 \columnbreak

 \blindtext
\end{multicols*}
\end{document}
\documentclass[
12pt,                        % Font size
a4paper                      % Paper type
]{article}

% Packages
\usepackage[
margin=2.7cm,                % Margin size
marginparwidth=2cm,          % Margin note size
marginparsep=3mm             % Space between margin and text
]{geometry}
\usepackage[utf8]{inputenc}  % UTF-8 support
\usepackage{multicol}        % Spread text on multiple columns
%\raggedcolumns              % use ragged columns globally
\usepackage{blindtext}       % Filler text

% Basic document info
\title{Testing multicol}
\date{}   % Show no date in the title
\author{} % Empty author to not get a warn about missing author

\begin{document}
\maketitle % Show the title

\begin{multicols*}{2}
  \raggedcolumns % use ragged columns locally in this environment
 Example text

 some text

 text

 more text

 \columnbreak

 \blindtext
\end{multicols*}
\end{document}

Both result in:

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .