Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
502 views
in Technique[技术] by (71.8m points)

markdown - Authors and affiliations in the YAML of RMarkdown

I know this question was already asked in the past in this forum (1, 2, 3). Before you mark this as duplicated, I tried all the answers with no success. Most of the questions were asked long ago, and some updates related with pandoc might affect nowadays results.

The issue is that I am writing a scientific paper using RMarkdown, and would like to export the results either in HTML, PDF or Word files.

More importantly is that there are 12 authors signing the papers. Some of the authors present more than one affiliation, and some authors presenting the same affiliation.

My question is very clear: How can I edit the YAML to include all the authors with all the affiliations in the YAML in order to export to different formats (HTML, PDF, DOC)?

I tried this YAML:

---
title: "My title"
author:
  - name: Mario Modesto-Mata^1,2^
    email: paleomariomm@gmail.com
  - name: Christopher^1^
  - name: Seaghán Mhartain^2^
  - name: Rita Yuri Ynoue^1^
address:
  - code: 1
    address: Instituto de Astronomía, Geofísica e Ciências Atmosféricas, Universidade de S?o Paulo
  - code: 2
    address: Faculdade de Medicina, Universidade de S?o Paulo
date: "1 October 2018"
output: 
  pdf_document: 
    number_sections: yes
    toc: yes
    toc_depth: 4
  word_document:
    toc: yes
  html_document:
    css: Scripts accesorios/estiloboton.css
    number_sections: yes
    theme: sandstone
    toc: yes
    toc_depth: 4
bibliography: references.bib
csl: science.csl
---

PDF output

This is what I see when I export to PDF the .Rmd file:

enter image description here

Instead of the authors, I see true and no affiliations.

HTML output

I see the authors and not all the affiliation numbers. The affiliations themselves remain hidden.

enter image description here

DOCX output

Neither names nor affiliations appear in the final Word file.

My system

I am using the latest RStudio version (Version 1.1.453), running on Linux Mint 19 Cinnamon.

UPDATE: original example

---
title: "My title"
author:
  - Mario Modesto-Mata:
      email: paleomariomm@gmail.com
      institute: [cenieh, ucl1, ppex]
      correspondence: true
  - M. Christopher Dean:
    institute: [ucl2, nhm]
  - Yuliet Quintino:
    institute: ubu
  - Rebeca García-González:
    institute: ubu
  - Rodrigo S. Lacruz:
    institute: nyu
  - Timothy G. Bromage:
    institute: nyu
  - Cecilia García-Campos:
    institute: [cenieh, ucl1]
  - Marina Martínez de Pinillos:
    institute: cenieh
  - Laura Martín-Francés:
    institute: [bor, cenieh]
  - María Martinón-Torres:
    institute: [cenieh, ucl1]
  - Eudald Carbonell:
    institute: [iphes, urv]
  - Juan Luis Arsuaga:
    institute: [isciii, ucm]
  - José María Bermúdez de Castro:
    institute: [cenieh, ucl1]
institute:
  - cenieh: Centro Nacional de Investigación sobre la Evolución Humana (CENIEH), Paseo Sierra de Atapuerca 3, 09002, Burgos, Spain
  - ucl1: Department of Anthropology, University College London, London, WC1H 0BW, UK
  - ucl2: Department of Cell and Developmental Biology, University College London, Gower Street, London, WC1E 6BT, UK
  - ubu: Laboratorio de Evolución Humana, Unierisdad de Burgos, Edificio I+D+i, Burgos, Spain
  - ppex: Equipo Primeros Pobladores de Extremadura, Casa de Cultura Rodríguez Mo?ino, Cáceres, Spain
  - nhm: Centre for Human Evolution Research (CHER), Department of Earth Sciences, Natural History Museum, London, SW7 5BD, UK
  - nyu: New York University
  - bor: De la Préhistoire à l'Actuel - Culture, Environnement et Anthropologie, University of Bordeaux, CNRS, MCC, PACE, UMR 5199 F_33615, Pessac Cedex, France
  - iphes: Institut Català de Paleoecologia Humana i Evolució Social (IPHES), Zona Educacional 4, Campus Sescelades, Edifici W3, Universitat Rovira i Virgili, Tarragona, Spain
  - urv: àrea de Prehistòria, Universitat Rovira i Virgili, Avinguda de Catalunya 35, 43002, Tarragona, Spain
  - isciii: Centro mixto UCM-ISCIII de Evolución y Comportamiento humanos, Madrid, Spain
  - ucm: Departamento de Geodinámica, Estratigrafía y Paleontología, Facultad de Ciencias Geológicas, Universidad Complutense de Madrid, Spain
date: "1 October 2018"
output: 
  pdf_document: 
    number_sections: yes
    toc: yes
    toc_depth: 4
    pandoc_args:
      - '--lua-filter=scholarly-metadata.lua'
      - '--lua-filter=author-info-blocks.lua'
  html_document:
    css: Scripts accesorios/estiloboton.css
    number_sections: yes
    theme: sandstone
    toc: yes
    toc_depth: 4
  word_document:
    toc: yes
    pandoc_args:
      - '--lua-filter=scholarly-metadata.lua'
      - '--lua-filter=author-info-blocks.lua'
bibliography: references.bib
csl: science.csl
---
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

There is, to the best of my knowledge, no one-size-fits-it-all solution as of now.

If the target was only PDF, I'd suggest rticles by RStudio. It's great.

A solution which also works with docx is more difficult. One possibility is to use pandoc Lua filters. The repository collecting useful filters contains two filters which will help you: scholarly-metadata and author-info-blocks. (Disclosure: I wrote these.)

Place the .lua files in your directory, change the YAML structure a bit, and instruct pandoc to run the filters:

---
title: "My title"
author:
  - Mario Modesto-Mata:
      email: paleomariomm@gmail.com
      institute: [astro, med]
      correspondence: true
  - name: Christopher
    institute: astro
  - name: Seaghán Mhartain
    institute: med
  - name: Rita Yuri Ynoue
    institute: astro
institute:
  - astro: Instituto de Astronomía, Geofísica e Ciências Atmosféricas, Universidade de S?o Paulo
  - med: Faculdade de Medicina, Universidade de S?o Paulo
date: "1 October 2018"
output: 
  word_document:
    toc: yes
    pandoc_args:
      - '--lua-filter=scholarly-metadata.lua'
      - '--lua-filter=author-info-blocks.lua'
  pdf_document: 
    number_sections: yes
    toc: yes
    toc_depth: 4
    pandoc_args:
      - '--lua-filter=scholarly-metadata.lua'
      - '--lua-filter=author-info-blocks.lua'
---

This will be the PDF output:

example pdf output

while this is what it looks like in Word:

enter image description here

The affiliation and contact information is added to the body text, which is why the toc is displayed above it.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...