![MiKTeX 21.3 版之后出现“!缺少 endcsname 插入。”](https://linux22.com/image/437411/MiKTeX%2021.3%20%E7%89%88%E4%B9%8B%E5%90%8E%E5%87%BA%E7%8E%B0%E2%80%9C%EF%BC%81%E7%BC%BA%E5%B0%91%20endcsname%20%E6%8F%92%E5%85%A5%E3%80%82%E2%80%9D.png)
我发布了生成 LaTeX 文件的代码,然后将其转换为 PDF(航海年鉴)。
这一切在超过 6 年的时间里都运行良好,直到 MiKTeX 版本 21.3。使用 MiKTeX 版本 21.7在 Windows 10 上 pdflatex filename.tex
崩溃,这与标题页上的行有关\includegraphics
。我报告了这是 MiKTeX 问题,但被告知“这不是 MiKTeX 特有的问题。”请注意,我在使用 Tex Live 的 Ubuntu 20.04 LTS 中没有遇到此问题。
重现此错误的示例 LaTeX 脚本如下:
\documentclass[10pt, twoside, a4paper]{report}
\usepackage[english]{babel}
\usepackage{fontenc}
\usepackage[nomarginpar, top=10mm, bottom=15mm, left=10mm, right=10mm]{geometry}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
\usepackage[pdftex]{graphicx} % for \includegraphics
\begin{document}
% for the title page only...
\newgeometry{nomarginpar, top=21mm, bottom=15mm, left=10mm, right=10mm}
\begin{titlepage}
\begin{center}
\textsc{\Large Generated using Ephem and Skyfield}\\
\large http://rhodesmill.org/skyfield/\\[0.7cm]
% TRIM values: left bottom right top
\includegraphics[clip, keepaspectratio, trim=12mm 20cm 12mm 21mm, width=0.92\textwidth]{C:\\Python39\\Lib\\site-packages\\skyalmanac\\data\\A4chart0-180_P.pdf}\\[0.3cm]
\includegraphics[clip, keepaspectratio, trim=12mm 20cm 12mm 21mm, width=0.92\textwidth]{C:\\Python39\\Lib\\site-packages\\skyalmanac\\data\\A4chart180-360_P.pdf}\\[1.5cm]
\textsc{\huge The Nautical Almanac}\\[1.0cm]
\HRule \\[0.5cm]
{ \Huge \bfseries 2021}\\[0.2cm]
\HRule \\
\begin{center}\begin{tabular}[t]{rl}
\large\emph{Author:} & \large Andrew \textsc{Bauer}\\
\large\emph{Original concept from:} & \large Enno \textsc{Rodegerdts}\\
\end{tabular}\end{center}
{\large \today}
\HRule \\[0.2cm]
\end{center}
\begin{description}\footnotesize
\item[Disclaimer:] some text
\end{description}
\end{titlepage}
\restoregeometry % so it does not affect the rest of the pages
\end{document}
(不幸的是,这个论坛不允许我上传上面提到的两个 PDF 图像文件。)
经过一些互联网研究和一些实验,我找到了一个“解决方案”(我更喜欢称之为变通方法)。只需将路径中的双反斜杠更改\includegraphics
为单正斜杠即可。以下脚本可以正常工作在 Windows 10 上:
\documentclass[10pt, twoside, a4paper]{report}
\usepackage[english]{babel}
\usepackage{fontenc}
\usepackage[nomarginpar, top=10mm, bottom=15mm, left=10mm, right=10mm]{geometry}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
\usepackage[pdftex]{graphicx} % for \includegraphics
\begin{document}
% for the title page only...
\newgeometry{nomarginpar, top=21mm, bottom=15mm, left=10mm, right=10mm}
\begin{titlepage}
\begin{center}
\textsc{\Large Generated using Ephem and Skyfield}\\
\large http://rhodesmill.org/skyfield/\\[0.7cm]
% TRIM values: left bottom right top
\includegraphics[clip, keepaspectratio, trim=12mm 20cm 12mm 21mm, width=0.92\textwidth]{C:/Python39/Lib/site-packages/skyalmanac/data/A4chart0-180_P.pdf}\\[0.3cm]
\includegraphics[clip, keepaspectratio, trim=12mm 20cm 12mm 21mm, width=0.92\textwidth]{C:/Python39/Lib/site-packages/skyalmanac/data/A4chart180-360_P.pdf}\\[1.5cm]
\textsc{\huge The Nautical Almanac}\\[1.0cm]
\HRule \\[0.5cm]
{ \Huge \bfseries 2021}\\[0.2cm]
\HRule \\
\begin{center}\begin{tabular}[t]{rl}
\large\emph{Author:} & \large Andrew \textsc{Bauer}\\
\large\emph{Original concept from:} & \large Enno \textsc{Rodegerdts}\\
\end{tabular}\end{center}
{\large \today}
\HRule \\[0.2cm]
\end{center}
\begin{description}\footnotesize
\item[Disclaimer:] some text
\end{description}
\end{titlepage}
\restoregeometry % so it does not affect the rest of the pages
\end{document}
现在回答我的问题:
- 你还会将此称为 MiKTeX 中的错误吗?请记住,MiKTeX 版本 <= 21.3 可以正常工作。
- 您是否认为 Windows 路径应该不是包含双反斜杠?
- 如果不是 MiKTeX 的问题,我可以在哪里发布此问题以便得到修复?
你的帮助是不胜感激在我被 GitHub 上的 MiKTeX 问题报告页面排斥之后。
更新
此问题已报告为 MiKTeX 问题 #882。问题解决后,我做出如下回应:
好吧……它在 MiKTeX 21.3 中可以正常工作,但在 MiKTeX 21.7 中失败了,所以问题发生在两者之间。我不知道下一步该去哪里找。这是一个你可以忽略的问题,甚至不需要向违规方发送消息?我非常感谢您的专业建议和您对“带有垂直间距参数的双反斜杠是否会失败并被忽略?”的评论。这是 \includegraphics 的问题吗?MiKTeX 在过去 7 年左右的时间里一直运行良好。
现在该帖子已被锁定,评论如下:
MiKTeX 因过于激烈而被锁定,限制与合作者的对话 23 小时前
我很惊讶!