有几点,特别是在使用 LaTeX 时,让我感觉字体的大小实际上不是一个连续的量,而是以某种方式量化的,即只能采取一些特定的预定义值。
LaTeX 有几个宏,例如
\Large
,,\huge
\footnotesize
等,用于指定我想要使用的字体大小。这似乎很合理,因为这是针对哪种任务使用哪种大小的某种建议和标准化。但是,似乎没有内置方法可以将字体大小设置为某种具体值13pt
就像您不必指定至少一些其他“独立”参数(例如使用时的一些跳过值)一样\fontsize
。当使用通常的文档类别(例如文章)时,我被限制使用诸如
10pt
、11pt
和之类的大小12pt
。宏
\fontsize{13pt}{10pt}
应该可以解决问题。但是,文档指出(我自己也证实了)第一个参数的值会被舍入到下一个可用的值。例如16pt
,17pt
和18pt
都19pt
给出了完全相同的结果。为什么这里只有几个可用选项?
以我的简单理解,字体是矢量图形,因此将它们缩放到任意值应该没有问题。
我对这种情况的最佳猜测是
- 这并不容易。每种字体大小都有自己的特定属性和精细的排版算法。
- TeX 诞生的那个时代,矢量图形不像今天这样随意使用。也许那时的字体甚至都不是矢量图形。
我对排版理论和历史没有太多了解。所以我可能做出了非常错误的假设。
笔记:我在听取了一些建议后彻底重写了这个问题,以澄清我的意图并理清几个不同的子问题。我在得到一些答案后这样做了。然而,我确保当前的答案仍然适合这个问题。
答案1
您可以指定任何您喜欢的尺寸,例如
\fontsize{2cm}{2in}\selectfont
在 2 英寸基线上显示 2 厘米字体。
但是有些字体(现在不多了)只有一组固定的尺寸。默认情况下,最初的 Computer Modern 字体受到限制,因为它们最初只能作为位图字体使用,虽然它们可以生成不同的尺寸,但您不会想生成任意位图并填满您的磁盘。
如果你把
\RequirePackage{fix-cm}
在文件顶部,也允许使用任意大小的 Computer Modern。
通常与 TeX 一起使用的大多数其他字体默认允许任意大小。
请注意,大多数类别都提供一组受限的字体大小,这并不是因为从技术上讲很难加载另一种大小的字体,而是因为对于每种支持的大小,您都需要指定匹配的字体子/上标大小、匹配列表周围的垂直空格等,并且使用一组小的一致的字体大小而不是在整个文档中使用不同大小的字体是一种很好的文档做法。
因此,在标准类中,字体选择受到两种限制,首先是一组固定的命名大小\tiny
,...... \normalsize
,\huge
......这些不仅仅是设置字体大小,就像\fontsize{}{}\selectfont
设置匹配的空格和数学字体。10pt、11pt、12pt 类的三个尺寸选项更受限制,与选择字体大小完全无关,它们以默认字体大小命名,但类选项设置页面大小、标题选择数学字体设置,因此最好将它们视为姓名它是一个选项,而不是长度。
答案2
为什么字体大小看起来是量化的而不是连续的?这似乎不仅限于 TeX,而是排版中一个普遍现象。
事实上,字体大小的“量化特征”并不局限于 TeX 及其同类字体,它在(好的)排版中也广泛存在。基本上,当您更改字体大小(例如,用于标题或脚注材料)时,您希望使大小变化既引人注目,又“不太刺眼”。
为了文字材料,一个行之有效的印刷惯例是以 20% 的增量/减量来改变字体大小。例如,如果基本字体大小为
10pt
,\footnotesize
则 线性减小 20%(8pt
),而\large
和\Large
分别线性增大 20% 和 44%(12pt
和14.4pt
分别)。等等。为了数学材料,TeX 及其朋友实施的印刷惯例是使下标和上标项目线性缩小 30%,下下标和上上标材料再次线性缩小 30%,总共比基本字体大小缩小了大约 50%。(0.7 乘以 0.7 = 0.49。)因此,如果基本字体大小为 10pt,
\scriptsize
则为7pt
且\scriptscriptsize
为5pt
。
为什么文本材料的步长为 20%,而不是 22% 或 18%?我相信没有人会声称 20% 代表某些明确指定的视觉优化问题的唯一解决方案。步长是经过长时间、通过各种反复试验过程得出的。我猜大约 10%(或更少)的尺寸变化可能太小而难以识别,而大约 30%(或更多)的尺寸变化对于“平均”美学来说太刺眼了。20% 可能被认为是“大多数读者看起来还可以的东西”。
如果你真的相信步长应该使用 18% 而不是 20%,那么实现这一点其实并不需要太多努力。然而,几乎没有读者会注意到这一点,而注意到这一点的少数读者也不太可能欣赏你付出的努力。
您还问了一个完全独立的问题,即为什么article
文档类只提供10pt
、11pt
和12pt
作为主要字体大小。我认为这是因为这个文档类及其兄弟和report
类book
自 LaTeX2.09(甚至可能更久)以来就已经存在。早在 1980 年代,实际上唯一可用于 LaTeX 的字体系列是 Computer Modern,其(您猜对了)以10pt
、11pt
(实际上是:10.95pt,即 10pt 和 12pt 之间的几何平均值)和12pt
作为主文本字体大小。较新的文档类提供了更多选择。例如,文档类memoir
提供以下默认字体大小选项:9、10、11、12、14、17、20、25、30、36、48 和 60 [!] 点。如今,KOMA-Script 文档类允许您指定几乎任何大小。但并非所有字体大小选择都会产生可读的输出。例如,如果您将主文档大小设置为3pt
,除非您还为读者提供高倍放大镜,否则绝对没有人能够读懂您所写的内容...
答案3
嗯...我同意 Mico 的说法,你的问题涉及两个不同的问题:一方面,字体的缩放方式会生成文档的视觉结构;另一方面,标准类中可用的(有限的)尺寸集。
我将开始回答第一个问题,而不依赖以前的答案和评论中的内容。
Mico 给出的百分比是印刷比例如何工作的一个示例,在的情况下TeX
,它被参数化为单个变量或参数的函数,该变量或参数是基础文本的大小,但是考虑到比例的比例取决于因每种印刷术而异的光学考虑因素,因为它们自己的比例和笔画可能需要略有不同的调整,例如,较大的 x 高度意味着上升的笔画比 x 高度较小的字母更短,这一事实可能导致两个相同大小的印刷术需要不同的调整才能获得相同的视觉效果。
我理解,此外,TeX
和LaTeX
都是按照最佳编辑传统设计的,所以正如 Barbara Beeton 指出的那样,Donald Knuth 是基于 Monotype 金属类型的传统。
从这个意义上讲,我们必须认识到,好的编辑设计并不采用量化或连续的方法,而是要利用一致的比例方式,使页面大小、类型框和所选的排版相互协调。
当您不使用 LaTeX 而使用 Scribus、InDesign 或 QuarkXpress(QuarkXpress 还存在吗?)等 DTP 时,您需要选择基本网格,正文文本的基本大小必须围绕该网格适合阅读文本、每个标题、引文或脚注中的文本。您必须调整排版框的尺寸,使其与页面的最终大小相匹配,并且字体大小足以形成所需长度的文本行,并符合我刚刚概述的上述要求。
这些决策的任何改变都可能涉及一切的彻底重新设计,而且由于这种方法是WYSIWYG
,它需要大量的时间来进行所有这些改变,此外还需要更多的知识才能取得与所取得的结果相当的结果TeX
。
从这个意义上说,我们可以说 TeX 是一种参数化设计的工具,因此可以非常方便地进行更改,这是 DTP 视觉逻辑中的人们无法想象的。
你的第二个问题与设计中使用的尺度有关,你可以在模块化。
由于TeX
采用了参数化设计,因此其使用的比例取决于单个参数,即文本的基本主体,这并不奇怪。这样,通过选择该值,您可以调整整个比例,而不必像在 DTP 中那样手动进行调整。
我不知道您怎么想,但恕我直言,这非常棒,并且可以让任何没有时间或不想深入研究这些细节的新手获得专业的印刷质量。
但是,标准类别允许您将基础文本的值设置为 10 到 12 点之间,这不是故意的限制,也不是几乎无法解决的技术限制的产物,它再次成为根深蒂固的编辑传统的一部分,该传统规定,一本书的基础正文,范围从 10 到 12 分,取决于所选的字体和其他考虑因素,例如行距、印刷框的宽度等。
我必须承认,当我看到对你的问题的第一条评论时,我很惊讶没有人提到KOMA Script
,我再次感谢 MICO 弥补了这一遗漏。
简而言之,我不得不说,这KOMA Script
是 IMNSHO 的一组软件包,它大大提高了 的功能standard classes
,纠正了错误,从而摆脱了限制。您可以为基本文本选择小于 10 pt 和大于 12 pt 的字体大小,同时保留比例,我认为您会发现这非常有用。
思考 samcarter 在您的问题评论中给出的例子,我们可以得到如下结果:
\documentclass[fontsize=14pt,paper=a4,DIV=calc,BCOR=5mm]{scrartcl}
\usepackage{lmodern}
\begin{document}
\section{Test}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
\end{document}
简而言之,正如您所看到的TeX
, 和 是LaTeX
根据最佳编辑实践设计的,其中之一是对文档中的阅读文本使用 10 pt 到 12 pt 的文本大小,您可以使用的所有其他大小都是从中计算出来的。因此,与 DTP 或文字处理器不同,您无需浪费时间调整边距和字体大小,更不用说格式不一致了。
答案4
补充其他答案。最初 TeX 字体是用 MetaFont 编码的。MetaFont 包含字形和字符轮廓的描述。此外,不同的字体大小并不是彼此简单的重新缩放版本:小字体可以具有相对较大的笔划或其他变化,以便更易读(请参阅https://en.wikipedia.org/wiki/Metafont)。
当使用新的字体大小时,TeX 引擎需要根据元字体描述计算整个字体(以光栅形式)。那时这需要大量时间和大量磁盘空间。