当句号紧跟在字母后面时——一个排版问题

当句号紧跟在字母后面时——一个排版问题

由于法语单词先生是缩写,我经常看到这样的章节开头:

M. 诺姆

在排版时(利用字母),我发现句号和紧随其后的单词之间似乎有很大空间;例如,考虑以下代码生成的输出:

\documentclass[12pt]{book}
\oddsidemargin 17pt \evensidemargin 18pt \topmargin 35pt \headheight 25pt \textheight 8.5in \textwidth 5.75in \headsep 40pt \marginparwidth 35pt
\usepackage[T1]{fontenc} 
\input GoudyIn.fd
\newcommand*\initfamily{\usefont{U}{GoudyIn}{xl}{n}}
\usepackage{lettrine}
\usepackage{color}
\definecolor{olivegreen}{cmyk}{0.64,0,0.95,0.40}
\renewcommand{\LettrineFontHook}{\initfamily{}}
\setcounter{DefaultLines}{3}
\renewcommand{\DefaultLoversize}{.47}

\begin{document} 
\thispagestyle{empty}
\large

\lettrine{\color{olivegreen}{M}}{. Vianney} comprit qu'{\`{a}} son z{\`{e}}le s'opposerait un ennemi redoutable: toute la force d'inertie de gens ancr{\'{e}}s dans leurs habitudes.
\end{document}

在此处输入图片描述

问题:从印刷术的角度来说,在字母和 {\scshape{Vianney}} 后面的句号之间是否有相当大的空间?如果是这样,我如何才能将水平空间统一减少到更适合文档中所有此类情况的程度(而不诉诸于强制使用负号hskips)?

谢谢。

答案1

字母会形成一个方框,方框后面的空间因子设置为 1000。因此句号被视为句子结尾。\@在句号后添加。

\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\input GoudyIn.fd
\newcommand*\initfamily{\usefont{U}{GoudyIn}{xl}{n}}
\usepackage{lettrine}
\usepackage{color}
\definecolor{olivegreen}{cmyk}{0.64,0,0.95,0.40}
\renewcommand{\LettrineFontHook}{\initfamily{}}
\setcounter{DefaultLines}{3}
\renewcommand{\DefaultLoversize}{.47}

\begin{document} 
\thispagestyle{empty}
\large

\lettrine{\color{olivegreen}{M}}{. Vianney} comprit qu'\`{a} 
son z\`{e}le s'opposerait un ennemi redoutable: toute la force 
d'inertie de gens ancr\'{e}s dans leurs habitudes.

\lettrine{\color{olivegreen}{M}}{.\@ Vianney} comprit qu'\`{a} 
son z\`{e}le s'opposerait un ennemi redoutable: toute la force 
d'inertie de gens ancr\'{e}s dans leurs habitudes.
\end{document}

在此处输入图片描述

另一方面,您应该使用babel-french,这样就不会出现问题。此外,还会使用法语连字符。

\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\input GoudyIn.fd
\newcommand*\initfamily{\usefont{U}{GoudyIn}{xl}{n}}
\usepackage{lettrine}
\usepackage{color}
\definecolor{olivegreen}{cmyk}{0.64,0,0.95,0.40}
\renewcommand{\LettrineFontHook}{\initfamily{}}
\setcounter{DefaultLines}{3}
\renewcommand{\DefaultLoversize}{.47}

\begin{document} 
\thispagestyle{empty}
\large

\lettrine{\color{olivegreen}{M}}{. Vianney} comprit qu'\`{a} 
son z\`{e}le s'opposerait un ennemi redoutable: toute la force 
d'inertie de gens ancr\'{e}s dans leurs habitudes.

\lettrine{\color{olivegreen}{M}}{.\@ Vianney} comprit qu'\`{a} 
son z\`{e}le s'opposerait un ennemi redoutable: toute la force 
d'inertie de gens ancr\'{e}s dans leurs habitudes.
\end{document}

在此处输入图片描述

如您所见,两段文字的排版相同。

注意:用括号括住重音字母是错误的,因为它会禁用字距调整:

ancr\'{e}s

是正确的,而

ancr{\'{e}}s

是错误的。虽然 BibTeX 文件中没有错误,但情况有所不同。

答案2

就我个人而言,我认为“.”是首字母的一部分。现在使用的字体没有任何“点”,因此需要从其他字体中寻找一个。我在这里使用 cmr,但正方形或其他特殊字体可能更好。无论如何,非常“低级”的,这将是我的方法:

\usepackage{fix-cm} % because cm doesn't scale to arbitrary size
...
\lettrine{\color{olivegreen}M%
          \hspace{-5pt}%                                     % adjust as needed
          \raisebox{6pt}{\rlap{\fontsize{1.5cm}{10}\usefont{T1}{cmr}{m}{n}.}}% % maybe also raise a bit
          \hspace*{8pt}%                                     % adjust as needed
          }{Vianney} comprit qu'\`{a} 

它给出了以下结果(第二行与 egreg 的解决方案相同):

在此处输入图片描述

即使在文本行上使用(没有这样的麻烦),我也会把“点”弄大并且是绿色,以确保它与首字母相关联......但我想这都只是个人品味的问题。

相关内容