Skip to content

📖 [2018-Runner Up Prizes for Bookdown contest] MSc Dissertation on "Spatial Generalized Linear Mixed Models and Its Applications" (China University of Mining and Technology, Beijing/School of Science/Department of Computational Mathematics and Statistics/Data Analysis and Statistical Computing)

License

Notifications You must be signed in to change notification settings

MusculusMus/Thesis-Template-Bookdown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Lifecycle: stable Repo Size GitHub


为什么创作基于 bookdown 的论文模板

国内 Word 和 LaTeX 模版占据论文排版的十之八九,特别是我校主要是用 Word 排版,目前 LaTeX 模版 只出现在理学院数学系少数方向,且不强制使用,此外,该模版已历时近十年,早就有些跟不上时代,比如其使用的中文环境 CCT, 需要很多年前的 CTeX 套装,目前网上已经找不到该版本,除了靠一代代地拷贝传递别无他法。在新的操作系统上,如 Windows 10 经常出现兼容性问题。

排版数学公式是相当复杂的事情,RStudio 有公式预览功能。LaTeX 文档中有如此之多的反斜杠以致于不知什么时候一不小心的操作,在某个地方删除了,又要根据出错信息搜索整个文档定位问题。

在学院给很多同学调过 LaTeX 错误,他们也不敢动从师兄师姐那传下来的论文模版,其实就是一篇完整的 LaTeX 排版的论文,然后小心翼翼地替换。事实上,他们大多不会花时间去学 LaTeX,甚至连 《一份不太简短的 LaTeX 介绍》 也没有看过,我很理解他们,虽然都是学数学和统计,可是毕业了准备吃这碗饭的却凤毛麟角,不从事学术基本不会接触 LaTeX。

因此,我提供了一篇完整的论文作为模版,供使用者慢慢替换,特别是里面包含的各种各样的公式排版。

中国矿业大学(北京)论文模板

这个模版(非官方)是为中国矿业大学(北京)的研究生排版硕士学位论文服务的。

The template is used for Master Thesis of China University of Mining and Technology, Beijing.

论文同时部署在 Github Pages 和 bookdown.org 上,在线预览链接分别是 https://xiangyunhuang.github.io/Thesis-Template-Bookdownhttps://bookdown.org/xiangyun/Thesis-Template-Bookdown/


最好的模板就是一篇基于模板的完整论文, 其所包含的公式、图片、表格等不再是 demo。 只有把真实场景中的使用形式呈现给使用者看, 才能真的让使用者少淌些坑。


感谢 PandocTinyTeXbookdown 的开发者们,特别是 John MacFarlaneYihui Xie


软件要求

  • TinyTeX: latest
  • Pandoc: 2.3.1 及以上
  • rmarkdown: 1.11
  • bookdown: 0.11

测试平台

  • Ubuntu 14.04.5 (64位)
  • Ubuntu 18.04.1 (64位)
  • Windows 8.1 (64位)
  • CentOS 7 (64位) 与 Pandoc 2.3 及以上

How to Use it 如何使用该模版

我假设你已经安装好了 GitRRStudio

  1. 克隆模版到本地
git clone --depth=1 --branch=master https://github.com/XiangyunHuang/Thesis-Template-Bookdown.git
  1. 用 RStudio 打开 Thesis-Template-Bookdown.Rproj 文件

下面是模版在各个系统上可能遇到的问题及解决方案

1. 中英文字体

Windows 系统自带新罗马字体和 Arial 字体,在 Ubuntu 系统上需要安装 Windows 下的两款字体 Times New Roman 和 Arial

sudo apt install ttf-mscorefonts-installer

在安装的过程中会自动下载字体,如果下载失败,就从网站 https://sourceforge.net/projects/corefonts/files/the%20fonts/final/ 手动下载字体,存放到 fonts/ 文件夹下,执行

sudo dpkg-reconfigure ttf-mscorefonts-installer

在弹出的窗口中填写字体所在路径,如 fonts/,安装完成后,刷新字体

sudo fc-cache -fsv

安装等宽字体 Inconsolata 显示代码

sudo apt install fonts-inconsolata

最终英文字体设置如下

mainfont: Times New Roman
sansfont: Arial
monofont: Inconsolata

推荐的方式是将相关中英文字体放在一块,拷贝到 Ubuntu/CentOS 系统上

