6

I'm trying to put text as my "bullet point" but it's far too long as extends beyond the left of the page. What can I do to stop it doing this?

\begin{itemize}

  \item[\textsc{Contact Information}] 

   Address: Address \\

   Telephone: Telephone \\

   E-mail: Email

  \item[\textsc{Education}] 

   Etc

\end{itemize}
  • 3
    Are you looking for something like description or labeling(KOMA-script)? It isn't recommended at all to use long texts there. You could even be on the search for paragraph or minisec (KOMA-script). Can you show us a compilable real world example? – Johannes_B Mar 2 '15 at 21:11
  • I'm trying to do a CV, where the "bullet points" are fields such as Contact Information or Education. – simplytheaverage Mar 2 '15 at 21:18
  • Would this help? Make the lines of a description item line up – Johannes_B Mar 2 '15 at 21:31
  • Also don't leave a blank line after \\ (Latex will be complaining about underfull hbox of badness 10000 (which is infinitely bad) – David Carlisle Mar 2 '15 at 21:52
3

Borrowing from the page of Gonzalo at LaTeX Beamer: Define \itemsep globally, one can redefine indentation parameters like \leftmargin and \itemindent by patching the definition of \itemize.

EDIT: I also show another way with stacks.

\documentclass{article}
\usepackage{xpatch,lipsum}
\usepackage[usestackEOL]{stackengine}

\def\defaultitemindent{0pt}
\def\defaultleftmargin{\the\leftmargin}
\xpatchcmd{\itemize}
  {\def\makelabel}
  {\setlength{\itemindent}{\defaultitemindent}%
   \setlength{\leftmargin}{\defaultleftmargin}%
   \setlength{\topsep}{0pt}\def\makelabel}
  {}
  {}
\begin{document}
\parindent 0pt
DEFAULT:
\begin{itemize}
\item[Really Long Text] \lipsum[4] 
\item[Short] text
\end{itemize}

STACK:
\begin{itemize}
\item[\smash{\Longunderstack[l]{Really\\ Long\\ Text}}] \lipsum[4] 
\item[Short] text
\end{itemize}

CHANGE ITEMINDENT
\def\defaultitemindent{15ex}
\begin{itemize}
\item[Really Long Text] \lipsum[4] 
\item[Short] text
\end{itemize}

CHANGE LEFTMARGIN
\def\defaultleftmargin{20ex}
\def\defaultitemindent{0ex}
\begin{itemize}
\item[Really Long Text] \lipsum[4] 
\item[Short] text
\end{itemize}

\lipsum[4]
\end{document}

enter image description here

2

You can use align=left option with the enumitem package, or thedescription environment:

enter image description here

Notes:

  • The showframe package was used just to show the page margins. It is not needed in your actual use case.

Code:

\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe}

\begin{document}
\begin{itemize}
    \item[Really Long Label] Text 
\end{itemize}

\medskip
\begin{itemize}[align=left]
    \item[Really Long Label] Using \verb|align=left| option 
\end{itemize}

\medskip
\begin{description}
    \item[Really Long Label] Using \verb|description| 
\end{description}
\end{document}
  • But how can I align multiple fields (see original post)? – simplytheaverage Mar 2 '15 at 21:26
  • @RyanNg: It is not clear from your updated post how you want things aligned. Can you also post an image of the desired output. Also, perhaps you should consider using tabular. – Peter Grill Mar 2 '15 at 21:42

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.