< 和 >> 不给出 « » (guillemets)

< 和 >> 不给出 « » (guillemets)

语境

~$ latex --version
pdfTeX 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian)
kpathsea version 6.2.1

使用此 *.tex 文件

\documentclass[12pt]{article}
%Gummi|065|=)
\title{\textbf{Test ULysse}}
\author{}
\date{}
\usepackage[utf8]{inputenc}
% \usepackage[frenchb]{babel}
\begin{document}

% \maketitle

\section{ \(26^e\) épisode Où Achille...}

\noindent
Il dit : << C'est Ulysse ! >> ...

问题 :如何纠正这个结果:

  • 两个字符<<给出一个反转的字符:(点朝上)而不是«
  • 两个字符>>表示反转的字符 : (点朝上)而不是»

答案1

仅当您加载 T1 编码时,才会提供<<“和”的输入。>>

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}

\begin{document}

\title{Test ULysse}
\author{}
\date{}

\maketitle

\section{26\ieme{} épisode Où Achille...}

Il dit : << C'est Ulysse ! >> ...

\end{document}

注意\ieme上标 e。

然而,这并没有真正解决 guillemet 周围的空格问题,并且存在在“或”之前出现换行的风险。

正确的方法是使用\og\fg或,甚至更好«»直接使用。

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{newunicodechar}

\newunicodechar{«}{\og\ignorespaces}
\newunicodechar{»}{\unskip\fg}

\begin{document}

\title{Test ULysse}
\author{}
\date{}

\maketitle

\section{26\ieme{} épisode Où Achille...}

Il dit : \og C'est Ulysse ! \fg{} ...

Il dit : « C'est Ulysse ! » ...

Il dit : «C'est Ulysse!» ...

\end{document}

enter image description here

答案2

一些建议:

  • 无论如何,请fontenc使用选项加载该包T1

  • 除了使用选项 加载包之外,还可以csquotes考虑使用选项 加载包。然后,编写并让 LaTeX 处理引号的精确定位。french=guillemetsbabelfrench\enquote{C'est Ulysse!}

  • 不要\(26^e\) épisode在节标题的参数中写入内容。相反,请写入26\up{e} épisode-- 注意:无需数学模式. (\ieme{}也可以。)

enter image description here

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage[french=guillemets]{csquotes}
\begin{document}

\section{ 26\up{e} épisode Où Achille \dots}

\noindent
Il dit: <<$\;$C'est Ulysse!$\;$>> % "\;" for "thickspace"

\noindent
Il dit: \enquote{C'est Ulysse!} 

\end{document}

答案3

实际上,使用fontenc带有T1选项的软件包,并且为了获得更正确的印刷效果,您可以使用扩展的\og和命令(提供选项)。但是,我认为输入法语字母的最佳方式是直接输入这些字母,而不必输入或或 或(我假设您使用法语 AZERTY 键盘:法语字母、和在这些键盘上可用)。但是我对执行此操作的方式有不同看法:有一个选项,无需使用指向 par 的软件包。\fgFrenchbfrenchbabelegreg\og\fg<<>>«»Frenchbnewunicodeegreg

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\frenchbsetup{og = «, fg = »}
\begin{document}
Il dit : « c'est Ulysse ! »…
\end{document}

相关内容