# Renewcommand labelitem doesn't work with multiple languages

I'm having troubles with the bullets for itemize.
I need to have one part of my document in English and one part in French. Therefore I use:

\usepackage[english,french]{babel}


then in my document I use when it's needed:

\selectlanguage{english}
\selectlanguage{french}


I also used in the preamble:

\renewcommand{\labelitemi}{$\bullet$}


And the result is that in my list I do not have a bullet but a dash! And I would like a bullet.

Something I noticed is that if I only use

\usepackage[english]{babel}


(so the entire document is in English) the problem disappears and I have the bullets. But I need both English and French because of the word "chapter" and "chapitre" for example.

So does anyone have a solution to be able to use bullets for the lists in a document with English and French?

Here is a working example:

\documentclass[10pt,a4paper]{report}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage[english,french]{babel}
%\usepackage[english]{babel}
\usepackage{amsmath,amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{enumerate}

\renewcommand{\labelitemi}{$\bullet$}

\begin{document}

\selectlanguage{english}

\chapter{First chapter}

This is my list :

\begin{itemize}
\item Value 1
\item Value 2
\end{itemize}

\selectlanguage{french}
\chapter{Second chapitre}

Ceci est ma liste:

\begin{itemize}
\item Valeur 1
\item Valeur 2
\end{itemize}

\end{document}

-
Welcome to TeX.SX! Please help us to help you and add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}. –  Marco Daniel Aug 20 '14 at 11:13
Welcome to the site. In order to help it would be a lot better if you would please provide a fill minimale example that we can copy to our own systems and try in order to see if we get the same problematic result as you describe. –  daleif Aug 20 '14 at 11:13
As you advised I added a working example. –  user1314776 Aug 20 '14 at 11:23

That is french mocking about, try adding this

\addto\captionsenglish{
\renewcommand{\labelitemi}{$\bullet$}
}


Basically french alters lists, but english does not (AFAIR). So we add such a switch back to english

Edit, to ignore french all together, use

\usepackage[shortlabels]{enumitem}
\setlist[itemize]{label=\textbullet}


enumitem is a very good package to know, the shortlabels option makes it a 1-1 replacement for the enumerate package.

-
I tried your solution. It's changes the bullets for the english part but not the french part. I also added addto\captionsfrench{} and it still doesn't work for the french part. –  user1314776 Aug 20 '14 at 12:20
@user1314776, see the update –  daleif Aug 20 '14 at 13:15
Perfect! That works for both now! Thanks a lot! –  user1314776 Aug 20 '14 at 13:28

Use \frenchbsetup{StandardItemLabels=true}, so babel-french will not use French style itemized lists.

\documentclass[10pt,a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,french]{babel}
\usepackage{amsmath,amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{enumerate}

\frenchbsetup{StandardItemLabels=true}

\begin{document}

\selectlanguage{english}

\chapter{First chapter}

This is my list:

\begin{itemize}
\item Value 1
\item Value 2
\end{itemize}

\selectlanguage{french}

\chapter{Second chapitre}

Ceci est ma liste:

\begin{itemize}
\item Valeur 1
\item Valeur 2
\end{itemize}

\end{document}


(I used a devious trick to get the output in a single page, not shown here.) Note that with French it is highly recommended to have \usepackage[T1]{fontenc}. I can't recommend utf8x.

-
Thanks a lot for the solution! It works very well! –  user1314776 Aug 20 '14 at 17:14

You can use the iflang package, together with enumitem, instead of enumerate. Note that maybe you'll also have to specify spacings as frenchbhands over to enumitem. If you want to come back with the bullet symbol, even in the French part, just use \setlistitemize,1]{label=\textbullet}. Btw, I think the itemize marker in french should be an endash.

\documentclass[10pt, a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,french]{babel}
\usepackage{iflang}

\usepackage{enumitem}

\setlist[itemize, 1]{label = \IfLanguageName{french}{\textendash}{\textbullet}}

\begin{document}

\selectlanguage{english}

\chapter{First chapter}

This is my list :

\begin{itemize}
\item Value 1
\item Value 2
\end{itemize}

\selectlanguage{french}
\chapter{Second chapitre}

Ceci est ma liste:

\begin{itemize}
\item Valeur 1
\item Valeur 2
\end{itemize}

\chapter{Chapitre troisième}

\setlist[itemize, 1]{label = \textbullet}
Ceci est ma liste:

\begin{itemize}
\item Valeur 1
\item Valeur 2
\end{itemize}

\end{document}


-
Why utf8x instead of utf8? And why package ucs (same question as ucs is loaded by utf8x)? –  clemens Aug 20 '14 at 12:43
@cgnieder: I don't know. It was in the O.P.'s minimal example, and I left it as is. But you're right: I already removed unnecessary packages, I'll change my answer at once. –  Bernard Aug 20 '14 at 12:53
Thanks for the feedback on the packages. I am not an expert in latex and I cam across codes that used these packages this way so I kept this (bad) habit. But I'll correct it. Regarding the solution, it works for the english part but not the french part. –  user1314776 Aug 20 '14 at 13:27
Actually the edit made by @daleif (above) corrected the problem. –  user1314776 Aug 20 '14 at 13:29
@user1314776: do you mean you do not have dashes for the French part, as I get with my example? –  Bernard Aug 20 '14 at 13:42

The babel package performs various tasks in a delayed manner, i.e., when the \begin{document} instruction is encountered. To get your (re)definition of \labelitemi to work, you also need to delay it. Thus, replace

\renewcommand{\labelitemi}{$\bullet$}


with

\AtBeginDocument{\renewcommand{\labelitemi}{$\bullet$}}


or, better yet, with

\AtBeginDocument{\renewcommand{\labelitemi}{\textbullet}}


(If you want a solution that works explicitly with babel than around it, see the posting of @daleif.)

-