尽管有些人可能不同意,但我认为权利法案是一份精美的印刷品。
我想使用 TeX 和相关工具重现这一点,但不知道从哪里开始。例如,我该如何重现带有额外花饰的漂亮 g?我必须自己创建字形吗,或者有这样的字体可用吗?
另外,是否有一个包可以得到“文章第一篇....文本在这里”的正确排版?
答案1
注意力:这是一次失败的尝试。请随意不是赞同它。:)
既然你提到了复制权利法案,我认为想出一个尽可能接近原始 TeX 示例会很有趣。但是,天哪,这对我来说太难了。而且——剧透警告——我失败得很惨。另一方面,我认为值得一提我的方法。:)
我们在这里讨论的是书法字体。为了获得漂亮的效果g
,我们需要选择一种提供此功能的字体(见这个效果(花饰)是如何实现的?)。一旦我们有了这种字体,我们只需要使用它。像 LuaTeX 和 XeTeX 这样的引擎非常适合处理系统字体。
现在,我真的不知道有什么字体与标题相似权利法案当一切都失败时,就该使用一些蛮力了。:)
我最初的计划是:想出我自己的字体怎么样?(见为 LaTeX 开发新字体最合适的工具是什么?)这看起来像是一个疯狂的想法:我参加!:)
首先,我必须复制标题的轮廓。老实说,我只是在寻找特定的字母,所以没有必要将所有字形映射到字体文件中的“位置”。我花了半个小时才做到这一点:
我在追踪标题时的配乐。 :)
到目前为止一切顺利。现在是时候进入字体创作的未知领域了。我打开了FontForge并将我提取的所有字母导入到其相应的字形中。字母:B
,,,,,,,,,,。i
l
o
f
R
g
h
t
s
这是我第一次使用 FontForge - 可以说是相当痛苦。:)
我设法导入了所有字母并修复了一些错误。创建自己的字体很难!您需要调整字距、缩放等。我还没有准备好面对如此多的信息。:)
不过,FontForge 尽力帮助了我。然后我将文件导出为 OpenType 字体格式 - .otf
。让我们看看我的BillOfRights.otf
字体是什么样子:
哎呀。我的字体设置真的失败了。令人惊讶的是,我设法让至少一些字母正确显示。:)
无论如何,作为概念验证,我尝试了一个 LuaTeX 示例 TeX 文件,如 Khaled Hosny 在luaotfload:如何使用当前目录中的字体?:
\input luaotfload.sty
\directlua{fonts.names.scan(".")}
\font\test={name:BillOfRights}
\test Bill of Rights
\bye
我的输出:
该Rights
部分没有出现。可能是字体有错误。尽管如此,我比我想象的更接近目标。无论如何,我决定将我的尝试导出到 PSTricks。以下是代码(SE 框架不允许超过 30k 个字符的条目,所以我依赖 GitHub),使用 XeLaTeX 运行它。
输出:
故事寓意:可以复制(非常接近1:1
)权利法案,只要我们有时间——和耐心——去玩。:)
答案2
@Paulo Cereda 的回答真的很棒。我想建议改变其中一个步骤。手工做轮廓测量可能非常耗时(Paulo 花了半个小时)。@Werner 给了 一个很好的解决方案使这项任务自动化。我重现了标题,花了 30 秒。他建议使用potrace
或者autotrace
。我发现这个potrace
做得更好。他们已经为几个操作系统预编译了发行版。这是输入图像:
按照这个简单的命令:
potrace Bill.bmp -b PDF -o Bill.pdf
请参阅原始答案以获取更多详细信息。这是 PDF 中的输出(它还支持 SVG、EPS、PS 等):
您可以利用该文件稍后将每个字母导入 FontForge 中的字形,或者也可以将 PDF 输入到最终文档中。
答案3
我曾经用 LaTeX 复制过一则 19 世纪的广告,如我的答案针对精美字体设计示例。
我使用的程序大致如下:
- 确定原始打印文档的尺寸,并使用该
geometry
包设置正确的页面大小和边距。 - 获取原始打印文档的整个页面的良好、高分辨率、无倾斜和无扭曲的扫描件,并使用其整个宽度和高度将其置于 LaTeX 文档的底层以进行描摹。为此,您可以使用和
graphicx
包eso-pic
。 - 为标题和正文找到匹配的字体。您可以使用任意数量的免费在线字体匹配网站来执行此操作。(就我而言,我很幸运,我复制的广告使用的字体与默认的 Computer Modern 非常接近。)如有必要,获取字体副本并将其设置为与 LaTeX 一起使用。(与 XeLaTeX 一起使用
fontspec
可能是一种更简单的选择。) - 对于带有花哨花饰的标题,如果你找不到数字字体,可以使用波特雷斯或其他位图转矢量工具。使用
\includegraphics
(使用\vspace
和进行适当定位\hspace
) 将生成的 PDF 添加到您的文档。 - 开始将原始文档中的文本(或者复制并粘贴,如果您已经将其 OCR 化)输入 LaTeX,手动插入换行符以
\newline
处理右对齐的文档或\linebreak
对齐的文档。定期编译和查看文档,并观察您的版本与背景扫描的对齐程度。\openup
根据需要调整字体大小和间距(例如,通过)。如果原始文档包含复杂的格式,例如列或表格,则需要使用相应的 LaTeX 包/命令来重现这些格式。 - 完成文本设置后,删除或注释掉您在步骤2中添加的背景扫描。
- 原始文档很可能打印在有纹理的纸张上。如果您也想复制此内容,请在原始文档扫描中查找空白区域,将其复制到位图图像编辑器中,然后使其可平铺。(有很多在线教程可以做到这一点。)如果没有足够大的空白区域来执行此操作,请尝试找到其他具有类似纸张纹理的文档以供使用。然后可以使用该
wallpaper
包将可平铺版本放在 LaTeX 文档的底层。
您可以看到我自己复制的源代码其中上述大部分步骤都是显而易见的。