当我在 Overleaf 中导入 PDF 文件时,数学模式字符变为“粗体”(阴影)

Posted

技术标签:

【中文标题】当我在 Overleaf 中导入 PDF 文件时,数学模式字符变为“粗体”(阴影)【英文标题】:When I import a PDF file inside Overleaf the math mode characters turns "bold" (shadow) 【发布时间】:2022-01-23 03:07:15 【问题描述】:

我使用网站 diagrams.net 创建了一个带有一些数学表达式的图形。当然,我可以将它导出为 PNG 格式并将其导入我的 Overleaf,但我想保留表达式的矢量化。正因为如此,我试图将它导入我的 Overleaf 文档中的 PDF 格式。

当我使用时:

\beginfigure[tbp!]
    \centering
    \includegraphics[width=\linewidth]images/math_structure.pdf
    \captionMy figure description.
    \labelfig:math_structure
\endfigure

我的图显示正常,显然,但是当我放大数学表达式时,我有它:

我注意到的另一件有趣的事情是,当我从 Overleaf 下载 PDF 并使用 MUPDF 打开它时,“粗体”消失了,但是当我使用 Google Chrome 或 Firefox 打开它时,“粗体”仍然存在。

这是一件很奇怪的事情,因为我猜这是在 PDF 中嵌入字体的问题,但我的文件在 MUPDF 中正常打开。有谁知道发生了什么,我该如何解决?

我正在分享 math_structure 以便在以下链接中重现问题:PDF

【问题讨论】:

你能指定你认为你看到粗体文本的位置吗?第一个屏幕截图中的字母周围有一点阴影,但我没有看到任何粗体。 你能分享文件math_structure.pdf。阴影可能是半透明的,这在 mupdf 中可能不起作用。 @samcarter_is_at_topanswers.xyz 抱歉延迟回答您的问题。是的,我指的是字母中的这些阴影,因为我使用了“粗体”这个词。我不知道那是什么。关于文档的共享,我编辑了原始帖子,并带有指向 math_structure.pdf 的链接。 感谢分享文件。我刚刚在封页上的一个新项目中进行了测试,但无法重现您的影子 overleaf.com/read/fvjccwvpqmmn i.stack.imgur.com/tLiUi.png 这可能是您的网络浏览器的问题,而不是封页的问题。 您可以通过使用 tikz 创建图表而不是包含外部图像来避免整个问题 【参考方案1】:

作为K J's answer的附录:

每个字母都有两个对象,所以虽然我在编辑器中看不到阴影,但接受它的存在,所以它必须由文本轮廓生成器放置?在这里,我已经移动并着色了一些字形,因此第二个边缘是故意的,但大多数观众不会将它们显示为“GLOW”

确实,所有带有 glow 的项目都会在内容流中绘制两次,一次用于填充定义路径,一次用于描边。例如。 “州”的大写S

