Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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 :)

share|improve this question
2  
What about adding \usepackage{enumitem} and using \begin{itemize}[topsep=0pt]? –  Werner Feb 21 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...) –  user10324 Feb 21 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. –  Steven B. Segletes Feb 21 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.) –  user10324 Feb 21 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. –  Steven B. Segletes Feb 21 at 21:50
add comment

3 Answers 3

up vote 6 down vote accepted

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

share|improve this answer
    
The two versions are not exactly alike. Close, but not so. I found myself in the same trap. –  Steven B. Segletes Feb 21 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. –  Heiko Oberdiek Feb 21 at 20:19
    
You have to restore \prevdepth also at the end of the \parbox –  egreg Feb 21 at 20:53
    
@egreg: Thanks, done. –  Heiko Oberdiek Feb 21 at 21:00
    
I did the measurement and it's exactly the same height in both examples. –  egreg Feb 21 at 21:13
add comment

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}
share|improve this answer
    
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. –  Heiko Oberdiek Feb 21 at 20:25
add comment

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

share|improve this answer
    
The versions are not exactly like the itemize. Close, but not quite. –  Steven B. Segletes Feb 21 at 19:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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