7

I would like to use itemize environment with the bullet style before each item. I found out that the french option with the babel package seems to define the dash style for the itemize environment. It is not even possible to "overwrite" this definition in the preamble as it is suggested in this answer.

Here is my MWE for you to play around with it:

\documentclass{article}
\usepackage[french]{babel}

\def\labelitemi{$\bullet$}

\begin{document}

\begin{itemize}
\item Blabla
\item Bloblo
\end{itemize}

\end{document}

I can think of some ways to redefine the itemize environment in the preamble to produce the bullet even if the french option is loaded but would you have any "simple" solution to fix this problem without having to redefine the itemize environment?

Remark: I haven't tried with other options but this problem might not be limited to the french option.

2
  • 1
    You can use \AtBeginDocument{\renewcommand\labelitemi{$\bullet$}}. Jul 11, 2013 at 22:05
  • Don't forget to ping the users via @GonzaloMedina ...
    – percusse
    Jul 11, 2013 at 22:17

3 Answers 3

6

With the french module for babel you can use

\AtBeginDocument{\def\labelitemi{$\bullet$}}

A complete example:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\AtBeginDocument{\def\labelitemi{$\bullet$}}

\begin{document}

\begin{itemize}
\item Blabla
\item Bloblo
\end{itemize}

\end{document}

Using the frenchle module, the author suggests in the documentation the use of \frlabelitems to make the redefinition; however, the execution has also to be delayed with \AtBeginDocument (I couldn't find any reference to this fact in the documentation?):

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[frenchle]{babel}

\AtBeginDocument{\frlabelitems{\renewcommand{\labelitemi}{$\bullet$}%
\renewcommand{\labelitemii}{**}%
\renewcommand{\labelitemiii}{***}%
\renewcommand{\labelitemiii}{****}%
  }%
}

\begin{document}

\begin{itemize}
\item Blabla
\item Bloblo
\end{itemize}

\end{document}

Using the frenchb module for babel, you can redefine \FrenchLabelItem in the preamble (notice, however, that given the settings in frenchb.ldf, this change will be applied to all four levels of an itemized list):

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}

\renewcommand*{\FrenchLabelItem}{$\bullet$}

\begin{document}

\begin{itemize}
\item Blabla
\item Bloblo
\end{itemize}

\end{document}
2
  • btw: What is the difference between using \AtBeginDocument or just \def or \renewcommand in the preamble?
    – Ludovic C.
    Jul 11, 2013 at 22:33
  • @LudovicC. \AtBeginDocument delays execution to a latter time than most preamble instructions. Jul 11, 2013 at 22:45
3

If I may raise this question from death... Here is another solution. Just add this to your preamble.

\frenchsetup{StandardItemLabels=true}

This will prevent babel from customizing the item labels. The things that babel customize are actually very configurable and well documented.

1
  • 1
    This is a nice solution, but it does not work correctly: labelitemii are poorly indented with this configuration.
    – Gopi
    Nov 1, 2019 at 17:38
2

In addition to what Celelibi posted, here is a PDF that sums up various setups for french language.

The dafault behavior of: \usepackage[french]{babel} is to change the default layout settings to adapt to French (first paragraph indentation, the default items in itemize environment are set to ‘—’ instead of ‘•’ and vertical spacing is removed etc...).

With the following command you can override this behavior and use a custom one or even restore the default one:

\frenchsetup{options}

For instance this one restore the default behavior:

\frenchsetup{StandardLayout = true}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .