简体   繁体   中英

Add author affiliation in R markdown beamer presentation

How to add author affiliation in a new line in an rmarkdown beamer presentation?

---
title: "This is the title"
author: "Author"
date: "Thursday, April 09, 2015"
output: beamer_presentation
---
## Slide with Bullets

- Bullet 1
- Bullet 2
- Bullet 3

The desire title slide should be

This is the title

Author

Affiliation

Thursday, April 09, 2015

If you use pipes | you can break the author line into multiple lines:

---
title: "The title"
author: | 
  | The author
  | The affiliation
date: "9 April 2015"
output: beamer_presentation
---

Output:

投影仪

Edit ( can we play with the title and author/affiliation fonts? ):

If you want to change the different font sizes, I recommend playing with the includes: in_header option of your presentation's header (check this RStudio link for specifics).

This points to a simple .tex file on your computer where you can add LaTeX commands specifically for your presentation's preamble. You could therefore have a file called preamble.tex in your Desktop, and use the \\setbeamerfont{XX}{size={\\fontsize{YY}{ZZ}}} command, where XX is the specific thing you want to change (title, author); YY is the font size to apply; and ZZ is the skip line (in pt) (also see this link for more details).

So for your example, we have:

preamble.tex file at your Desktop (or wherever you want) containing just two lines:

\setbeamerfont{title}{size={\fontsize{30}{25}}}
\setbeamerfont{author}{size={\fontsize{5}{20}}}

Your foo.Rmd file:

---
title: "The title"
author: | 
  | The author
  | The affiliation
output:
 beamer_presentation:
   includes:
     in_header: ~/Desktop/preamble.tex
---


## R Markdown

This is an R Markdown presentation. 
Markdown is a simple formatting syntax for 
authoring HTML, PDF, and MS Word documents.

And the output will be:

投影仪字体已更改

and you should be able to have multiple authors and institutions

title: This is the title
author: 
   - Author Juan$^1$
   - Author Tu$^2$
institute: 
   - $^1$Juans Casa
   - $^2$Tus Place
date: "Thursday, April 09, 2015"
output:
  beamer_presentation

The proper way to deal with affiliation in beamer is through \\institute{} (see this answer on tex.SE).

Current solution (pandoc version >= 1.17)

Starting with pandoc 1.17 , the institute field is present in the default beamer template, so all you need to do if you have the proper version is:

---
title: "This is the title"
author: "Author"
institute: "Affiliation"
date: "Thursday, April 09, 2015"
---

Old answer

Might be needed if you use an older pandoc version (< 1.17) or while rmarkdown's default beamer template has not been updated. To make this work with pandoc, you could edit your beamer template. If you have not edited it yet, you can create it with:

pandoc -D beamer > ~/.pandoc/templates/default.beamer

Then, open the file and add this after the author information:

$if(institute)$
\institute[]{$institute$}
$endif$

Finally, add the institute option to your yaml:

---
title: "This is the title"
author: "Author"
institute: "Affiliation"
date: "Thursday, April 09, 2015"
---

If you are using rmarkdown, you may have to specify the template:

---
title: "This is the title"
author: "Author"
institute: "Affiliation"
date: "Thursday, April 09, 2015"
output:
  beamer_presentation:
    template: ~/.pandoc/templates/default.beamer
---

There are two advantages to using this over a multiline author.

  1. some beamer theme use the author field and/or the institute field, for instance to repeat it at the bottom of each slide. A multiline author would mess this up.
  2. this allow for a finer control of the title slide elements: you can have a different font family and size for author and affiliation information for instance:
\setbeamerfont{institute}{size={\fontsize{5}{20}}}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM