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.

I am using this snippet to make list with default document line interval and it also indents only first line.

% Compact list
\newenvironment{compactlist}{
 \begin{list}{{$\bullet$}}{
  \setlength{\partopsep}{0pt}
  \setlength{\parskip}{0pt}
  \setlength{\parsep}{0pt}
  \setlength{\topsep}{0pt}
  \setlength{\itemsep}{0pt}
  \setlength{\itemindent}{\leftmargin}
  \setlength{\leftmargin}{0pt}
 }
}{
 \end{list}
}

But it indents text to default indentation level. How can I set up two horizontal spaces: between left margin and bullet (1.25cm), and between bullet and text (0.63cm)?

update:

\usepackage{indentfirst}
%\setlength{\parindent}{1.25cm} %uncomment to break indentation

Looks like I need first to make lists respect indentadion level which was set for \parindent.

list_indentation

\documentclass[oneside,draft,14pt]{extreport}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{vmargin}
\setpapersize{A4}
\fussy
\usepackage{setspace}
\onehalfspacing

\usepackage{indentfirst}
%\setlength{\parindent}{1.25cm} %uncomment to break indentation

% List with default line intervals
\newenvironment{compactlist}{
 \begin{list}{{$\bullet$}}{
  \setlength{\partopsep}{0pt}
  \setlength{\parskip}{0pt}
  \setlength{\parsep}{0pt}
  \setlength{\topsep}{0pt}
  \setlength{\itemsep}{0pt}
  \setlength{\itemindent}{\leftmargin}
  \setlength{\leftmargin}{0pt}
 }
}{
 \end{list}
}

\begin{document}

In 1778, John Parke Custis purchased an 1,100-acre (450 ha) tract of
forested land on the Potomac River north of the town of Alexandria,
Virginia.

\begin{compactlist}
 \item This land became the Arlington Estate. John Custis died in
September 1781, and in 1799 his son, George Washington Parke Custis
("G.W.P.") step-grandson of George Washingto inherited the site. G.W.P
Custis and his wife, Mary, moved onto the estate, and between 1802 and
1814 they constructed Arlington House;
 \item The Custises extensively developed the site.
\end{compactlist}

Much of the steep slope to the east of the house
became a cultivated English landscape park, while a large flower
garden with an arbor was constructed and planted south of the house.

\end{document}
share|improve this question
2  
See your previous question: Indent first line only in customized list and I recommend to use enumitem –  Marco Daniel May 17 '12 at 14:33
    
Actually I used that solution, but I have different indentaion, not one like on *locktep screenshot. –  dig May 17 '12 at 14:47
    
In this case -- Please provide a MWE and not only a snippet. –  Marco Daniel May 17 '12 at 15:00
    
Hm, does it means that it already should be indented like I am asking it this post? I'll try to figure out what can break indentation. –  dig May 17 '12 at 15:23
    
Please look at update - posted gist with MWE. –  dig May 17 '12 at 15:55
add comment

2 Answers

up vote 6 down vote accepted

The enumitem package is your most convenient option here:

enter image description here

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\begin{document}
\noindent Here is some text.
\begin{itemize}[leftmargin=*,labelindent=12.5mm,labelsep=6.3mm]
  \item Here is some text.
  \item Here is some text.
\end{itemize}
\noindent \rule{12.5mm}{1pt}$\bullet$\rule{6.3mm}{1pt} \par
\noindent Here is some text.
\end{document}

Setting the leftmargin flush with the left margin (via *), leaves you to manually set labelindent (space between left margin and bullet) and labelsep (space between bullet and text).

The generalize these settings (and not have to set it locally via the optional argument), you can use

\setlist[itemize,1]{leftmargin=*,labelindent=12.5mm,labelsep=6.3mm}

which sets the first level of itemize to have the required layout. You can also create your own list using \newlist. See section 7 Cloning the basic lists (p 10) in the enumitem documentation.

To add vertical spacing between items in the list, modify the itemsep property. Here's the above MWE with such a modification:

enter image description here

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\setlist[itemize,1]{leftmargin=*,labelindent=12.5mm,labelsep=6.3mm,itemsep=2\baselineskip}
\begin{document}
\noindent Here is some text.
\begin{itemize}
  \item Here is some text.
  \item Here is some text.
\end{itemize}
\noindent \rule{12.5mm}{1pt}$\bullet$\rule{6.3mm}{1pt} \par
\noindent Here is some text.
\end{document}

Other vertical spacing properties include topsep, partopsep and parsep. The documentation, again, includes descriptions on their impact.

The bottom row with rules in the above MWE is just to verify the lengths between the list elements.

share|improve this answer
    
Thanks! Is it possible to add kind of short alias for \begin{itemize}[leftmargin=*,labelindent=12.5mm,labelsep=6.3mm] ? –  dig May 17 '12 at 16:09
    
By the way, how can I set line interval for these lists? Like onehalfspacing (or better pick line interval from document environment)? –  dig May 17 '12 at 16:20
    
@dig: Yes, you can add some shorthand; I'll update my answer. Vertical separation between items are set using itemsep. –  Werner May 17 '12 at 17:17
add comment

Ended up with solution based on my code because I still have issues with line spacing and second line indentation with package @Werner adviced. And also this looks simplier (I had to add just two line to my snippet from original post).

% Compact list (assuming paragraph indent is 1.25cm)
\newenvironment{compactlist}{
 \begin{list}{{$\bullet$}}{
  \setlength{\partopsep}{0pt}
  \setlength{\parskip}{0pt}
  \setlength{\parsep}{0pt}
  \setlength{\topsep}{0pt}
  \setlength{\itemsep}{0pt}
  \setlength{\labelsep}{0.63cm} % horizontal space from bullet to text (as needed)
  \setlength{\itemindent}{2.13cm} % summary indentation: par 1.25cm + bullet 0.63 + magic number picked empirically (0.25cm)
  \setlength{\leftmargin}{0pt} % reset margin so that only first line of list item indented
 }
}{
 \end{list}
}
share|improve this answer
    
Although this might be down to personal preference, but I don't see this as being simpler necessarily. I also just added two lines of code and enumitem allows for local modification of lists via an optional argument. –  Werner May 17 '12 at 19:35
    
I think your solution is more solid, I'll revisit it one day :) –  dig May 17 '12 at 20:30
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.