这件事已经困扰我好一阵子了。(我使用 LuaLaTeX)
阿拉伯语文本的行距不均匀(见下图和/或 MWE)。我认为特别是第 2、7 和 10 行。如果一本书被印成这样,那将非常令人不快。
我使用 Khaled Hosny 的字体阿米里字体——但这不是字体的问题。我也遇到过这种情况,微软的阿拉伯文排版, 例如。
尽管如此,我还是联系了 Khaled(因为我从 TeX.sx 认识他),他说:
“这可能是由于 TeX 计算行距的方式,具有高/深字形的行将导致更大的行距。由于阿拉伯语比拉丁语更喜欢宽大的行间距,因此解决方案通常是默认使行距足够大。如果这不适合您(例如正文是拉丁文字),那么我认为有办法强制 TeX 进行固定行距(我自己不使用 LaTeX,但在 ConTeXt 中我只是将文本设置在网格上)。”
因此,他提出了两种解决方案,我从中得出了三种:
增加行距全部文本(即阿拉伯语和拉丁语)——不太合适,但也许可以:仅增加阿拉伯语文本的行距
强制所有文本的行距固定
有什么想法可以实现这一点吗?还有其他想法吗?
图片(下载后看起来比这里显示的更好):
梅威瑟:
% !TEX TS-program = lualatex
\documentclass[paper=a4,fontsize=11pt,DIV=calc]{scrartcl}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\newfontfamily\arabicfont[Script=Arabic,Numbers=Arabic]{Amiri}
\usepackage{csquotes}
\newcommand{\arabtext}[1] % Arabic inside LTR
{\bgroup\luatextextdir TRT\arabicfont #1\egroup}
\newcommand{\aq}[2] %
{\blockquote{\arabtext{#1\hfill}\\{#2}}}
\begin{document}
\aq{وأمّا مَنْ جعل العناصر والأسطقسّات أكثر من واحد مثل ابن دقليس وأنكساغورش ولوقيس وديمقراطيس فإنّه يلزمهم أن يقولوا إنّ الكون هو غير الاستحالة لأنّه يجب أن يكون الكون باجتماع الأسطقسّات والفساد بافتراقها والاستحالة شئ غير الاجتماع والافتراق. فأمّا ابن دقليس فإنه كان يقول إنّ الأسطقسّات ستّة اثنان محرّكان وهما العداوة والمحبّة وأربعة متحرّكة وهى الأرض والماء والهواء والنار. وأمّا أنكساغورش ولوقيس وديمقراطيس فإنّهم كانوا يقولون إنّ الأسطقسّات غير متناهية. وأمّا أنكساغورش فكان يضع التى بهذه الصفة هي الأجسام المتشابهة الأجزاء وهى التى يُسَمَّى الكلّ منها والجزء باسم واحد بعينه مثل اللحم والمخّ والخشب. وأمّا ديمقراطس ولو قيس فإنّهما يريان أنّ التى بهذه الصفة هي أجسام غير متجزّئة وأنّها غير متناهية فى عددها وأشكالها وأنّ الأجسام المركّبة من هذه إنّما تختلف لمكان اختلاف الأجزاء التى تتركّب منها من قبل ثلاثة أشياء : الشكل والوضع والترتيب.}
{Facientes autem elementa esse plura uno, ut Empedocles et Anaxagoras et Leucippus et Democritus, necesse est eis dicere generationem esse aliam ab alteratione. Generatio enim fit per congregationem elementorum et corruptio per segregationem eorum; alteratio autem neque est congregatio neque segregatio. Empedocles vero dicebat sex esse elementa, quorum duo sunt moventia, scilicet amicitia et lis, et quatuor mobilia, scilicet terra et aqua et aër et ignis. Anaxagoras autem et Leucippus et Democritus dicebant elementa esse infinita. Sed Anaxagoras ponebat ea esse corpora consimilium partium, quorum totum et pars habent idem nomen, ut caro et medulla et lignum. Democritus autem { p. 6} et Leucippus dixerunt ea esse corpora infinita in numero et in figuris, et quod corpora composita ex hiis diversificantur secundum diversitatem illarum partium aut propter figuram aut propter situm aut propter ordinem.}
\end{document}
答案1
我不明白这\blockquote
是什么意思,我的电脑上也没有阿拉伯字体。但我能说出你的问题的核心在哪里。你必须将文本分成两段,并为第一段设置\baselineskip
和。这意味着(我没有试过这个):\lineskiplimit
\def\ar#1#2{{\luatextextdir TRT\arabicfont\baselineset #1\par}\medskip\noindent#2\par}
\def\baselineset{\lineskiplimit=-\maxdimen \baselineskip=30pt \relax}
\ar{وأمّا مَنْ جعل العناصر والأسطقسّات أكثر من واحد مثل ابن دقليس وأنكساغورش ولوقيس وديمقراطيس فإنّه يلزمهم أ. يقولوا إنّ الكون هو غير الاستحالة لأنّه يجب أن يكون الكون باجتماع الأسطقسّات والفساد بافتراقها والاستحالة شئ غي. الاجتماع والافتراق. فأمّا ابن دقليس فإنه كان يقول إنّ الأسطقسّات ستّة اثنان محرّكان وهما العداوة والمحبّة وأربعة متحرّك. وهى الأرض والماء والهواء والنار. وأمّا أنكساغورش ولوقيس وديمقراطيس فإنّهم كانوا يقولون إنّ الأسطقسّات غير متناهية. وأمّا أنكساغورش فكان يضع التى بهذه الصفة هي الأجسام المتشابهة الأجزاء وهى التى يُسَمَّى الكلّ منها والجزء باسم واح. بعينه مثل اللحم والمخّ والخشب. وأمّا ديمقراطس ولو قيس فإنّهما يريان أنّ التى بهذه الصفة هي أجسام غير متجزّئة وأنّها غي. متناهية فى عددها وأشكالها وأنّ الأجسام المركّبة من هذه إنّما تختلف لمكان اختلاف الأجزاء التى تتركّب منها من قبل ثلاث. أشياء : الشكل والوضع والترتيب.}
{Facientes autem elementa esse plura uno, ut Empedocles et Anaxagoras et Leucippus et Democritus, necesse est eis dicere generationem esse aliam ab alteratione. Generatio enim fit per congregationem elementorum et corruptio per segregationem eorum; alteratio autem neque est congregatio neque segregatio. Empedocles vero dicebat sex esse elementa, quorum duo sunt moventia, scilicet amicitia et lis, et quatuor mobilia, scilicet terra et aqua et aër et ignis. Anaxagoras autem et Leucippus et Democritus dicebant elementa esse infinita. Sed Anaxagoras ponebat ea esse corpora consimilium partium, quorum totum et pars habent idem nomen, ut caro et medulla et lignum. Democritus autem { p. 6} et Leucippus dixerunt ea esse corpora infinita in numero et in figuris, et quod corpora composita ex hiis diversificantur secundum diversitatem illarum partium aut propter figuram aut propter situm aut propter ordinem.}
答案2
关于更改阿拉伯文本的行距,您可以执行以下操作(警告:我不懂阿拉伯语,因此很难判断哪种行距设置好看):
\usepackage{setspace}
...
\newcommand{\arabtext}[1] % Arabic inside LTR @ 1.35 line spacing
{\bgroup\begin{spacing}{1.35}\luatextextdir
TRT\arabicfont #1\hfill\end{spacing}\egroup}
\newcommand{\aq}[2] %
{\blockquote{\arabtext{#1\hfill}{#2}}}% <-- need to remove the \\ since the Arabic text is now 'ended' by the \end{spacing}
也许在网格背景下测试不同的设置更容易。这是一个完整的示例:
\documentclass[paper=a4,fontsize=11pt,DIV=calc]{scrartcl}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Latin Modern Roman}
\newfontfamily\arabicfont[Script=Arabic,Numbers=Arabic]{Amiri}
\usepackage{csquotes}
\usepackage{setspace}
\usepackage{xcolor}
\usepackage[grid, gridunit=pt,
gridcolor=red!20,
subgridcolor=blue!20]{eso-pic}
% code changed to allow setting the `spacing` env.
\newcommand{\arlat}[2]%
{\bgroup
\begin{spacing}{#1}
\luatextextdir TRT\arabicfont #2\hfill
\end{spacing}
\egroup}
\newcommand{\arlatqt}[3]%
{\blockquote{\arlat{#1}{#2\hfill}{#3}}}
\begin{document}
\arlatqt{1.5}{وأمّا مَنْ جعل العناصر والأسطقسّات أكثر من واحد مثل ابن دقليس وأنكساغورش ولوقيس وديمقراطيس فإنّه يلزمهم أن يقولوا إنّ الكون هو غير الاستحالة لأنّه يجب أن يكون الكون باجتماع الأسطقسّات والفساد بافتراقها والاستحالة شئ غير الاجتماع والافتراق. فأمّا ابن دقليس فإنه كان يقول إنّ الأسطقسّات ستّة اثنان محرّكان وهما العداوة والمحبّة وأربعة متحرّكة وهى الأرض والماء والهواء والنار. وأمّا أنكساغورش ولوقيس وديمقراطيس فإنّهم كانوا يقولون إنّ الأسطقسّات غير متناهية. وأمّا أنكساغورش فكان يضع التى بهذه الصفة هي الأجسام المتشابهة الأجزاء وهى التى يُسَمَّى الكلّ منها والجزء باسم واحد بعينه مثل اللحم والمخّ والخشب. وأمّا ديمقراطس ولو قيس فإنّهما يريان أنّ التى بهذه الصفة هي أجسام غير متجزّئة وأنّها غير متناهية فى عددها وأشكالها وأنّ الأجسام المركّبة من هذه إنّما تختلف لمكان اختلاف الأجزاء التى تتركّب منها من قبل ثلاثة أشياء : الشكل والوضع والترتيب.}
{Facientes autem elementa esse plura uno, ut Empedocles et Anaxagoras et Leucippus et Democritus, necesse est eis dicere generationem esse aliam ab alteratione. Generatio enim fit per congregationem elementorum et corruptio per segregationem eorum; alteratio autem neque est congregatio neque segregatio. Empedocles vero dicebat sex esse elementa, quorum duo sunt moventia, scilicet amicitia et lis, et quatuor mobilia, scilicet terra et aqua et aër et ignis. Anaxagoras autem et Leucippus et Democritus dicebant elementa esse infinita. Sed Anaxagoras ponebat ea esse corpora consimilium partium, quorum totum et pars habent idem nomen, ut caro et medulla et lignum. Democritus autem { p. 6} et Leucippus dixerunt ea esse corpora infinita in numero et in figuris, et quod corpora composita ex hiis diversificantur secundum diversitatem illarum partium aut propter figuram aut propter situm aut propter ordinem.}
\end{document}
以下是将间距设置为 1.5。如果间距大于 1.5,看起来可能会不对,但如果我没有看过太多阿拉伯语页面,我很难判断哪些地方看起来奇怪、错误或其他什么的。
答案3
今天我又回到了这个以前无法完全解决的问题。但今天,当我再次探索芭芭拉·比顿在她的第一条评论,我可以找到解决方案。
将的值设置\lineskiplimit
为 ,-\maxdimen
强制 LaTeX 在整个文档中采用单一固定的行高。在此基础上,我可以通过更改 的值来增加给定段落的行高\baselinestretch
,例如:\renewcommand{\baselinestretch}{1.50}\normalsize
。
但是,在我的示例中,引文下面的拉丁文本也会有相同的增加行高(对于拉丁文本来说,这太高了)。因此,我将命令\aq
(之前由以下代码组成)改为:一 \blockquote
命令(一个块引用)转换为命令\aqq
(现在由二 \blockquote
命令用于两个块引用,我可以\baselinestretch
单独应用它们,并且它们之间的空间较小)。
这是迄今为止解决我的问题的最佳方法。我必须看看最终结果如何。当我将其应用于我的整个文档时。但现在这个特定问题似乎或多或少得到了回答。Adobe Acrobat 中高度为的网格20,33 pt
证实了这一点:
梅威瑟:
% !TEX TS-program = lualatex
\documentclass[paper=a4,fontsize=11pt,DIV=16]{scrartcl}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\newfontfamily\arabicfont[Script=Arabic,Numbers=Arabic]{Amiri}
\usepackage{csquotes}
\newcommand{\arabtext}[1] % Arabic inside LTR
{\bgroup\luatextextdir TRT\arabicfont #1\egroup}
\newcommand{\aq}[2] %
{\blockquote{\arabtext{#1\hfill}\\{#2}}}
% The magic begins here:
\lineskiplimit=-\maxdimen
\newcommand{\myvariablelineheight}[1]%
{\renewcommand{\baselinestretch}{#1}\normalsize}
\newcommand{\aqq}[2] %
{\blockquote{\myvariablelineheight{1.5}\arabtext{#1\hfill}}\vspace{-2em}\blockquote{#2}}
\begin{document}
\aq{وأمّا مَنْ جعل العناصر والأسطقسّات أكثر من واحد مثل ابن دقليس وأنكساغورش ولوقيس وديمقراطيس فإنّه يلزمهم أ. يقولوا إنّ الكون هو غير الاستحالة لأنّه يجب أن يكون الكون باجتماع الأسطقسّات والفساد بافتراقها والاستحالة شئ غي. الاجتماع والافتراق. فأمّا ابن دقليس فإنه كان يقول إنّ الأسطقسّات ستّة اثنان محرّكان وهما العداوة والمحبّة وأربعة متحرّك. وهى الأرض والماء والهواء والنار. وأمّا أنكساغورش ولوقيس وديمقراطيس فإنّهم كانوا يقولون إنّ الأسطقسّات غير متناهية. وأمّا أنكساغورش فكان يضع التى بهذه الصفة هي الأجسام المتشابهة الأجزاء وهى التى يُسَمَّى الكلّ منها والجزء باسم واح. بعينه مثل اللحم والمخّ والخشب. وأمّا ديمقراطس ولو قيس فإنّهما يريان أنّ التى بهذه الصفة هي أجسام غير متجزّئة وأنّها غي. متناهية فى عددها وأشكالها وأنّ الأجسام المركّبة من هذه إنّما تختلف لمكان اختلاف الأجزاء التى تتركّب منها من قبل ثلاث. أشياء : الشكل والوضع والترتيب.}
{Facientes autem elementa esse plura uno, ut Empedocles et Anaxagoras et Leucippus et Democritus, necesse est eis dicere generationem esse aliam ab alteratione. Generatio enim fit per congregationem elementorum et corruptio per segregationem eorum; alteratio autem neque est congregatio neque segregatio. Empedocles vero dicebat sex esse elementa, quorum duo sunt moventia, scilicet amicitia et lis, et quatuor mobilia, scilicet terra et aqua et aër et ignis. Anaxagoras autem et Leucippus et Democritus dicebant elementa esse infinita. Sed Anaxagoras ponebat ea esse corpora consimilium partium, quorum totum et pars habent idem nomen, ut caro et medulla et lignum. Democritus autem { p. 6} et Leucippus dixerunt ea esse corpora infinita in numero et in figuris, et quod corpora composita ex hiis diversificantur secundum diversitatem illarum partium aut propter figuram aut propter situm aut propter ordinem.}
\aqq{وأمّا مَنْ جعل العناصر والأسطقسّات أكثر من واحد مثل ابن دقليس وأنكساغورش ولوقيس وديمقراطيس فإنّه يلزمهم أ. يقولوا إنّ الكون هو غير الاستحالة لأنّه يجب أن يكون الكون باجتماع الأسطقسّات والفساد بافتراقها والاستحالة شئ غي. الاجتماع والافتراق. فأمّا ابن دقليس فإنه كان يقول إنّ الأسطقسّات ستّة اثنان محرّكان وهما العداوة والمحبّة وأربعة متحرّك. وهى الأرض والماء والهواء والنار. وأمّا أنكساغورش ولوقيس وديمقراطيس فإنّهم كانوا يقولون إنّ الأسطقسّات غير متناهية. وأمّا أنكساغورش فكان يضع التى بهذه الصفة هي الأجسام المتشابهة الأجزاء وهى التى يُسَمَّى الكلّ منها والجزء باسم واح. بعينه مثل اللحم والمخّ والخشب. وأمّا ديمقراطس ولو قيس فإنّهما يريان أنّ التى بهذه الصفة هي أجسام غير متجزّئة وأنّها غي. متناهية فى عددها وأشكالها وأنّ الأجسام المركّبة من هذه إنّما تختلف لمكان اختلاف الأجزاء التى تتركّب منها من قبل ثلاث. أشياء : الشكل والوضع والترتيب.}
{Facientes autem elementa esse plura uno, ut Empedocles et Anaxagoras et Leucippus et Democritus, necesse est eis dicere generationem esse aliam ab alteratione. Generatio enim fit per congregationem elementorum et corruptio per segregationem eorum; alteratio autem neque est congregatio neque segregatio. Empedocles vero dicebat sex esse elementa, quorum duo sunt moventia, scilicet amicitia et lis, et quatuor mobilia, scilicet terra et aqua et aër et ignis. Anaxagoras autem et Leucippus et Democritus dicebant elementa esse infinita. Sed Anaxagoras ponebat ea esse corpora consimilium partium, quorum totum et pars habent idem nomen, ut caro et medulla et lignum. Democritus autem { p. 6} et Leucippus dixerunt ea esse corpora infinita in numero et in figuris, et quod corpora composita ex hiis diversificantur secundum diversitatem illarum partium aut propter figuram aut propter situm aut propter ordinem.}
\end{document}