要求 R Markdown 中的标题 1 垂直居中:\vspace、\bigskip 和 \newline 将被忽略

要求 R Markdown 中的标题 1 垂直居中:\vspace、\bigskip 和 \newline 将被忽略

潜水一段时间后在 tex.stackexchange 上提出的第一个问题,如果我的表达不好请见谅,欢迎提出改进意见。

knitr我正在使用RStudio 中的 preamble.tex 文件 将 RMarkdown 报告转换为 LaTeX 。

我使用了三级标题#, ##, ###。#Header1 是每项研究的标题,必须出现在单独的页面上,垂直居中(可能水平左对齐)

LaTeX 命令 \vspace、\bigskip 和 \newline 以及空格(两个空格、\n 和 html“br”)被 knitr 系统地忽略,并且 #Header1 一直出现在页面顶部。发生的情况最多是在标题前创建了一个空白页。

我无法成功适应我在远程兼容问题中找到的代码。尝试使用软件包titlingsectsty也失败了,因为和\maketitle之间需要使文档标题出现,而不是必须包含在目录中的#Header1。\begin{titlingpage}\end{titlingpage}

尝试\begin{nscenter}来自这个问题给出错误“!您不能在垂直模式下使用‘宏参数字符#’。l.206#”

我无法理解另一个问题关于\hfill

我有一种预感,我的序言中的某些内容会覆盖命令,例如这个要求在每个部分后创建一个新页面的命令: \let\stdsection\section \renewcommand\section{\newpage\stdsection} 但删除它只会将文档标题和目录放在第一页。你现在一定明白我在 LaTeX 方面的能力有限。

我将非常感激任何能够帮助我使 header1 在单个页面上垂直居中的提示,无论是 1)单独使用空格或 \begin{newcommand} + \end{newcommand} 还是 2)在序言中定义任何由一个 # 定义的 Header1 都垂直居中。

多谢!

答案1

您可以将 LaTeX 包直接包含在 Rmd 文件和事件函数中。这让工作变得简单,而且在我看来比 sweave 更好。

这是我制作的 .Rmd 文件的预安瓿示例。

---
title: "Gabarit PDF"
author: "David Beauchemin et Samuel Lévesque"
date: "17 mars 2017"
output:
  pdf_document:
    fig_caption: yes
    highlight: tango
    number_sections: yes
    toc: yes
    toc_depth: 2
fontsize: 12pt
geometry: margin=1in
lang: fr
documentclass: memoir
urlcolor: blue
header-includes:
  - \usepackage{amsmath}  %latex pakage
  - \usepackage{tcolorbox}
---

您甚至可以添加个人命令。与乳胶一样。您只需在预安瓿之后立即添加它们即可。

这是我在幻灯片中添加的脚注脚本。它位于 .css 中。重点是您可以声明所有内容,并且通常转换非常简单直接。

[//]: déclaration des footnotes
<style>
div.footnotes {
  position: absolute;
  bottom: 0;
  margin-bottom: 10px;
  width: 80%;
  font-size: 0.6em;
}
</style>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<script>
  $(document).ready(function() {
    $('slide:not(.backdrop):not(.title-slide)').append('<div class=\"footnotes\">');

    $('footnote').each(function(index) {
      var text  = $(this).html();
      var fnNum = (index+1).toString().sup();
      $(this).html(text + fnNum);

      var footnote   = fnNum + ': ' + $(this).attr('content') + '<br/>';
      var oldContent = $(this).parents('slide').children('div.footnotes').html();
      var newContent = oldContent + footnote;
      $(this).parents('slide').children('div.footnotes').html(newContent);
    });
  });
</script>

最后,您甚至可以在 Rmd 文件中声明直接 LaTeX 环境。

\begin{aligned}
\hat{m}' &= X_{Z,W} \\
&= \sum_{i=1}^I \left(\frac{Z_i}{Z_{\bullet}}\right) X_{i,W}
\end{aligned}

在此处输入图片描述

我为我的大学做了一个关于 RMarkdown 的演讲,它是法语的,但是加巴里特文件(法语模板)包含大量代码,也许可以帮助您更好地理解我所说的内容。(在底部的资源部分)

相关内容