El elemento de etiqueta de comando renovado no funciona con varios idiomas

El elemento de etiqueta de comando renovado no funciona con varios idiomas

Tengo problemas con las balas itemize.
Necesito tener una parte de mi documento en inglés y una parte en francés. Por eso uso:

\usepackage[english,french]{babel}

luego en mi documento lo uso cuando es necesario:

\selectlanguage{english}
\selectlanguage{french}

También utilicé en el preámbulo:

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

¡Y el resultado es que en mi lista no tengo una viñeta sino un guión! Y me gustaría una bala.

Algo que noté es que si solo uso

\usepackage[english]{babel}

(por lo que todo el documento está en inglés) el problema desaparece y tengo las viñetas. Pero necesito tanto inglés como francés debido a las palabras "chapter" y "chapitre", por ejemplo.

Entonces, ¿alguien tiene una solución para poder usar viñetas para las listas en un documento con inglés y francés?

Aquí hay un ejemplo práctico:

\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}

Respuesta1

Eso es frenchuna burla, intenta agregar esto.

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

Básicamente frenchaltera las listas, pero englishno lo hace (AFAIR). Así que volvemos a agregar ese cambio aenglish


Editar, para ignorar frenchtodos juntos, use

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

enumitemEs un paquete muy bueno para conocer, la shortlabelsopción lo convierte en un reemplazo 1-1 del enumeratepaquete.

Respuesta2

Utilice \frenchbsetup{StandardItemLabels=true}, por lo que babel-frenchno utilizará listas detalladas de estilo francés.

\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}

(Utilicé un truco tortuoso para obtener el resultado en una sola página, que no se muestra aquí). Tenga en cuenta que con el francés es muy recomendable tener \usepackage[T1]{fontenc}. No puedo recomendar utf8x.

ingrese la descripción de la imagen aquí

Respuesta3

Puede utilizar el iflangpaquete junto con enumitem, en lugar de enumerate. Tenga en cuenta que tal vez también deba especificar espacios como frenchbentrega a enumitem. Si quieres volver con el símbolo de viñeta, incluso en la parte francesa, simplemente usa \setlistitemize,1]{label=\textbullet}. Por cierto, creo que el marcador de elementos en francés debería ser un archivo 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} 

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Respuesta4

El babelpaquete realiza varias tareas de manera retrasada, es decir, cuando \begin{document}se encuentra la instrucción. Para que su (re)definición de \labelitemifuncione, también debe retrasarla. Por lo tanto, reemplace

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

con

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

o mejor aún, con

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

(Si desea una solución que funcione explícitamente con babelella, consulte la publicación de @daleif).

información relacionada