Перекрестные ссылки не работают в презентации ramedown beamer
Я хотел бы связать заголовки разделов в beamer_presentation через Rmarkdown (т.е. создать перекрестные ссылки или внутренние ссылки Pandoc). Например, я хотел бы иметь ссылку, например, "увидеть" введение "", нажав эту ссылку, презентация должна перейти к слайду с заголовком "введение".
Я пробовал этот код:
---
output: beamer_presentation
---
## TOC
- [Important](#Important)
- [More](#More)
- [Stuff](#stuff)
## Important
jklödfs
## More
sdfjkls
## stuff {#stuff}
Тем не менее, ожидаемое поведение не обнаруживается. Вместо этого, если щелкнуть ссылку, отображаются первые страницы (но не соответствующий слайд).
SessionInfo:
пандок 1.19.1
Версия R 3.4.0 (2017-04-21) Платформа: x86_64-apple-darwin15.6.0 (64-разрядная версия) Работает под: macOS Sierra 10.12.5
Продукты матрицы: по умолчанию BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Rources/lib/libRlapack.dylib
языковой стандарт: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
прикрепленные базовые пакеты: [1] stats graphics grDevices использует базу данных наборов методов
загружен через пространство имен (и не подключен): [1] compiler_3.4.0 backports_1.1.0 magrittr_1.5 rsconnect_0.8 rprojroot_1.2 htmltools_0.3.6 tools_3.4.0 yaml_2.1.14 Rcpp_0.12.11
[10] stringi_1.1.5 rmarkdown_1.5 knitr_1.16 stringr_1.2.0 digest_0.6.12 оценка_0.10
1 ответ
Редактировать:
По вопросу о GitHub:
Похоже, что слайд использует идентификатор фрагмента (часть после хэша в URL), чтобы отслеживать, на каком слайде вы находитесь, поэтому все внутренние ссылки, сгенерированные pandoc, не будут работать.
Тем не менее, вы всегда можете написать свою ссылку, где 1 - это номер слайда, на который вы хотите сослаться...
Таким образом, вы должны использовать следующий обходной путь (в принципе такой же, как мой старый, приведенный ниже, но непосредственно в файле Rmd):
---
title: "Untitled"
author: "John Doe"
date: "13 June 2017"
output:
slidy_presentation: default
ioslides_presentation: default
beamer_presentation: default
---
## TOC
[Important](#(3))
[More](#(4))
[Stuff](#(5))
## Important {#important}
jklödfs
## More {#more}
sdfjkls
## stuff {#stuff}
Старый ответ ниже:
Боюсь, это всего лишь обходной путь, но рабочий (по крайней мере, в моей системе, Win 8.1, R 3.4.0, pandoc 1.19.2.1, knitr 1.15.16):
Используя документ Rmd ниже:
---
title: "Untitled"
author: "John Doe"
date: "13 June 2017"
output:
slidy_presentation: default
ioslides_presentation: default
beamer_presentation: default
---
## TOC
[Important](#important)
[More](#more)
[Stuff](#stuff)
## Important {#important}
jklödfs
## More {#more}
sdfjkls
## stuff {#stuff}
Запустите Knit для html (работает как для ioslides, так и для slidy) и найдите и измените раздел оглавления:
<div id="toc" class="slide section level2">
<h2>TOC</h2>
<p><a href="#important">Important</a></p>
<p><a href="#more">More</a></p>
<p><a href="#stuff">Stuff</a></p>
</div>
к этому:
<div id="toc" class="slide section level2">
<h2>TOC</h2>
<p><a href="#(3)">Important</a></p>
<p><a href="#(4)">More</a></p>
<p><a href="#(5)">Stuff</a></p>
</div>
Проблема в том, что браузер не может найти, например #important
раздел, но находит #(3)
, Я не знаю почему, к сожалению, так как в производимом html-файле есть разделы <div id="important" class="slide section level2">
и т.п.