0

I am setting a document in 2 columns via the multicol-package. It is a newspaper-like document.

How can I force LaTeX to–ideally–remove as much extra-added vertical rubber space, which is used to make "consistent" looking line breaks and vertical spacing between paragraphs on one page?

All the while that spacing might look alright and good for that one section, it seems to be noticeably different in other sections. This is somewhat... meh. Not the best look, honestly.

So far I only found this code:

\everypar=\expandafter{\the\everypar\loosness=-1}
\linepenalty=1000

(Note: I am aware that it is literally impossible sometimes unless I were to use floats, but they are super tricky–if not impossible–to use in multicol-environments... I think (based on reading threads right here on TeX.sx. So I would just like to try something else regardless.)

MWE

\documentclass[
11pt,
a4paper,
false-,
]
{scrartcl}

\usepackage{
lmodern,
multicol,
blindtext,
mdframed,
}

\usepackage[svgnames]{xcolor}


\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}


\listfiles

\begin{document}
\begin{center}\huge
Title stuff
\end{center}

\begin{multicols*}{2}
\section{Word}

There really are some words.
And then some.
AAaaaa bbbb cccc.

Now here is something interesting: {asdf}.

\blindtext[1]

\begin{center}
\rule{\columnwidth}{10pt}
\end{center}

Some words to form a sentence.
There really are some words.
And then some.

%\addvspace{2ex}%
There really are some words.
And then some.

\begin{center}\color{DarkBlue}
\rule{\columnwidth}{10pt}
\end{center}

\blindtext[1]

\everypar=\expandafter{\the\everypar\loosness=-1}
\linepenalty=1000

\begin{center}
\fbox{
\begin{minipage}[t]{0.5\columnwidth}
1 - Some stuff.
Words and such.
There really are some words.
And then some.

There really are some words.
And then some.
\end{minipage}
}
\end{center}

\blindtext[1]

\begin{center}
\fbox{
\begin{minipage}[t]{0.5\columnwidth}
2 - Some stuff.
Words and such.
%There really are some words.
%And then some.

There really are some words.
And then some.
\end{minipage}
}
\end{center}

\blindtext[1]

\end{multicols*}
\end{document}

Screenshots of MWE

enter image description here

enter image description here

6
  • 1
    Hi! Not sure what you want to change. center environment adds vertical spaces, maybe you can try to use \par{\centering "whatever"\par} instead?
    – Rmano
    Apr 5, 2021 at 18:16
  • 1
    Try \raggedbottom. The default \flushbottom` makes all pages/columns end at the same vertical position on the typeset page by adjusting the vertical space between paragraphs, etc. \raggedbottom makes no changes to the vertical spacing. Apr 5, 2021 at 18:59
  • 2
    what do you want \everypar=\expandafter{\the\everypar\loosness=-1} to do??? it is ... unusual code but it affects line breaking not the inter-paragraph space taht is the subject of your question. Apr 5, 2021 at 21:46
  • @DavidCarlisle I hoped it would help.
    – henry
    Apr 5, 2021 at 22:01
  • 1
    it has no effect on inter-paragraph space at all Apr 5, 2021 at 22:10

1 Answer 1

1

As far as I can tell you are mainly asking about space above and below center which is \partopsep if it is between paragraphs or \topsep otherwise. Setting this to 0pt produces

enter image description here

\documentclass[
11pt,
a4paper,
%%%% ? false-,
]
{scrartcl}

\setlength\partopsep{0pt}
\setlength\topsep{0pt}

\usepackage{
lmodern,
multicol,
blindtext,
mdframed,
}

\usepackage[svgnames]{xcolor}


\usepackage[T1]{fontenc}
% not needed unless your latex is old \usepackage[utf8]{inputenc}


\listfiles

\begin{document}
\begin{center}\huge
Title stuff
\end{center}

\begin{multicols*}{2}
\section{Word}

There really are some words.
And then some.
AAaaaa bbbb cccc.

Now here is something interesting: {asdf}.

\blindtext[1]

\begin{center}
\rule{\columnwidth}{10pt}
\end{center}

Some words to form a sentence.
There really are some words.
And then some.

%\addvspace{2ex}%
There really are some words.
And then some.

\begin{center}\color{DarkBlue}
\rule{\columnwidth}{10pt}
\end{center}

\blindtext[1]

% commented out as it is too weird
%\everypar=\expandafter{\the\everypar\loosness=-1}
%\linepenalty=1000

\begin{center}
\fbox{
\begin{minipage}[t]{0.5\columnwidth}
1 - Some stuff.
Words and such.
There really are some words.
And then some.

There really are some words.
And then some.
\end{minipage}
}
\end{center}

\blindtext[1]

\begin{center}
\fbox{
\begin{minipage}[t]{0.5\columnwidth}
2 - Some stuff.
Words and such.
%There really are some words.
%And then some.

There really are some words.
And then some.
\end{minipage}
}
\end{center}

\blindtext[1]

\end{multicols*}
\end{document}
2
  • Not only this particular environment. The global document option was missing parskip= before the false-. Sorry about that. I think I should delete my question and try to rework it. The underlying issue (not really a "problem" per se) is real, it's just... I can't for the life of me figure out how to create an MWE which reproduces some kind of magical vertical rubber spacing between paragraphs. I do not use setstretch. There is \singlespacing right before \begin{document}. Hm.
    – henry
    Apr 5, 2021 at 22:13
  • @henry if you have stretchy space between paragraphs (and flushbottom in effect) the paragraph space will stretch if the page is short and that will be because there is a large unbreakbale box at the top of the next page. Apr 5, 2021 at 22:16

You must log in to answer this question.

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