当 Markdown 包含水平线时,“生成 PDF 时出错”: --- 或 ***

2024-02-12

当我的 Markdown 文件包含水平线 --- 或 *** 时,我收到有关 \Linethickness -> \Protect 的错误

我知道最近 MiKTeX 出现了问题,但我不确定它们是否适用于此。

从昨天早上开始,我就一直遇到这个问题,当时我正在尝试让 Lato 字体包与我需要转换为 PDF 的一组 Markdown 文件一起使用。它一直工作正常(除了字体问题)。

当我更新 MiKTeX 时,可能会发生这种情况,尽管当时我还没有意识到可能是这种情况,因为我也在使用模板、YAML、PS 脚本等。

从那时起,我一直在阅读有关 MiKTeX 问题的信息,并尝试了进一步的更新、更新包数据库、构建格式、刷新文件名数据库以及卸载和重新安装。我已经阅读了评论部分的背景GitHub https://github.com/MiKTeX/miktex-packaging/issues/131但那里的建议似乎并没有为我解决问题,而对其他人却有帮助。

这让我怀疑这是否相关,但我对 Tex、Markdown 等相对较新。

原始文件更长、更复杂,但是这个 Markdown

# Sample File
Test Test Test

---

产生相同的错误

Error producing PDF.
! Missing number, treated as zero.
<to be read again>
                   \protect
\linethickness ->\protect
                          \linethickness
\setlength #1#2->#1 #2
                      \relax
\@rule ...@tempdimb {#2}\setlength \@tempdimc {#3}
                                                  \advance \@tempdimc \@temp...
l.362 ...nter}\rule{0.5\linewidth}{\linethickness}

删除 --- 允许在上面的示例和我的更复杂的 Markdown 文件中生成 pdf,即使使用模板也是如此。

我不确定线宽是否在图形包内,当我查看包信息时,我看不到任何明显表明它是的东西。

我会简单地删除有问题的行,但它们会在 Markdown 文件的其余部分中使用,如果可能的话,我希望在您的帮助下找到修复程序! 请您告诉我我最近的 MiKTeX 问题是否找错了方向,如果没有,我可能会在哪里出错。 提前谢谢了。

更新: 我运行了这个命令

pandoc -s sample.md -o sample.tex

生成这个 tex:

% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
%
\documentclass[
]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}
  \usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
  \usepackage{unicode-math}
  \defaultfontfeatures{Scale=MatchLowercase}
  \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
  \usepackage[]{microtype}
  \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
  \IfFileExists{parskip.sty}{%
    \usepackage{parskip}
  }{% else
    \setlength{\parindent}{0pt}
    \setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
  \KOMAoptions{parskip=half}}
\makeatother
\usepackage{xcolor}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
  hidelinks,
  pdfcreator={LaTeX via pandoc}}
\urlstyle{same} % disable monospaced font for URLs
\usepackage[margin=1cm]{geometry}
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering

\date{}

\begin{document}

\setcounter{errorcontextlines}{40}

\hypertarget{sample-file}{%
\section{Sample File}\label{sample-file}}

Test Test Test

\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}

\end{document}

同时,我尝试了这个(作为最新 RStudio Debian 安装中的 root 身份):

~# sed 's,\\linethickness,0.5000000000pt,g' < pandoc/pandoc > /usr/lib/rstudio-server/bin/pandoc/pandoc

其中第一个 pandoc/pandoc 是包中原始文件的副本。这会保持相同的字符串长度和有效数字,以便二进制文件不会损坏。将 hrule 写为:

\begin{center}\rule{0.5\linewidth}{0.5000000000pt}\end{center}

MiKTeX 看起来很好(至少 TeXworks 编译了 pdf)。

HTH bye

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 Markdown 包含水平线时,“生成 PDF 时出错”: --- 或 *** 的相关文章

