如何从 RMarkdown 调用 .tex 中的特定代码段?
how to call a specific piece of code in .tex from RMarkdown?
我正在用 RMarkdown 创建一个演示文稿,我有以下一段生成图表的 LaTeX 代码:
\begin{picturegraph}[>=triangle 45, font=\footnotesize]
\node[fill,rectangle,inner sep=0pt,minimum size=5pt,label={right:{S}}] (S) at (4,2.66) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{X}}] (X) at (0,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{Y}}] (Y) at (6,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={above:{Z}}] (Z) at (3,2) {};
\draw[->,shorten >= 1pt] (X)--(Y);
\draw[->,shorten >= 1pt] (Z)--(X);
\draw[->,shorten >= 1pt] (Z)--(Y);
\draw[->,shorten >= 1pt] (S)--(Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=45] (Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=30] (Y);
\end{picturegraph}
如果我将这段代码放在我想要的部分的 RMarkdown 脚本中,它不起作用。
我想我可以把这段代码放在 .tex 文件中,然后从 RMarkdown 脚本中调用这段代码。我怎样才能做到这一点,同时确保它进入我想要的特定部分?
这是我的 RMarkdown 脚本:
---
title: |
| ##title**
author: |
| name
| email
|
date: "`r format(Sys.time(), '%d %B %Y')`"
output:
beamer_presentation:
theme: Szeged
slide_level: 2
includes:
in_header: header.tex
linkcolor: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
# Outline
## Outline
1. Item 1
2. Item 2
3. Item 3
# Introduction
## First subsection
This is an example of a graph:
(I want to insert the graph here)
## Second subsection
Text
还有我的header.tex:
\definecolor{mycolorlightblue}{RGB}{103,153,200}
\definecolor{mycolordarkblue}{RGB}{0,70,127}
% remove 2nd section from header
\makeatletter
\beamer@theme@subsectionfalse
\makeatother
% change colour of lines
\setbeamercolor{separation line}{bg=mycolorlightblue}
% text title
\setbeamercolor{title}{fg=mycolordarkblue}
\setbeamercolor{frametitle}{fg=mycolordarkblue}
% text colour
\setbeamercolor{frametitle}{fg=mycolordarkblue}
% item colour
\setbeamercolor{structure}{fg=mycolordarkblue}
% no header or footer on first page
\thispagestyle{empty}
% remove title slides at beginning of sections
\AtBeginSection{}
% add page counter to the footer
\setbeamertemplate{footline}[frame number]
% logo of my university
\titlegraphic{%
\begin{picture}(0,0)
\put(155,0){\makebox(0,0)[rt]{\includegraphics[]{ALL-ICONS.png}}}
\end{picture}}
几个问题:
- 将
picturegraph
替换为tikzpicture
- 加载缺少
tikz
包
- 加载缺少
arrows
库
---
title: |
| ##title**
author: |
| name
| email
|
date: "`r format(Sys.time(), '%d %B %Y')`"
output:
beamer_presentation:
theme: Szeged
slide_level: 2
includes:
in_header: header.tex
keep_tex: true
linkcolor: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
# Outline
## Outline
1. Item 1
2. Item 2
3. Item 3
# Introduction
## First subsection
This is an example of a graph:
(I want to insert the graph here)
## Second subsection
Text
\begin{tikzpicture}[>=triangle 45, font=\footnotesize]
\node[fill,rectangle,inner sep=0pt,minimum size=5pt,label={right:{S}}] (S) at (4,2.66) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{X}}] (X) at (0,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{Y}}] (Y) at (6,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={above:{Z}}] (Z) at (3,2) {};
\draw[->,shorten >= 1pt] (X)--(Y);
\draw[->,shorten >= 1pt] (Z)--(X);
\draw[->,shorten >= 1pt] (Z)--(Y);
\draw[->,shorten >= 1pt] (S)--(Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=45] (Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=30] (Y);
\end{tikzpicture}
并添加到 header.tex
:
\usepackage{tikz}
\usetikzlibrary{arrows}
我正在用 RMarkdown 创建一个演示文稿,我有以下一段生成图表的 LaTeX 代码:
\begin{picturegraph}[>=triangle 45, font=\footnotesize]
\node[fill,rectangle,inner sep=0pt,minimum size=5pt,label={right:{S}}] (S) at (4,2.66) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{X}}] (X) at (0,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{Y}}] (Y) at (6,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={above:{Z}}] (Z) at (3,2) {};
\draw[->,shorten >= 1pt] (X)--(Y);
\draw[->,shorten >= 1pt] (Z)--(X);
\draw[->,shorten >= 1pt] (Z)--(Y);
\draw[->,shorten >= 1pt] (S)--(Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=45] (Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=30] (Y);
\end{picturegraph}
如果我将这段代码放在我想要的部分的 RMarkdown 脚本中,它不起作用。
我想我可以把这段代码放在 .tex 文件中,然后从 RMarkdown 脚本中调用这段代码。我怎样才能做到这一点,同时确保它进入我想要的特定部分?
这是我的 RMarkdown 脚本:
---
title: |
| ##title**
author: |
| name
| email
|
date: "`r format(Sys.time(), '%d %B %Y')`"
output:
beamer_presentation:
theme: Szeged
slide_level: 2
includes:
in_header: header.tex
linkcolor: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
# Outline
## Outline
1. Item 1
2. Item 2
3. Item 3
# Introduction
## First subsection
This is an example of a graph:
(I want to insert the graph here)
## Second subsection
Text
还有我的header.tex:
\definecolor{mycolorlightblue}{RGB}{103,153,200}
\definecolor{mycolordarkblue}{RGB}{0,70,127}
% remove 2nd section from header
\makeatletter
\beamer@theme@subsectionfalse
\makeatother
% change colour of lines
\setbeamercolor{separation line}{bg=mycolorlightblue}
% text title
\setbeamercolor{title}{fg=mycolordarkblue}
\setbeamercolor{frametitle}{fg=mycolordarkblue}
% text colour
\setbeamercolor{frametitle}{fg=mycolordarkblue}
% item colour
\setbeamercolor{structure}{fg=mycolordarkblue}
% no header or footer on first page
\thispagestyle{empty}
% remove title slides at beginning of sections
\AtBeginSection{}
% add page counter to the footer
\setbeamertemplate{footline}[frame number]
% logo of my university
\titlegraphic{%
\begin{picture}(0,0)
\put(155,0){\makebox(0,0)[rt]{\includegraphics[]{ALL-ICONS.png}}}
\end{picture}}
几个问题:
- 将
picturegraph
替换为tikzpicture
- 加载缺少
tikz
包 - 加载缺少
arrows
库
---
title: |
| ##title**
author: |
| name
| email
|
date: "`r format(Sys.time(), '%d %B %Y')`"
output:
beamer_presentation:
theme: Szeged
slide_level: 2
includes:
in_header: header.tex
keep_tex: true
linkcolor: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
# Outline
## Outline
1. Item 1
2. Item 2
3. Item 3
# Introduction
## First subsection
This is an example of a graph:
(I want to insert the graph here)
## Second subsection
Text
\begin{tikzpicture}[>=triangle 45, font=\footnotesize]
\node[fill,rectangle,inner sep=0pt,minimum size=5pt,label={right:{S}}] (S) at (4,2.66) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{X}}] (X) at (0,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={below:{Y}}] (Y) at (6,0) {};
\node[fill,circle,inner sep=0pt,minimum size=5pt,label={above:{Z}}] (Z) at (3,2) {};
\draw[->,shorten >= 1pt] (X)--(Y);
\draw[->,shorten >= 1pt] (Z)--(X);
\draw[->,shorten >= 1pt] (Z)--(Y);
\draw[->,shorten >= 1pt] (S)--(Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=45] (Z);
\draw[<->,dashed,shorten >= 1pt] (X) to[bend left=30] (Y);
\end{tikzpicture}
并添加到 header.tex
:
\usepackage{tikz}
\usetikzlibrary{arrows}