-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathchap_tips.qmd
198 lines (145 loc) · 7.11 KB
/
chap_tips.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# bitPublish 사용 팁 {#sec-tips}
```{r init, include=FALSE}
source(here::here("_extensions", "bit2r", "bitPublish", "init_environments.R"))
```
이 장에서는 \`bitPublish'을 응용하여 다소 복잡한 기능을 구현하는 팁을 제시합니다.
## 서식에 관련된 팁
### 그림을 표로 인식시키고, 표의 label을 활용
경우에 따라서 복잡한 표를 LaTeX로 작성하는 것이 어려울 수 있습니다. 이때 표를 파워포인트나 그림으로 작성하고, 그림을 표로 인식시키는 방법을 사용할 수 있습니다.
다음 예제처럼 그림을 표로 인식시키고, 표의 label을 활용하여 표의 cross-reference를 적용할 수 있습니다.
```{md}
다음 [@tbl-image]처럼 이미지화된 표를 테이블로 인식시킬 수 있습니다.
::: {#tbl-image}
![](img/table_image.png){fig-pos='!ht' fig-align="center" width=50%}
테이블 이미지의 표로 출력
:::
```
다음 [@tbl-image]처럼 이미지화된 표를 테이블로 인식시킬 수 있습니다.
::: {#tbl-image}
![](img/table_image.png){fig-pos='!ht' fig-align='center' width=50%}
테이블 이미지의 표로 출력
:::
### 문서 내 인용 하이퍼 링크 제거
문서 내 인용을 하이퍼 링크로 제공하는 것이 기본 설정이지만, 이를 제거하고 싶을 때가 있습니다.
예를 들어서 생성된 문서를 인쇄할 경우에 하이퍼 링크가 파란색으로 출력되는 것을 방지하고 싶을 때가 있습니다. pdf 파일로 배포할 경우에는 하이퍼 링크가 필요하지만, 단행본 출판을 위해서 인쇄 목적의 출력을 위해서는 하이퍼 링크를 제거하는 것이 좋습니다.
이때 다음과 같이 설정을 변경할 수 있습니다.
_quarto.yml 파일에 다음과 같은 `hyperrefoptions` 설정을 추가합니다.
```{md}
hyperrefoptions: draft
```
다음은 bitPublist로 생성된 문서의 인용을 하이퍼 링크로 제공하는 것을 방지하는 _quarto.yml 파일 예제입니다. 만약 하이퍼 링크를 제공하고 싶다면 `hyperrefoptions: draft`를 제거하면 됩니다.
```{md}
project:
type: book
output-dir: docs
lang: ko-KR
book:
title: "bitPublish를 이용하여 한글 책 조판하기"
chapters:
- index.qmd
- chap_exams.qmd
- chap_intro_bitpublish.qmd
- chap_tips.qmd
- chap_troubleshooting.qmd
- chap_version.qmd
- chap_solve_exercise.qmd
cover-image: hexlogo/bitPublish_logo.png
bibliography: references.bib
link-citations: false
hyperrefoptions: draft
```
### 코드 블록의 배경색 설정
다음의 코드 블록이 실행되면 어떻게 출력되는지 확인해보세요.
```{md}
velocity <- c(65, 70, 54, 59, 40)
mean(velocity) # (1) 산술평균
```
Quarto로 생성한 문서의 코드 블록의 기본 출력은 [@fig-codeblock-default]\와 같이 출력됩니다.
```{r}
#| label: fig-codeblock-default
#| echo: false
#| out-width: "90%"
#| fig-align: "center"
#| fig-cap: "코드 블록의 기본 출력"
#| fig-pos: "htb!"
knitr::include_graphics("img/codeblock-default.png")
```
그런데 이 블록의 경우, 배경색이 흐려서 일반 프린터 출력 시 잘 보이지 않아 본문에서 구분이 잘 안될 수도 있습니다. 이처럼 코드 블록의 배경색을 설정하고 싶을 때가 있습니다. 이때 다음과 같이 설정을 변경할 수 있습니다.
_quarto.yml 파일에 다음과 같은 옵션을 기술합니다.
- code-block-border-left
- 코드블록의 왼쪽 테두리 색상을 지정합니다.
- 기본값은 true로 밝은 회색을 테두리를 생성합니다.
- RGB 색상 이름을 지정해서 테두리의 색상을 지정할 수 있습니다.
- code-block-bg
- 코드블록의 배경색을 지정합니다.
- 설정하지 않으면 배경색을 출력하지 않습니다.
- true를 지정하면 html에서는 "#F0F3F5" 색상으로 출력되지만,
- pdf에서는 색상이 출력되지 않습니다.
- RGB 색상 이름을 지정해서 배경색을 지정할 수 있습니다.
다음은 bitPublist로 생성된 문서의 코드 블록의 색상을 지정하는 _quarto.yml 파일 예제입니다.
```{md}
project:
type: book
output-dir: docs
lang: ko-KR
book:
title: "bitPublish를 이용하여 한글 책 조판하기"
chapters:
- index.qmd
- chap_exams.qmd
- chap_intro_bitpublish.qmd
- chap_tips.qmd
- chap_troubleshooting.qmd
- chap_version.qmd
- chap_solve_exercise.qmd
cover-image: hexlogo/bitPublish_logo.png
bibliography: references.bib
link-citations: false
code-block-border-left: "#245ABE"
code-block-bg: "#f8f8f8"
```
수정한 _quarto.yml 파일로 생성한 문서의 코드 블록은 [@fig-codeblock-custom]\와 같이 출력됩니다.
```{r}
#| label: fig-codeblock-custom
#| echo: false
#| out-width: "90%"
#| fig-align: "center"
#| fig-cap: "코드 블록의 사용자 정의 출력"
#| fig-pos: "htb!"
knitr::include_graphics("img/codeblock-custom.png")
```
### 소제목의 색상 변경하기
소제목인 section과 subsection의 색상을 변경하고 싶을 때가 있습니다. 이때 다음과 같이 설정을 변경할 수 있습니다.
_extension/bit2r/bitPublish/bitPublish.tex 파일에 다음과 같은 컬러 정의 부분이 있습니다. `colsec`과 `colsub`이 RGB 값으로 검정색인 `000000`으로 설정되어 있습니다. 이 부분을 원하는 색상으로 변경하면 됩니다. 만약 blue로 변경하고 싶다면 `colsec`과 `colsub`을 `0000FF`로 변경하면 됩니다.
```{md}
%%==============================================================================
%% 컬러 정의
%%==============================================================================
\definecolor{gray95}{gray}{.95}
\definecolor{gray85}{gray}{.85}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}
\definecolor{ExerciseColor}{gray}{0.65} % for example
\definecolor{problemblue}{RGB}{100, 134, 158} % for 시각화전략
\definecolor{light}{HTML}{E6E6FA}
\definecolor{highlight}{HTML}{800080}
\definecolor{dark}{HTML}{330033}
\definecolor{cornflowerblue}{rgb}{0.39, 0.58, 0.93} % for Exercise
\definecolor{colsec}{HTML}{000000} % for Section
\definecolor{colsub}{HTML}{000000} % for Subsection
%%==============================================================================
%% 절(section)과 서브절(subsection) 타이틀을 돋움체(sans-serif)로 바꾸기
%%==============================================================================
%% Rmarkdown과 titlesec 패키지가 호환되지 않는 이슈가 있음.
%% 아래 두줄의 명령을 입력하지 않으면 에러가 발생함
%% 문제의 원인:
%% https://stackoverflow.com/questions/40439701/cant-knit-to-pdf-with-custom-styles
%% 문제의 해결
%% https://github.com/rstudio/bookdown/issues/677
\let\paragraph\oldparagraph
\let\subparagraph\oldsubparagraph
\usepackage{titlesec}
\titleformat{\section}
{\color{colsec}\sffamily\selectfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}
{\color{colsub}\sffamily\selectfont\large\bfseries}{\thesubsection}{1em}{}
```