随机推荐

  • 对两个外键约束进行级联删除

    我有以下示例 Table A some id Table B another id Table C some id fk another id fk 我想级联一行Table C如果两者都some id and another id从各自的表
  • Julia:函数的偶数数据类型

    我有大约 50 个函数 它们应该只消耗偶数正数 现在我每次都用 if 检查输入的数字是否为零 function grof x Int if x 2 0 println good else throw x is not an even num
  • 如何确定属性是否是具有反射的自动实现属性?

    因此 就我而言 我正在使用反射来发现类的结构 我需要能够查明某个属性是否是 PropertyInfo 对象自动实现的属性 我假设反射 API 不会公开此类功能 因为自动属性依赖于 C 但是是否有任何解决方法可以获取此信息 您可以检查一下是否
  • 链接隐式转换运算符

    我有一个类 我需要隐式转换为一些带有中间值的东西 例如 struct outer struct inner operator T return T operator inner return inner 如果我有这个结构 是吗 always
  • Rails 3、回形针(和 formattastic)- 删除图像附件

    我似乎找不到所有组件都完整的示例 我很难删除图像附件 Classes class Product has many product images dependent gt destroy accepts nested attributes
  • 测试:模糊模拟

    我想用输入测试简单的角度分量 因此 底部的示例几乎没有为测试做准备 并且应该在组件中发生test模糊功能 显示日志 但我在控制台中没有日志 我尝试了两种情况 获取 div 原生元素并单击它并使用blur 输入本机元素的函数 在角度应用程序中
  • 如何使用 Lambda 将 LINQ 理解式查询语法转换为方法语法

    是否有工具 流程或解决方案可以将以下 LINQ 查询语法转换为带有 Lambda 的方法语法 点表示法 我希望解决方案将以下查询语法转换为这样的方法语法 var filteredEmployees from employee in allE
  • 简化布尔表达式 i.t.o 变量出现

    如何简化给定的具有多个变量 gt 10 的布尔表达式 以使每个变量出现的次数最小化 在我的场景中 变量的值必须被视为短暂的 也就是说 必须为每次访问重新计算 当然仍然是静态的 因此 在尝试求解函数之前 我需要尽量减少必须评估变量的次数 考虑
  • 在python中导入openCV空闲错误:共享对象文件

    我一直在尝试在 python 中使用 cv2 库 在树莓派 3 上的 IDLE 中 但我无法成功导入它 当我输入 import cv2 时 我得到 Traceback most recent call last File home pi D
  • SQL:从两个表中选择相似的列

    我有一个包含两个表的数据库 Table1 and Table2 他们都有一个共同的专栏 ColumnA 这是一个nvarchar 如何从两个表中选择此列并将其作为结果集中的单个列返回 所以我正在寻找类似的东西 ColumnA in Tabl
  • 不同时区的同一日期

    我的问题是如何在不同时区获得相同的日 月 年 小时 分钟 秒 例如 var now moment valueOf var result1 moment now format DD MM YYYY HH mm SS Z 在我的时区 我得到这样
  • 在 Flutter 中实现双向列表视图

    Flutter中如何实现双向滚动视图 ListView 有一个scrollDirection 字段 但它只能采用Axis horizo ntal 或Axis vertical 有可能两者兼得吗 这是使用外部的潜在解决方案SingleChil
  • 如何将命令的输出重定向到环境变量中定义名称的文件?

    我想将文件夹下存在的所有文件的绝对路径存储到文本文件中 比方说temp txt 我正在使用此命令来执行此任务 dir s b a d gt D my work temp txt 当我重定向到硬编码到批处理文件中的文件名时 上述命令工作正常
  • 高效地将两个整数 x 和 y 转换为浮点数 x.y

    给定两个整数 X 和 Y 在 C 中将它们转换为 X Y 浮点值的最有效方法是什么 E g X 3 Y 1415 gt 3 1415 X 2 Y 12 gt 2 12 以下是我的机器上的一些鸡尾酒餐巾基准测试结果 适用于将两个ints to
  • AngularJS:单击时更改字体真棒图标颜色和背景

    我是 angularJS 的新手 我想要的是 我有一些社交链接图标和文本框 默认情况下linkedin图标被选中 当我点击 facebook 图标时 它的颜色应该更改为蓝色背景 带有 facebook 链接的文本框也应该更改 linkedi
  • 用于检测用户是否单击 XFBML 页面中的“喜欢”按钮的事件处理

    我有一个 Facebook 连接应用程序 画布 IFrame 应用程序 其中有一个Like控制粉丝专页 我想检测用户何时单击Like按钮能够显示附加信息 折扣优惠券代码 我用的是最新的JavaScript API http develope
  • PouchDb - 删除文档内的对象

    我是一名意大利 PouchDb 和 AngularJS 开发人员 我的 json 文档是 id 6 rev 3 f7283d7683cd6fb15753f494aad1d49f name Ivrea owners owner id 1 na
  • angular.forEach 和对象

    问题 我正在做 我认为是但也许不是 一个简单的angular forEach在数组上然后使用 resource根据返回的每个值进行调用 正如我所期望的 每次调用的结果都是一个对象 但是 我无法让这些对象以angular forEach 文档
  • JavaScript-如何在不使用 charAt 方法的情况下返回该索引处的字符

    我有一个接受两个参数字符串和索引的函数 如何编写一段代码 在不使用 javascript 内置方法 charAt 的情况下返回该索引处的字符 例如 getIndex great 1 应该返回 r 创建函数如下 function getInd
  • 当 Markdown 包含水平线时,“生成 PDF 时出错”: --- 或 ***

    当我的 Markdown 文件包含水平线 或 时 我收到有关 Linethickness gt Protect 的错误 我知道最近 MiKTeX 出现了问题 但我不确定它们是否适用于此 从昨天早上开始 我就一直遇到这个问题 当时我正在尝试让