Как определить стиль маркера для списка с помощью французской опции babel?

Как определить стиль маркера для списка с помощью французской опции babel?

Я хотел бы использовать itemizeокружение со стилем маркера перед каждым элементом. Я обнаружил, что опция frenchс babelпакетом, похоже, определяет стиль тире для itemizeокружения. Невозможно даже «переписать» это определение в преамбуле, как это предлагается в этомотвечать.

Вот мой MWE, с которым вы можете поиграться:

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

\def\labelitemi{$\bullet$}

\begin{document}

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

\end{document}

Я могу придумать несколько способов переопределить itemizeсреду в преамбуле, чтобы создать маркер, даже если опция frenchзагружена, но есть ли у вас какое-либо «простое» решение, чтобы исправить эту проблему без необходимости переопределять itemizeсреду?

Примечание: Я не пробовал использовать другие варианты, но эта проблема может быть связана не только с ними french.

решение1

С frenchмодулем для babelвы можете использовать

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

Полный пример:

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

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

\begin{document}

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

\end{document}

Используя frenchleмодуль, автор предлагает в документации использовать \frlabelitemsдля переопределения; однако выполнение также должно быть отложено с помощью \AtBeginDocument(я не смог найти никаких ссылок на этот факт в документации?):

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

Используя frenchbмодуль для babel, вы можете переопределить \FrenchLabelItemв преамбуле (обратите внимание, что с учетом настроек в frenchb.ldf, это изменение будет применено ко всем четырем уровням детализированного списка):

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

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

\begin{document}

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

\end{document}

решение2

Если позволите мне поднять этот вопрос из смерти... Вот еще одно решение. Просто добавьте это в преамбулу.

\frenchsetup{StandardItemLabels=true}

Это не позволит Babel настраивать метки элементов. То, что настраивает Babel, на самом деле очень легко настраивается и хорошо документировано.

решение3

В дополнение к тому, что опубликовал Celelibi,здесьпредставляет собой PDF-файл, в котором обобщены различные настройки для французского языка.

Поведение по умолчанию: \usepackage[french]{babel}заключается в изменении настроек макета по умолчанию для адаптации к французскому языку (отступ первого абзаца, элементы по умолчанию в среде itemize устанавливаются на «—» вместо «•», вертикальный интервал удаляется и т. д.).

С помощью следующей команды вы можете переопределить это поведение и использовать пользовательское или даже восстановить поведение по умолчанию:

\frenchsetup{options}

Например, этот восстанавливает поведение по умолчанию:

\frenchsetup{StandardLayout = true}

Связанный контент