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}
  • 3
    I'd add \par at the start of the definition of \step and also in the "end part" of SampleList. – egreg Oct 3 '13 at 17:28
  • Indeed, this solves the problem - but why? – Matthias Pospiech Oct 3 '13 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. – barbara beeton Oct 3 '13 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 '13 at 19:22
  • @egreg Would you like to convert your comment into an answer? – samcarter_is_at_topanswers.xyz Dec 20 '18 at 16:30
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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.