# How to put bullets in the margin?

I'm no typography expert, but I heard that the bullets and numbers in itemize/enumerate environments are better placed outside of the main body of text, i.e. in the margin. How can I do that in LaTeX?

And a bonus question, how can I do that in ConTeXt? :)

EDIT: One use is in this thesis: http://www.duo.uio.no/sok/work.html?WORKID=81971&lang=en but I did not find any nested list there.

Another case is this eBook: http://designingfortheweb.co.uk/book/part3/part3_chapter13.php

-
I don't understand the comments below arguing against this style. I think it can be quite attractive in certain designs; furthermore, to counterpoint the "what about nested lists" comment: how common are nested lists, really? –  Will Robertson Sep 27 '10 at 15:35
I hope to get the bonus points for the ConTeXt solution ;-) –  topskip Sep 27 '10 at 18:32

I've never seen placement of the bullets of a list in the margin. The text within a list isn't just body text. So, why line it up with body text. It's a good idea to indent it like you would do with a quotation.

Let's think of choosing this style. What about a nested list? In consequence, its items would have to be aligned at the left margin of the parent list, so at the left margin of the document as well.

What about enumerated lists? Should the numbers be placed in the margin?

To sum up, bulleted list with bullets in margins and items in line with body text seems questionable. Though, it can easily be achieved.

With enumitem, better specify a style in the preamble than to each list by an optional argument. This is consistent and allows easy changes. If you later decide to change the list style, you just need to apply the modification once in the preamble for the whole document.

Martin's example modified under this point of view:

\documentclass{article}
\usepackage{enumitem}
\setitemize[1]{leftmargin=0ex}
\usepackage[showframe]{geometry}
\begin{document}
\begin{itemize}
\item text
\end{itemize}
\end{document}

-
Robert Bringhurst uses margin bullets in "The elements of typographic style". However, while they result in a nice, calm typographic image, they may be overlooked if they are placed in the inner margin of a double-sided document. –  lockstep Aug 8 '10 at 11:14
@Lockstep: Indeed he does; and in my copy there are some in an inner margin (7.2.1, p.123). But I think you may need to be another Robert Bringhurst to get away with it! Are you up for that, @Roman? –  Brent.Longborough Sep 27 '10 at 20:22

The ConTeXt part is easy:

\startitemize[inmargin]
\item foo
\item bar
\item baz
\stopitemize

-
These are the examples using ConTeXt that I like to see. And what would the syntax to make this the default? I guess something like \setupitemize[inmargin]? –  Will Robertson Sep 27 '10 at 23:34
Exactly. You can either say \setupitemize[inmargin] or \setupitemgroup[itemize][inmargin], because itemize is just a predefined itemgroup. –  topskip Sep 28 '10 at 6:07

you could use the enumitem package to adjust the leftmargin. I have, however, never seem bullets in the margin.

\documentclass{article}
\usepackage{enumitem}
\usepackage[showframe]{geometry}
\begin{document}
\begin{itemize}[leftmargin=0ex]
\item Some text in here
\end{itemize}
\end{document}

-

I actually found the source for that thesis somewhere, and extracted the following (ok, I added a . for the enum-list!)

Here is the thesis source, if anyone else is interested later on.

% Enumeratable list
\newenvironment{enum}{%
\begin{list}{\arabic{enumi}.}{%
\setlength{\topsep}{\onelineskip}
\setlength{\partopsep}{0pt}
\setlength{\parsep}{\parskip}
\setlength{\itemsep}{\parskip}
\setlength{\leftmargin}{0pt}
\setlength{\itemindent}{0pt}
\usecounter{enumi}
}
}{\end{list}}

% Itemized list
\newenvironment{items}{%
\begin{list}{\textbullet}{%
\setlength{\topsep}{\onelineskip}
\setlength{\partopsep}{0pt}
\setlength{\parsep}{\parskip}
\setlength{\itemsep}{\parskip}
\setlength{\leftmargin}{0pt}
\setlength{\itemindent}{0pt}
}
}{\end{list}}

% Definitions in lists
\newcommand{\iterm}[1]{\item \term{#1}}

-