2

The following code shows two problems. 1. the intendation of the lettrine is wrong inside the multicols environment and the SampleList environment unless a \vfill is inserted at the end. 2. The next picture (here emulated as a minipage) after the SampleList is positioned with a large separation, which is unwanted.

enter image description here

\documentclass[]{scrbook}

\usepackage{multicol}
\usepackage{lettrine}

\begin{document}

\newcounter{itemstep}
\setcounter{itemstep}{0}
\setlength{\parindent}{0pt}

\newenvironment{SampleList}{}{}
\newcommand{\step}{%
\stepcounter{itemstep}%
\lettrine[findent=5pt,lines=1]{\theitemstep}{}
}% end of \step 

\begin{multicols}{2}

\begin{minipage}[b]{.99\linewidth}
\centering
\rule{0.95\linewidth}{9cm}
\end{minipage}

\begin{SampleList}
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
%
\columnbreak % <-- error of large free space introduced here
%
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
%
\vfill % <-- necessary to position last lettrine number correct
\end{SampleList}
% 
\begin{minipage}[b]{.99\linewidth}
\centering
\rule{0.95\linewidth}{5cm}
\end{minipage}
%
\begin{SampleList}
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
\step This is some example text. This is some example text. This is some example text. This is some example text. 
% \vfill  % <- commented to show error with position of last lettrine number
\end{SampleList}
\end{multicols}

\end{document}
7
  • 3
    I'd add \par at the start of the definition of \step and also in the "end part" of SampleList.
    – egreg
    Oct 3, 2013 at 17:28
  • Indeed, this solves the problem - but why? Oct 3, 2013 at 17:41
  • i'd expand egreg's suggestion for what you put at the end of SampleList to \unskip\strut\par just in case the last line has no descenders. of course, you then can't leave any blank line in the input before \end{SampleList}. also, some of the % signs between segments aren't necessary (or might even be counterproductive); for example, the ones around \columnbreak don't seem to have any effect, either positive or negative, so blank lines should be just as good there. Oct 3, 2013 at 17:49
  • @MatthiasPospiech Basically, you're using \lettrine in the middle of a paragraph. Since it sets \parshape all goes awry.
    – egreg
    Oct 3, 2013 at 19:22
  • @egreg Would you like to convert your comment into an answer? Dec 20, 2018 at 16:30

1 Answer 1

2

Adding \par at the beginning of \step and at the end of the environment is recommended and cures the problems. The \strut is a safety measure for ensuring better spacing if the step is followed by something very high like after step 4 (thanks to Barbara Beeton for it).

\documentclass[]{scrbook}

\usepackage{multicol}
\usepackage{lettrine}

\newcounter{itemstep}
\setcounter{itemstep}{0}
\setlength{\parindent}{0pt}

\newenvironment{SampleList}{}{\unskip\strut\par} % <--- added
\newcommand{\step}{%
  \par % <--- added
  \stepcounter{itemstep}%
  \lettrine[findent=5pt,lines=1]{\theitemstep}{}
}% end of \step 

\begin{document}

\begin{multicols}{2}

\begin{minipage}[b]{.99\linewidth}
\centering
\rule{0.95\linewidth}{9cm}
\end{minipage}

\begin{SampleList}
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
%
\columnbreak
%
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
%
\end{SampleList}
% 
\begin{minipage}[b]{.99\linewidth}
\centering
\rule{0.95\linewidth}{5cm}
\end{minipage}
%
\begin{SampleList}
\step This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. This is some example text. 
\step This is some example text. This is some example text. This is some example text. This is some example text. 
\end{SampleList}
\end{multicols}

\end{document}

enter image description here

You must log in to answer this question.

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