
에 대한 총알에 문제가 있습니다 itemize
.
내 문서의 한 부분은 영어로, 다른 한 부분은 프랑스어로 작성해야 합니다. 그러므로 나는 다음을 사용한다:
\usepackage[english,french]{babel}
그런 다음 내 문서에서 필요할 때 사용합니다.
\selectlanguage{english}
\selectlanguage{french}
나는 또한 서문에서 다음을 사용했습니다.
\renewcommand{\labelitemi}{$\bullet$}
결과적으로 내 목록에는 총알이 아니라 대시만 있습니다! 그리고 총알을 원합니다.
내가 알아차린 것은 내가 단지 사용한다면
\usepackage[english]{babel}
(그래서 전체 문서가 영어로 되어있습니다.) 문제가 사라지고 총알이 생겼습니다. 하지만 예를 들어 "chapter"와 "chapitre"라는 단어 때문에 영어와 프랑스어가 모두 필요합니다.
그렇다면 영어와 프랑스어로 된 문서의 목록에 글머리 기호를 사용할 수 있는 솔루션이 있는 사람이 있나요?
다음은 실제 예입니다.
\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}
답변1
조롱하는 내용 입니다 french
. 이것을 추가해 보세요.
\addto\captionsenglish{
\renewcommand{\labelitemi}{$\bullet$}
}
기본적으로 french
목록을 변경하지만 english
변경하지는 않습니다(AFAIR). 그래서 우리는 그러한 스위치를 다시english
편집, french
모두 무시하려면 다음을 사용하십시오.
\usepackage[shortlabels]{enumitem}
\setlist[itemize]{label=\textbullet}
enumitem
알아두면 매우 좋은 패키지입니다. shortlabels
옵션을 사용하면 패키지를 1-1로 대체할 수 있습니다 enumerate
.
답변2
을 사용하면 \frenchbsetup{StandardItemLabels=true}
프랑스 babel-french
스타일의 항목별 목록을 사용하지 않습니다.
\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}
(여기에는 표시되지 않은 단일 페이지에 출력을 얻기 위해 교활한 트릭을 사용했습니다.) 프랑스어의 경우 \usepackage[T1]{fontenc}
. 나는 추천할 수 없다 utf8x
.
답변3
대신 , iflang
와 함께 패키지를 사용할 수 있습니다 . 열거 항목에 넘겨줄 때 간격을 지정해야 할 수도 있습니다 . 프랑스어 부분에서도 글머리 기호 기호로 돌아가려면 을 사용하면 됩니다 . 그런데 프랑스어의 항목화 표시는 .enumitem
enumerate
frenchb
\setlistitemize,1]{label=\textbullet}
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}
답변4
패키지 babel
는 지연된 방식으로, 즉 \begin{document}
명령이 발생할 때 다양한 작업을 수행합니다. 에 대한 (재)정의가 \labelitemi
작동하도록 하려면 이를 지연해야 합니다. 따라서 교체
\renewcommand{\labelitemi}{$\bullet$}
~와 함께
\AtBeginDocument{\renewcommand{\labelitemi}{$\bullet$}}
또는 더 나은 방법은 다음과 같습니다.
\AtBeginDocument{\renewcommand{\labelitemi}{\textbullet}}
babel
( 주변보다 명시적으로 작동하는 솔루션을 원한다면 @daleif의 게시물을 참조하세요.)