Удалить \ def в перечислении - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь создать очень чистый латексный код для отправки статьи, используя knitr.Одно из правил - не определять новые команды.Однако сейчас простой список уценок использует его по умолчанию.

Этот минимальный .Rmd

---
title: "Untitled"
output: 
  pdf_document:
    keep_tex: yes
---

1. First

1. Second

Производит этот вывод .tex

\begin{document}
\maketitle

\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\item
  First
\item
  Second
\end{enumerate}

\end{document}

Есть ли способ не поставить строку \def\labelenumi{\arabic{enumi}.?

(я знаю, что могу написать латексный код прямо в Rmd-документе, но это очень утомительно, и я лучше разбираюсь с уценкой, насколько могу.)

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Я нашел способ обойти проблему, используя #. вместо 1..Я не совсем уверен, почему, но

#. First

#. Second

Дает желаемый результат

\begin{enumerate}
\item
  First
\item
  Second
\end{enumerate}

Не идеально, но достаточно хорошо!

0 голосов
/ 30 ноября 2018

У Pandoc нет встроенного способа удалить это.Можно утверждать, что это не должно быть проблемой, так как выше \def только устанавливает значение существующей переменной вместо определения новой команды;но журнал может не согласиться.

Самый простой способ избавиться от этого - вручную обработать вывод.То есть, используйте такой инструмент, как sed или функцию поиска и замены вашего любимого редактора.

sed -i -e '/^\\def.*/d' your-article.latex

Автоматизированный, но сложный подход заключается в том, чтобы сделать рендеринг списка с помощью фильтра pandoc..Тем не менее, в данном случае это кажется более сложной задачей, чем стоит.

...