xaringan
은 처음 세상에 나온 이후 나름대로 생태계를 굳건하게 꾸려 나가고 있다. 관련 주요 팩키지는 다음과 같다.
기본적으로 .pull-left
가 내장되어 있는데 5:5로 화면을 분할하는데 기본 문법은 다음과 같다.
```{r whatever}
.pull-left[
```r
R code
```
]
.pull-right[
![](fig/test.png)
]
```
한걸음 더 나아가 칼럼 비율을 조정하고자 할 경우 다음과 같이 코드를 다시 작성할 수 있다. 즉, .css
파일에 다음과 같이 .left-column
, .right-column
에 관련 비율을 조정하게 되면 원하는 비율대로 2칼럼 슬라이드 제작이 가능하게 된다.
--
을 사용함으로써 한줄씩 순차적으로 보여주는 것이 가능하다. 영어로 increnetal reveal 기능이라고도 한다.
R 코드 강조를 위해서 #<<
을 코드 뒷쪽에 붙이면 강조된다.
출력 결과 강조를 위해서 출력결과에 chunk 선택옵션으로 highlight.output
으로 특정 행을 강조하면 된다.
# A tibble: 1,000 x 1
var
<dbl>
1 -0.330
2 1.48
3 -0.251
4 -0.145
5 0.705
6 -1.37
7 -0.809
8 1.75
9 -1.06
10 0.420
# … with 990 more rows
R마크다운에서 많이 사용되는 이미지 삽입 구문, 예를 들어, ![](fig/xaringan-hex.png){width=17px}
은 사용될 수 없어 다음과 같이 HTML img
태그를 사용하거나, knitr::include_graphics()
태그를 사용한다.
---
다음에 background-image
에 url()
함수로 다음과 같이 작성하여 로컬 이미지를 가져와서 로고를 지정할 수 있다. 좌측하단, 우측상단에 다음과 같이 로고를 삽입한다.
xaringan
으로 제작된 슬라이드쇼는 ?
단축키로 발표자료에 대한 다양한 기능을 실시간으로 확인할 수 있다. 숫자 + 엔터키를 치게 되면 해당 슬라이드로 바로 가게 되고 p
단축키는 발표자 모드를 볼 수 있는 기능을 제공한다.
xaringan
3slidex
팩키지는 pptx, docx 파일을 파싱할 경우 XML
로 구성된 점을 감안하여 이를 다시 xaringan
으로 만들어 주는 역할을 수행한다. 하지만, 현재 오류가 있어 다음 헬로 월드 코드도 돌아가지 않고 있어 수정 작업중에 있다.
html
슬라이드 → .png
xaringan
으로 제작한 .html
슬라이드를 예를 들어 .png
와 같은 이미지로 작업을 할 경우 몇가지 장점이 있다. 발표자료를 만들 경우 맨 앞장 Title 슬라이드와, 목차, 소분류 제목, 본문, 마무리 슬라이드로 구성되는 대략의 얼개를 확인할 수 있다는 장점이 있다. 이를 위해서 pagedown
팩키지로 html 파일을 pdf 파일로 변환시킨 후에 magick
에서 pdf 파일을 불러 읽을 수 있도록 한 후 다양한 이미지 처리 작업을 수행한다.
knitr
팩키지 include_url()
함수를 사용하면 xaringan
슬라이드를 R마크다운 문서에 내장할 수 있다.
pagedown
팩키지 chrome_print()
함수를 사용하게 되면 xaringan
.html
슬라이드를 .pdf
파일로 변환시킬 수 있다.
.pdf
파일을 이미지로 작업할 경우 두가지 방법이 있는데 pdftools
와 mgaick
팩키지가 그것이다. .pdf
파일에서 텍스트를 추출하는 등의 작업을 하지 않을 것이라 magick
팩키지 image_read_pdf()
함수를 사용해서 magick
이미지 객체로 후속 작업을 수행하는 것이 훨씬 더 수월하다.
.css
날코딩발표 슬라이드는 크다 다음과 같이 5가지로 나눠진다.
제목 타이틀 슬라이드를 제작하는 것이 아마도 발표자료 제작의 첫걸음으로 생각된다. .css
파일을 하나 제작하는데 기본적인 .css
문법에 맞춰 html
태그를 매칭하는 방식으로 제작한다.
전체 적인 작업흐름은 구글 검색으로 적당한 외부 이미지 파일을 첫 제목 슬라이드에 넣고 이를 .css
에 반영한다. 한글 폰트를 Google Fonts에서 가져와서 웹브라우져에서 실시간 사용하도록 활성화시키고 html
태그 h1, h2, h3
와 body
에 대한 내용을 적용시킨다.
title_slides <- image_read_pdf("tutorial/slideshows/xaringan_title_slides.pdf")
title_slides %>%
image_scale("300") %>%
image_append(stack = FALSE)
.css
Google Fonts 웹사이트에서 한글 폰트를 특정하고 .title-slide
다음과 같이 지정하고 이미지를 넣고 h1, h2
등을 지정하고 본문 글꼴도 지정한다.
@import url(https://fonts.googleapis.com/css?family=Nanum+Pen+Script);
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+KR);
.title-slide {
background-image: url(fig/slide_background_milky_way.jpg);
background-size: cover;
}
h1, h2{
font-family: 'Nanum Pen Script';
font-weight: normal;
}
body { font-family: 'Noto Sans KR', 'Nanum Pen Script', serif; }
.remark-code, .remark-inline-code { font-family: 'Source Code Pro', 'Lucida Console', Monaco, monospace; }
상기 .css
파일을 다운로드 받는다.
.css
파일을 R마크다운 xaringan
슬라이드쇼에 반영하여 발표 슬라이드 외관을 깔끔하게 정리한다.
xaringanthemer
xaringanthemer
를 활용할 경우 .css
를 많이 고치지 않고 xaringan
슬라이드 작성에 많이 사용되는 기능을 쉽게 넣을 수 있다.
knitr::include_url('https://statkclee.github.io/comp_document/tutorial/slideshows/xaringanthemer.html')
상기 슬라이드를 앞서와 같이 PDF 로 변환시킨 후에 PNG 이미지 파일로 일별할 수 있다.
themer_slides <- image_read_pdf("tutorial/slideshows/xaringanthemer.pdf")
themer_slides %>%
image_scale("300") %>%
image_append(stack = FALSE)
xaringanthemer
은 또한 ggplot
으로 시각화 그래프를 넣을 경우 look-and-feel
을 자동으로 맞춰준다는 면에서 큰 장점도 있다.
YAML 헤더에 seal: false
을 지정할 경우 background-image: url("fig/slide_background_milky_way.jpg");
와 같이 원하는 이미지를 지정할 수 있다.
상기 .css
파일을 다운로드 받는다.
.css
파일을 R마크다운 xaringan
슬라이드쇼에 반영하여 발표 슬라이드 외관을 깔끔하게 정리한다.
Earo Wang, “Presenting like a kunoichi kunoichi with Xaringa”, R Ladies 2020 발표자료를 참조하여 가장 많이 사용되는 발표자료 형태를 찾아 나중에 xaringan
발표자료를 제작할 때 활용하도록 한다.
knitr::include_url('https://statkclee.github.io/comp_document/tutorial/slideshows/female-ninja.html')
Zhi Yang, “How to make xaringan slides in R”, Orange County R Users Group↩︎
Yong Fu (Apr 29, 2019), “Tips to Reduce the Complexity of Slide Making with Xaringan”, Yongfu’s Blog↩︎
Daniel Anderson (2018-06-08), Peeking behind the curtain with {slidex}, https://www.datalorax.com/↩︎
Earo Wang, “Presenting like a kunoichi kunoichi with Xaringa”, R Ladies 2020↩︎
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com