2015-11-25 20 views
16

私はrmarkdownを使ってpdfドキュメントをレンダリングします。今私はテキストに内部リンクを追加したいと思う。 rmarkdownの助けページでrmarkdownの内部リンクが動作しません

、それは内部リンクは以下のように定義されて言う:私は、例えば使用した場合

See the [Introduction](#introduction). 

次のコードにはlink1とlink2という2つの内部リンクが必要です。どちらもリンクしません。私が間違っていることが明らかなことはありますか?事前に多くの感謝!

--- 
title: "Test" 
author: "test test" 
output: 
    pdf_document: 
    latex_engine: xelatex 
    number_sections: yes 
    toc: yes 
    toc_depth: 3 
    html_document: 
    css: tables.css 
    number_sections: yes 
    theme: cerulean 
    toc: yes 
    toc_depth: 3 
subtitle: test test test 
mainfont: Calibri Light 
fontsize: 12pt 
header-includes: 
- \usepackage[dutch]{babel} 
- \usepackage{fancyhdr} 
- \pagestyle{fancy} 
- \fancyfoot[LE,RO]{this is a fancy foot} 
- \usepackage{dcolumn} 
- \usepackage{here} 
- \usepackage{longtable} 
- \usepackage{caption} 
- \captionsetup{skip=2pt,labelsep=space,justification=justified,singlelinecheck=off} 
--- 

# start 

```{r results="asis",tidy=FALSE,eval=TRUE,echo=FALSE,message=FALSE, error=FALSE, warning=FALSE, comment = NA} 
cat("click here: [link1](#test 1)") 
``` 

click here: [link2](#test 1) 

\pagebreak 

#test 3 

\pagebreak 

#test 2 

\pagebreak 

#test 1 

答えて

20

アンカーを正しく設定していません。

次のことを試してみてください。

# start 

```{r results="asis",tidy=FALSE,eval=TRUE} 
cat("click here: [link1](#test1)") 
``` 

click here: [link2](#test1) 

\pagebreak 

# test 3 {#test3} 

\pagebreak 

#test 2 {#test2} 

\pagebreak 

#test 1 {#test1} 
+0

お返事ありがとうございます。それでおしまい! – rdatasculptor

+2

rmarkdownチュートリアルでは、アンカーは何も言及されていないことはむしろ奇妙です。代わりに、「同じ文書の別のセクションにリンクするには、自動的に生成された識別子を使用してください」というメッセージが表示されます。 – rdatasculptor

+0

@ user1983395私はHTMLで、彼らは通常アンカーと呼ばれていることを知っていますが、おそらく "識別子"はより正確です。 – A5C1D2H2I1M1N2O1R2T1

1

ジョシュ・ポールソンは細部に入るRstudioのウェブサイト上の記事があります。彼の解答はこちらです

Slide 1 
==================================== 
id: slide1 

Slide 2 
==================================== 
[Go to slide 1](#/slide1) 

これは私の作品です。手押し式とモヘアのコードは、RHTML

上では動作しません
0

もチートシートに文書化されていないrmarkdown PDF出力、内部リンクのためのいくつかのトリッキーなルールなど

ルールがあります。アンカーのための
のみの1位たとえ複数のヘッダを使用していても#。例:###ヘッダはリンク時に#headerになります。
#とアンカーテキストの間に空白がありません。例:#ヘッダではなく#header。
- 複数語のアンカーはハイフンで区切る必要があります。例:#これはヘッダーでリンク内のthis-is-a-headerになる必要があります。
- リンク先のヘッダーにキャピトルがある場合でも、アンカーリンクは小文字にする必要があります。例:#Sectionはリンクの#sectionになります。

関連する問題