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'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}
share|improve this question
    
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 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 at 11:13
    
As you advised I added a working example. –  user1314776 Aug 20 at 11:23

4 Answers 4

up vote 6 down vote accepted

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.

share|improve this answer
    
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 at 12:20
    
@user1314776, see the update –  daleif Aug 20 at 13:15
    
Perfect! That works for both now! Thanks a lot! –  user1314776 Aug 20 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.

enter image description here

share|improve this answer
    
Thanks a lot for the solution! It works very well! –  user1314776 Aug 20 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} 

enter image description here

enter image description here

share|improve this answer
1  
Why utf8x instead of utf8? And why package ucs (same question as ucs is loaded by utf8x)? –  cgnieder Aug 20 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 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 at 13:27
    
Actually the edit made by @daleif (above) corrected the problem. –  user1314776 Aug 20 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 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.)

share|improve this answer

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.