«Ошибка при создании PDF», когда уценка содержит горизонтальное правило: --- или *** - PullRequest
1 голос
/ 15 октября 2019

Когда мой файл Markdown содержит горизонтальное правило --- или *** Я получаю сообщение об ошибке \ Linethickness -> \ Protect

Я понимаю, что в последнее время возникли проблемы с MiKTeX, однако я не уверен,они применимы здесь.

Я столкнулся с этой проблемой со вчерашнего утра, когда я пытался заставить пакет шрифтов Lato работать с набором файлов Markdown, которые мне нужно преобразовать в PDF. Это работало нормально (кроме проблемы со шрифтами).

Это могло произойти, когда я обновил MiKTeX, хотя в то время я не осознавал, что это может быть так, поскольку я также играл сшаблоны, YAML, PS Script и т. д.

С тех пор я читаю о проблеме MiKTeX и пробую дополнительные обновления, обновление базы данных пакетов, создание форматов, обновление базы данных имен файлов, удаление и переустановку. Я прочитал фон в разделе комментариев на GitHub , но предложения там, кажется, не решили его для меня, в то время как для других.

Это заставляет меня задаться вопросом, связано ли это, но я относительно новичок в 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}

Удаление --- позволяет создавать PDF-файл как в приведенном выше примере, так и в моем более сложном файле уценки, даже с шаблонами.

Яне уверен, что linethickness находится внутри графического пакета, когда я смотрю на информацию о пакете, я не вижу ничего, что явно указывает на это.

Я бы просто удалил ошибочные строки, но они используются на протяжении оставшейся части уценкифайлы, и я предпочел бы найти исправление, с вашей помощью, если это возможно! Пожалуйста, не могли бы вы дать мне знать, если я ошибаюсь в этом дереве из-за этой недавней проблемы с MiKTeX или нет, и если нет, то где я могу ошибаться. Большое спасибо заранее.

Обновление: я выполнил эту команду

pandoc -s sample.md -o sample.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}
...