我正在尝试使用 R Markdown 排版一些笔记,但在使用环境时遇到了困难\adjustwidth
。只有当我引用一些时才会出现此问题preamble.tex
。例如,如果我有一个空白的preamble.tex
,然后运行以下命令,就会出现错误。
---
header-includes:
- \usepackage{changepage}
output:
pdf_document:
includes:
in_header: preamble.tex
---
\begin{adjustwidth}{1cm}{1cm}
Test
\end{adjustwidth}
但是,如果我不引用 preamble.tex(只是空白的)它就可以工作!
---
header-includes:
- \usepackage{changepage}
output: pdf_document
---
\begin{adjustwidth}{1cm}{1cm}
Test
\end{adjustwidth}
我不认为这是 preamble.tex 的问题,因为 a) 它实际上是空白的 b) 只要我不使用 \adjustwidth,我就可以引用它。例如,下面的方法有效。
---
header-includes:
- \usepackage{changepage}
output:
pdf_document:
includes:
in_header: preamble.tex
---
Test
任何想法?
结果mwe.tex
:
\documentclass[]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
\begin{document}
\begin{adjustwidth}
Test
\end{adjustwidth}
\end{document}
答案1
我只是不懂 r,但我可以帮你处理这个tex
文件。现在你可以更改你的 r 代码,并将结果与我下面显示的 mwe 进行比较。
在生成的文件中,让我们将其命名为mwe.tex
您必须添加包的调用changepage
以获取adjustwidth
定义的环境。如何做到这一点r
我无法帮助您,例如在页面上询问堆栈溢出和使用标签r
。
添加对该包环境的调用后,adjustwidth
定义,但缺少左右边距缩进的两个参数。
所以你必须改变你的
\begin{adjustwidth}
到
\begin{adjustwidth}{1cm}{1cm}
因此最后您需要从 r 代码中获取以下编译代码:
\documentclass[]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
%\usepackage{fixltx2e} % provides \textsubscript
\usepackage{changepage} % <=============================================
\usepackage{showframe}
\begin{document}
\begin{adjustwidth}{1cm}{1cm} % <=======================================
Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test
\end{adjustwidth}
\end{document}
请注意,我评论了 的调用fixltx2e
,因为它不再需要(2015 年后添加到 LaTeX 内核)。
请注意,我只showframe
向此 mwe 添加了包,以可视化打字区域和边距以及右侧和左侧缩进adjustwidth
。
然后你应该得到结果:
答案2
对于任何感兴趣的人,我找到了一种方法来让它发挥作用。出于某种原因
header_includes:
- \usepackage{changepage}
不起作用,但下面的方法起作用了
output:
- pdf_document:
- extra_dependencies: ['changepage']
做过!