问题描述
首先 yaml 里设置- \fancyhead[CO]{基于R语言的XXX软件V1.1.1源代码}
页眉是正常的,中英文能都显示。如果 yaml 里使用- \fancyhead[CO]{$
r params$pagehead$}
则页眉里不显示中文,只显示“R V1.1.1”,其中params$pagehead
在控制台能得到正确结果。感觉是字体设置问题,但是不知道怎么解决。
我的代码
这是 R Markdown 文档,文件名 CODE.Rmd,文档代码如下:
---
title: "**`r params$soft_name`**"
subtitle: "**`r params$soft_version`**"
author: "(源代码清单)"
output:
pdf_document:
latex_engine: xelatex
fig_caption: TRUE
number_sections: TRUE
toc: FALSE
header-includes:
- \usepackage[UTF8,fontset=fandol]{ctex}
- \usepackage{fancyhdr}
- \pagestyle{fancy}
- \setlength{\headheight}{13pt}
- \addtolength{\topmargin}{-1pt}
- \fancyhead{} % 清空页眉
- \fancyfoot{} % 清空页脚
- \pagenumbering{roman} % 设置页码格式为罗马数字
- \fancyhead[RO]{第 \thepage 页} % 在右上角显示页码
- \fancyhead[CO]{$`r params$pagehead`$} % 在页眉中间显示标题
---
\newpage
\pagenumbering{arabic}
```{r echo=TRUE, eval=FALSE}
print("Hello world!")
```
运行以下代码编织 CODE.Rmd 文档
# 软件名称和版本
soft_name = "基于R语言的XXX软件"
soft_version = "V1.1.1"
# 生成参数列表
params = list(
soft_name = soft_name,
soft_version = soft_version,
pagehead = paste0(
soft_name, soft_version, "源代码"
)
)
# 渲染文档
rmarkdown::render(
input = "CODE.Rmd",
params = params
)
# 文档归档
xfun::dir_create("./result")
code_dest_file = paste0(
"./result/", soft_name, "_",
soft_version, "_CODE", ".pdf"
)
file.rename("CODE.pdf", code_dest_file)
系统环境
xfun::session_info()
#> R version 4.3.0 (2023-04-21)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Manjaro Linux
#>
#>
#> Locale:
#> LC_CTYPE=zh_CN.UTF-8 LC_NUMERIC=C
#> LC_TIME=zh_CN.UTF-8 LC_COLLATE=zh_CN.UTF-8
#> LC_MONETARY=zh_CN.UTF-8 LC_MESSAGES=zh_CN.UTF-8
#> LC_PAPER=zh_CN.UTF-8 LC_NAME=C
#> LC_ADDRESS=C LC_TELEPHONE=C
#> LC_MEASUREMENT=zh_CN.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: Asia/Shanghai
#> tzcode source: system (glibc)
#>
#> Package version:
#> base64enc_0.1.3 bslib_0.5.0 cachem_1.0.8 callr_3.7.3
#> cli_3.6.1 clipr_0.8.0 compiler_4.3.0 digest_0.6.31
#> ellipsis_0.3.2 evaluate_0.21 fastmap_1.1.1 fontawesome_0.5.1
#> fs_1.6.2 glue_1.6.2 graphics_4.3.0 grDevices_4.3.0
#> highr_0.10 htmltools_0.5.5 jquerylib_0.1.4 jsonlite_1.8.5
#> knitr_1.43 lifecycle_1.0.3 magrittr_2.0.3 memoise_2.0.1
#> methods_4.3.0 mime_0.12 processx_3.8.1 ps_1.7.5
#> R6_2.5.1 rappdirs_0.3.3 reprex_2.0.2 rlang_1.1.1
#> rmarkdown_2.22 rstudioapi_0.14 sass_0.4.6 stats_4.3.0
#> stringi_1.7.12 stringr_1.5.0 tinytex_0.45 tools_4.3.0
#> utils_4.3.0 vctrs_0.6.3 withr_2.5.0 xfun_0.39
#> yaml_2.3.7
Created on 2023-06-21 with reprex v2.0.2