为什么 babel-latin 包中的韵律标记会导致某些单词超出文本宽度?

为什么 babel-latin 包中的韵律标记会导致某些单词超出文本宽度?

我正在尝试使用babel-latinClassic Latin 变体中的包复制一本用拉丁语编写的书。如果使用修饰符加载语言,此包将提供韵律标记的简写withprosodicmarks。示例(来自文档):

在此处输入图片描述

但是,我注意到,有时当一行以包含此类标记的单词结尾时,它会溢出到页边距。以下是我的文档中的一个例子:

在此处输入图片描述

在此处输入图片描述

我确信这与此有关,babel-latin因为当我不使用韵律标记环境时,这个错误就消失了。下面,我将提供一个最小的工作示例。

\documentclass[twoside]{book}

% Encoding, fonts, and languages
\usepackage[utf8]{inputenc}
\usepackage[T2A, T1]{fontenc}
\usepackage[english, classiclatin.withprosodicmarks]{babel}
\usepackage[urw-garamond]{mathdesign}
\usepackage{ebgaramond}

% Page dimensions and margins
\usepackage[
    paperheight=9in,
    paperwidth=6in,
    top=1in,
    bottom=1in,
    inner=0.75in,
    outer=2in
]{geometry}

% Show margins
\usepackage{showframe}

\begin{document}

\mainmatter

\chapter{IMPERIVM ROMANVM}

\ProsodicMarksOn

Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=enus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anuvius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=enus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anuvius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

\ProsodicMarksOff

\end{document}

答案1

重音符号并非全部采用 T1 编码,因此,就像使用 OT1 编码来表示现代欧洲语言一样,\accent会使用一种抑制连字符的结构。

您可以在需要的地方使用以下方式指定连字符\-

在此处输入图片描述

\documentclass[twoside]{book}

% Encoding, fonts, and languages
\usepackage[utf8]{inputenc}
\usepackage[T2A, T1]{fontenc}
\usepackage[english, classiclatin.withprosodicmarks]{babel}
\usepackage[urw-garamond]{mathdesign}
\usepackage{ebgaramond}

% Page dimensions and margins
\usepackage[
    paperheight=9in,
    paperwidth=6in,
    top=1in,
    bottom=1in,
    inner=0.75in,
    outer=2in
]{geometry}

% Show margins
\usepackage{showframe}

\begin{document}

\mainmatter

\chapter{IMPERIVM ROMANVM}

\ProsodicMarksOn


Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=enus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anuvius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=e\-nus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anu\-vius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

\ProsodicMarksOff

\end{document}

虽然说实话我不知道连字符在古典拉丁语中是否有意义?否则你可以用来\sloppy增加空白的可伸缩性

在此处输入图片描述

\documentclass[twoside]{book}

% Encoding, fonts, and languages
\usepackage[utf8]{inputenc}
\usepackage[T2A, T1]{fontenc}
\usepackage[english, classiclatin.withprosodicmarks]{babel}
\usepackage[urw-garamond]{mathdesign}
\usepackage{ebgaramond}

% Page dimensions and margins
\usepackage[
    paperheight=9in,
    paperwidth=6in,
    top=1in,
    bottom=1in,
    inner=0.75in,
    outer=2in
]{geometry}

% Show margins
\usepackage{showframe}

\begin{document}

\mainmatter

\chapter{IMPERIVM ROMANVM}

\ProsodicMarksOn
\sloppy

Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=enus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anuvius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=enus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anuvius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

\ProsodicMarksOff

\end{document}

或者,您可以使用 lualatex 和 TU 编码,因为使用 Unicode 具有更多可用的预组合字形,因此有更多的连字点:

在此处输入图片描述

\documentclass[twoside]{book}

% Encoding, fonts, and languages
%\usepackage[utf8]{inputenc}
%\usepackage[T2A, T1]{fontenc}
\usepackage[english, classiclatin.withprosodicmarks]{babel}
\usepackage[urw-garamond]{mathdesign}
\usepackage{ebgaramond}

% Page dimensions and margins
\usepackage[
    paperheight=9in,
    paperwidth=6in,
    top=1in,
    bottom=1in,
    inner=0.75in,
    outer=2in
]{geometry}\showoutput

% Show margins
\usepackage{showframe}

\begin{document}

\mainmatter

\chapter{IMPERIVM ROMANVM}

\ProsodicMarksOn


Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=enus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anuvius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

Estne N=ilus in Eur=op=a? N=ilus in Eur=op=a n=on est. Ubi est N=ilus? N=ilus
in =Afric=a est. Rh=enus ubi est? Rh=enus est in Germ=ani=a. N=ilus fluvius
est. Rh=enus fluvius est. N=ilus et Rh=enus fluvi=i sunt. D=anuvius quoque
fluvius est. Rh=enus et D=anuvius sunt fluvi=i in Germ=ani=a. Tiberis fluvius
in Itali=a est.

\ProsodicMarksOff

\end{document}

(实际上最后一种情况下有一些字体警告/替换,但主体采用 TU 编码的 Garamond 字体设置)

相关内容