.111484379 0 0 -.111468516 140.764496 314.20746 cm
/G3 gs
55 507 m
55 562.33331 74 609 112 647 c
150 685 193.66666 704 243 704 c
257 704 l
313.66666 704 363 683 405 641 c
426 672 l
429.33334 676.66669 432.66666 681.66669 436 687 c
439.33334 692.33331 442.66666 696.66669 446 700 c
449 704 l
449.66666 704 451 704 453 704 c
455 704 457 704.33331 459 705 c
463 705 l
465 705 468 703 472 699 c
472 462 l
466 456 l
448 456 l
440.66666 456 436.33334 457 435 459 c
433.66666 461 432 467.66666 430 479 c
418.66666 563 385 618.66669 329 646 c
304.33334 656.66669 279.33334 662 254 662 c
218.66666 662 190 650 168 626 c
146 602 135 574 135 542 c
135 519.33331 140.666672 498.66666 152 480 c
163.333328 461.33334 179.33333 446.33334 200 435 c
206.66667 432.33334 235.33333 424.66666 286 412 c
336.66666 399.33334 364.66666 391.66666 370 389 c
408 374.33334 439 349.33334 463 314 c
487 278.66666 499.33334 237.66667 500 191 c
500 137 482.66666 88.333336 448 45 c
413.33334 1.66666412 364.33334 -20.333334 301 -21 c
263.66666 -21 230.33333 -15.333334 201 -4 c
171.66667 7.333334 151.333328 17.666666 140 27 c
122 41 l
119.333336 37.666668 114.333336 31 107 21 c
99.666664 11 93 1.66666698 87 -7 c
81 -15.666667 78 -20.333334 78 -21 c
76.666664 -21.666666 73.333336 -22 68 -22 c
64 -22 l
62 -22 59 -20 55 -16 c
55 101 l
55 180.33334 55.333332 220.66667 56 222 c
57.333332 225.33333 64 227 76 227 c
89 227 l
93 223 95 218.66667 95 214 c
95 192.66667 98.333336 171.66667 105 151 c
111.666664 130.333328 123 110 139 90 c
155 70 177 54 205 42 c
233 30 266.33334 24 305 24 c
336.33334 24 363.33334 36.666664 386 62 c
408.66666 87.333336 420 118.333328 420 155 c
420 183.66667 412.66666 209.66667 398 233 c
383.33334 256.33334 364 272.33334 340 281 c
302.66666 290.33334 278 296.66666 266 300 c
262.66666 300.66666 253.66667 302.66666 239 306 c
224.33333 309.33334 213.33333 312 206 314 c
198.66667 316 188 319.66666 174 325 c
160 330.33334 149 336.33334 141 343 c
133 349.66666 123.333336 357.66666 112 367 c
100.666664 376.33334 91.666664 388 85 402 c
65 434.66666 55 469.66666 55 507 c
h
f
/G7 gs
55 507 m
55 562.33331 74 609 112 647 c
150 685 193.66666 704 243 704 c
257 704 l
313.66666 704 363 683 405 641 c
426 672 l
429.33334 676.66669 432.66666 681.66669 436 687 c
439.33334 692.33331 442.66666 696.66669 446 700 c
449 704 l
449.66666 704 451 704 453 704 c
455 704 457 704.33331 459 705 c
463 705 l
465 705 468 703 472 699 c
472 462 l
466 456 l
448 456 l
440.66666 456 436.33334 457 435 459 c
433.66666 461 432 467.66666 430 479 c
418.66666 563 385 618.66669 329 646 c
304.33334 656.66669 279.33334 662 254 662 c
218.66666 662 190 650 168 626 c
146 602 135 574 135 542 c
135 519.33331 140.666672 498.66666 152 480 c
163.333328 461.33334 179.33333 446.33334 200 435 c
206.66667 432.33334 235.33333 424.66666 286 412 c
336.66666 399.33334 364.66666 391.66666 370 389 c
408 374.33334 439 349.33334 463 314 c
487 278.66666 499.33334 237.66667 500 191 c
500 137 482.66666 88.333336 448 45 c
413.33334 1.66666412 364.33334 -20.333334 301 -21 c
263.66666 -21 230.33333 -15.333334 201 -4 c
171.66667 7.333334 151.333328 17.666666 140 27 c
122 41 l
119.333336 37.666668 114.333336 31 107 21 c
99.666664 11 93 1.66666698 87 -7 c
81 -15.666667 78 -20.333334 78 -21 c
76.666664 -21.666666 73.333336 -22 68 -22 c
64 -22 l
62 -22 59 -20 55 -16 c
55 101 l
55 180.33334 55.333332 220.66667 56 222 c
57.333332 225.33333 64 227 76 227 c
89 227 l
93 223 95 218.66667 95 214 c
95 192.66667 98.333336 171.66667 105 151 c
111.666664 130.333328 123 110 139 90 c
155 70 177 54 205 42 c
233 30 266.33334 24 305 24 c
336.33334 24 363.33334 36.666664 386 62 c
408.66666 87.333336 420 118.333328 420 155 c
420 183.66667 412.66666 209.66667 398 233 c
383.33334 256.33334 364 272.33334 340 281 c
302.66666 290.33334 278 296.66666 266 300 c
262.66666 300.66666 253.66667 302.66666 239 306 c
224.33333 309.33334 213.33333 312 206 314 c
198.66667 316 188 319.66666 174 325 c
160 330.33334 149 336.33334 141 343 c
133 349.66666 123.333336 357.66666 112 367 c
100.666664 376.33334 91.666664 388 85 402 c
65 434.66666 55 469.66666 55 507 c
h
S

填充版使用扩展图形状态G3绘制,描边版使用扩展图形状态G7绘制。

G3以不透明方式填充:

<</BM/Normal/ca 1>