sudo mkdir /usr/share/fonts/truetype/win/
sudo cp Thesis-Template-Bookdown/fonts/* /usr/share/fonts/truetype/win/
sudo fc-cache -fsv

2. 安装 Pandoc

Pandoc 在 Windows 和 Ubuntu 系统上提供了安装包,唯独 CentOS 系统上没有,需要用户自己编译(CentOS 系统包管理器带的 Pandoc 版本太低不能用)。Pandoc 源码可以从 Github 仓库中下载 https://github.com/jgm/pandoc/releases/,下面介绍安装最新版 Pandoc 的过程

  1. 安装 stack
curl -sSL https://s3.amazonaws.com/download.fpcomplete.com/centos/7/fpco.repo | sudo tee /etc/yum.repos.d/fpco.repo
sudo yum -y install stack zlib-devel
  1. 下载 pandoc 源文件,也可以克隆 Pandoc's repo
wget https://github.com/jgm/pandoc/releases/download/2.3/pandoc-2.3-linux.tar.gz
  1. 解压 pandoc-2.3-linux.tar.gz
tar -xzf pandoc-2.3-linux.tar.gz
  1. 安装依赖和 Pandoc
cd pandoc-2.3
stack setup # 安装 ghc 8.4.3 等依赖
stack install
stack install pandoc-citeproc
  1. 配置路径
sudo vi /etc/profile
export PATH=$HOME/.local/bin:$PATH
source /etc/profile

如果你安装了 zsh 和 oh-my-zsh ,再将这行 export PATH=$HOME/.local/bin:$PATH 放在 .zshrc 里。

3. 关于 Pandoc

R Markdown 文档 (*.Rmd) 首先通过 knitr 包 [@xie2015] 编译成 Markdown 文档 (*.md),然后 Markdown 文档再被 Pandoc 编译成其它格式,如 LaTeX (*.tex) 、 HTML 等,这个过程由 rmarkdown 包完成。你不需要分别安装 knitr 和 rmarkdown 两个包,因为它们被 bookdown 包 [@xie2016] 所依赖,当你安装 bookdown 的时候,会自动安装上。而 Pandoc 不是一个 R 包,所以需要单独安装,但如果你使用 RStudio IDE 的话,也不需要安装,因为 RStudio 自带了一份 Pandoc,你可以运行下面一行命令获取当前的 Pandoc 版本号

rmarkdown::pandoc_version()

如果你需要 Pandoc 的新特性,觉得自带的版本比较低,你可以从 Pandoc 官网 (http://pandoc.org) 手动安装一个新版本。 rmarkdown 会优先使用你安装的新版本。

4. bookdown

安装 R 的过程请看《R语言忍者秘笈》第二章的安装与配置 https://bookdown.org/yihui/r-ninja/setup.html

  • 从 CRAN 安装 bookdown 稳定版
install.packages("bookdown")
  • 从 Github 安装 bookdown 开发版
devtools::install_github("rstudio/bookdown")

遇到问题先试升级

# 一行命令升级所有安装的 R 包
update.packages(ask = FALSE)

有关 bookdown 的详细介绍请看谢益辉发布在网上的在线书 《bookdown: Authoring Books and Technical Documents with R Markdown》 https://bookdown.org/yihui/bookdown

5. LaTeX

LaTeX 只有当你需要把书转化为 PDF 格式时才会用到,从 LaTeX 官网 (https://www.latex-project.org/get/) 你可以学习到很多东西,如安装 LaTeX。我们强烈推荐你安装一个轻量的跨平台 LaTeX 发行版 --- TinyTeX。它基于 TeX Live,可以通过 R 包 tinytex 安装,tinytex 在之前安装 bookdown 时已经安装,所以安装 TinyTeX 你只需在 R 控制台下输入

tinytex::install_tinytex()

有了 TinyTeX, 你应该再也不会看到这样的错误消息:

! LaTeX Error: File `titling.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name: 
! Emergency stop.
<read *> 
         
l.107 ^^M

pandoc: Error producing PDF
Error: pandoc document conversion failed with error 43
Execution halted

上面的消息日志告诉你,说系统中缺少宏文件 titling.sty。 LaTeX 宏包名称通常和宏文件 *.sty 的名字一样,所以你可以先尝试安装 titling 包。如果你和 TinyTeX 一起使用,缺失的 LaTeX 包会自动安装,所以你不用担心这类问题。

LaTeX 发行版和宏包随时间一直在更新,就像 R 软件和扩展包一样,当你遇到 LaTeX 问题的时候,可以先尝试升级 TinyTeX 发行版和 LaTeX 宏包,查看你所安装的 LaTeX 发行版

system("pdflatex --version")
cat(system("pdflatex --version", intern = TRUE),sep = "\n")

更新 TinyTeX 安装的宏包

tinytex::tlmgr_update()

TeX Live 每年都会更新,你可能需要升级 TinyTeX 发行版,否则你不能安装和升级任何 LaTeX 包。

tinytex::reinstall_tinytex()

版权说明

  1. images/ 目录下矿大(北京)校徽版权归学校所有

About

📖 [2018-Runner Up Prizes for Bookdown contest] MSc Dissertation on "Spatial Generalized Linear Mixed Models and Its Applications" (China University of Mining and Technology, Beijing/School of Science/Department of Computational Mathematics and Statistics/Data Analysis and Statistical Computing)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • R 62.0%
  • TeX 28.8%
  • Stan 7.4%
  • Shell 0.8%
  • Lua 0.5%
  • CSS 0.4%
  • Makefile 0.1%