4

Consider the following MWE

\documentclass[12pt,a4paper]{article}
\begin{document}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

\parbox[t][][t]{\textwidth}{

\begin{itemize}
 \item More Text More Text More Text More Text More Text More Text More Text More Text More Text 
\item  More Text More Text More Text More Text More Text More Text More Text More Text More Text 
 \end{itemize}}

 \vspace{2cm}

 Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:


\begin{itemize}
 \item More Text More Text More Text More Text More Text More Text More Text More Text More Text 
\item  More Text More Text More Text More Text More Text More Text More Text More Text More Text 
 \end{itemize}
\end{document}

How can I remove the space that appears between "Text Text.." and the first bullet containing "More Text..." when using parbox and itemize so that it looks just like below, when using only itemize.

(I have good reasons to use parbox not illustrated by this MWE, so telling me to just use itemize to solve my problem isn't a solution :)

5
  • 2
    What about adding \usepackage{enumitem} and using \begin{itemize}[topsep=0pt]?
    – Werner
    Feb 21 '14 at 19:40
  • @Werner this was great! easiest solution, I think. thanks. (EDIT: I see a lot of answers with other very short solutions have come up...)
    – l7ll7
    Feb 21 '14 at 20:10
  • @Werner That would be too easy. Then we couldn't discuss how many angels can dance on the head of a pt. Feb 21 '14 at 20:31
  • @StevenB.Segletes After seeing that the correct answer to my problem is really delicate (and two answers have only approximate solutions), could you (or someone else, who is more knowledgeable that me on how \LaTeX deals with this issue) tell me, if Werners comment is a fine solution ? (Your paraphrasing of the well-known metaphor seems to indicate that this solution is good enough but not perfect.)
    – l7ll7
    Feb 21 '14 at 21:41
  • Werner, Heiko, and Herbert are all far more knowledgeable on these matters than I. I think the answers given below were trying to stick to the native LaTeX, without adding a new package. If you don't mind loading a new package, Werner's solution seems like a good one, too. Feb 21 '14 at 21:50
6

The paragraph indentation is added to the left of the \parbox. It can be suppressed with \noindent. The vertical space can be corrected:

  • \nointerlineskip removes the line skip (default: 1pt) that is added because of the large \parbox (without t).

  • \prevdepth that shows the depth of the previous box is saved and restored at the beginning of the \parbox. Then environment itemize sees the same \prevdepth in both cases.

\documentclass[12pt,a4paper]{article}
\newdimen\savedprevdepth

\begin{document}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

\setlength{\savedprevdepth}{\prevdepth}
\nointerlineskip
\noindent
\parbox{\textwidth}{
  \setlength{\prevdepth}{\savedprevdepth}
  \begin{itemize}
    \item More Text More Text More Text More Text More Text More Text More Text More Text More Text 
    \item  More Text More Text More Text More Text More Text More Text More Text More Text More Text 
  \end{itemize}%
  \global\savedprevdepth\prevdepth
}

\prevdepth=\savedprevdepth

Some Text

\vspace{2cm}

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

\begin{itemize}
  \item More Text More Text More Text More Text More Text More Text More Text More Text More Text 
  \item  More Text More Text More Text More Text More Text More Text More Text More Text More Text 
\end{itemize}

Some Text
\end{document}

Result

4
  • The two versions are not exactly alike. Close, but not so. I found myself in the same trap. Feb 21 '14 at 19:50
  • 1
    @StevenB.Segletes: Thanks. now it should be. One exception, if the page contents is vertically stretched or shrinked, then this does not affect the glue inside the rigid \parbox. Feb 21 '14 at 20:19
  • You have to restore \prevdepth also at the end of the \parbox
    – egreg
    Feb 21 '14 at 20:53
  • I did the measurement and it's exactly the same height in both examples.
    – egreg
    Feb 21 '14 at 21:13
2

use a minipage instead of a \parbox:

\documentclass[12pt,a4paper]{article}
\begin{document}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

\noindent
\begin{minipage}[t][][t]{\textwidth}\vspace{0pt}%%% Without \vspace no additional space
\begin{itemize}
 \item More Text More Text More Text More Text More Text More Text More Text More Text More Text 
\item  More Text More Text More Text More Text More Text More Text More Text More Text More Text 
 \end{itemize}
 \end{minipage}

 \vspace{2cm}

 Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

\begin{itemize}
 \item More Text More Text More Text More Text More Text More Text More Text More Text More Text 
\item  More Text More Text More Text More Text More Text More Text More Text More Text More Text 
 \end{itemize}
\end{document}
1
  • Very close. An analysis with \showlists reveals that the space are different in type (e.g. \baselineskip`), but in the sum, the first space is only larger by 0.2pt. Feb 21 '14 at 20:25
0

Just suppress the optional arguments of parbox and add an empty \mbox before the blank line inside the parbox. Here is an example resulting in slightly different vertical spacings according to variations of what's put before the \parbox:

        \documentclass[12pt,a4paper]{article}
        \begin{document}
        Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

        \noindent\parbox{\textwidth}{
        \mbox{}

        \begin{itemize}
         \item More Text More Text More Text More Text More Text More Text More Text More Text More Text
        \item  More Text More Text More Text More Text More Text More Text More Text More Text More Text
         \end{itemize}}

         \vskip15mm
        Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

        \noindent\parbox{\textwidth}{
        \mbox{}
        \begin{itemize}
         \item More Text More Text More Text More Text More Text More Text More Text More Text More Text
        \item  More Text More Text More Text More Text More Text More Text More Text More Text More Text
         \end{itemize}}

         \vskip15mm
        Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

        \noindent\parbox{\textwidth}{
        \begin{itemize}
         \item More Text More Text More Text More Text More Text More Text More Text More Text More Text
        \item  More Text More Text More Text More Text More Text More Text More Text More Text More Text
         \end{itemize}}

         \vskip15mm
         Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text:

        \begin{itemize}
         \item More Text More Text More Text More Text More Text More Text More Text More Text More Text
        \item  More Text More Text More Text More Text More Text More Text More Text More Text More Text
         \end{itemize}
        \end{document} 

enter image description here

1
  • The versions are not exactly like the itemize. Close, but not quite. Feb 21 '14 at 19:53

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.