G7 笔触非常透明(不透明度 .1098)并设置了一些其他参数:

<</BM/Normal/CA .1098/LC 0/LJ 0/LW 0/ML 4/SA true/ca .1098>> 

但特别是 G7 还将线宽设置为 0可以在设备分辨率下渲染的最细线:1 个设备像素宽)。

OP 提到他们在放大时会看到阴影。因此,也许那些在放大后看到宽阴影/发光的观看者只是通过绘制放大倍数放大的所有内容来进行放大,即阴影/发光变为缩放系数* 1 像素 宽;即使在以 1 像素 宽度缩放后,那些您看不到宽阴影/发光的查看器也会绘制轮廓。

【讨论】:

感谢 mkl,我对这种行为的了解有限,但是 OP 插图显示的效果方式超过单个像素宽,即更像是 2,因此可能包括轮廓矢量 3,我同意放大到 300 % 可能会使边缘恶化,但是否有任何其他原因可能比预期的更厚。我怀疑抗锯齿深度有所增加。 阅读您的摘录我是否正确假设两个轮廓看起来相似,因此 “应该” 是巧合,因此即使两者都加厚到一个像素宽,它们也应该完全重叠而没有任何溢出? “抗锯齿深度有所增加” - 这也可能是真的,因为 SA 也设置为 trueG7 中。也可能缺少对图形状态中某些条目的支持。如果无法访问有问题的查看器,这基本上是猜测。有了访问权限,就可以通过它运行一些测试 pdf...【参考方案2】:

似乎没有区别在于字体样式,因为标准 24 和 bold 24 之间的权重如下右图所示。这在您的两个样本中并不明显。

但是,您的示例中值得注意的是左侧每个字母周围的“阴影”,给人一种额外厚度的印象。

最初我认为这可能是由 jpeg(晕圈字体)和 png(清晰的抗锯齿轮廓)之间的差异引起的。但是阴影太规则了,即不像通常在 jpeg 中那样不均匀。

在这个阶段,这种模糊字体看起来可能还有其他原因。 如果没有样本,我将不得不猜测 PDF 可能具有带有 alpha 组件的字体,但在如此疯狂的假设中可能会有所偏差。

稍后编辑

感谢您的链接,但谜团加深了,因为在 Chromium Edge 中链接的 PDF 甚至放大后都没有显示任何阴影的证据,但是数学看起来像矢量轮廓只有中间的 Tahoma 似乎是字体和嵌入的,由 chrome 构建的 Skia/PDF 生成?

我必须同意在某些地方还有其他一些影响,但浏览器不应该影响 PDF,除非它添加或尊重基于额外组件的一些覆盖,并且查看每个字母有两个对象,所以虽然我可以在编辑器中看不到阴影但接受它存在所以它必须由文本轮廓生成器放置? 在这里,我已经移动并着色了一些字形,因此第二个边缘是故意的,但大多数观众不会将它们显示为“GLOW”

您提到了“diagrams.net”,它确实有很多阴影选项,但除了故意设置为向右和向下之外,我从未体验过任何其他选项。也许在那里寻找一个流氓设置。

总而言之,该文件被声明为与 1.4 版兼容(可能具有透明度),并且显然每个字母周围都包含了一些透明对象! 但不是所有观众都期望的方式。由于@mkl 的观察,我在许多观众中重新测试了 pdf,其设置可能会产生矢量线加粗等效果在 acrobat 中,但是 我测试的 NONE 显示了超厚的轮廓, 因此 PDF 似乎有效,但您使用的一些 PDF 查看器(应用程序)方法似乎比预期的更厚实抗锯齿单个像素边界。

【讨论】:

说得有道理,我猜你的假设是正确的。但是,我需要了解如何将这个 alpha 默认设置为 0。因为我不敢打赌阅读器会使用一组特定的 PDF 阅读器软件打开我的文档。或者在最坏的情况下,打印机会打印阴影。

以上是关于当我在 Overleaf 中导入 PDF 文件时,数学模式字符变为“粗体”(阴影)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vue Nuxt 项目中导入整个 SCSS 文件夹?

无法在 Spyder 中导入张量流

如何使用maya创建的fbx文件在xna中导入约束

在 React 组件中导入 Json 文件

从文件夹中导入 Python 3 中的 .csv 文件

mPDF SetSourceFile - 从临时存储中导入 PDF