首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法输出pdf_book中的unicode字符(预订)

无法输出pdf_book中的unicode字符(预订)
EN

Stack Overflow用户
提问于 2020-11-28 03:02:53
回答 1查看 167关注 0票数 2

我正在尝试在bookdown项目中kable呈现的表中使用复选标记unicode字符( checkmark )。MWE包含以下两个文件(index.Rmd、preamble.tex),它们是生成的最小预订项目的一部分。

index.Rmd

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    --- 
    title: "A Minimal Book Example"
    subtitle: "subtitle"
    lang: fr
    author: "Yihui Xie"
    date: "`r Sys.Date()`"
    site: bookdown::bookdown_site
    documentclass: book
    mainfont: Arial
    mathfont: Arial
    bibliography: [book.bib, packages.bib]
    biblio-style: apalike
    link-citations: yes
    subparagraph: yes
    description: "This is a minimal example of using the bookdown package to write a book. The output format for this example is bookdown::gitbook."
    ---
    
    ```{r setup, include=FALSE}
    # Set locale to french for month and day names (calendar plots)
    Sys.setlocale(locale = 'French')
    
    # Load all needed libraries
    if(!require('pacman'))install.packages('pacman')
    pacman::p_load(kableExtra)
    ```
    
    (ref:O3) O~3~
    
    # Prerequisites
    
    ✓
    
    ```{r stations-polluants, echo=FALSE}
    stations_polluants_table <- data.frame(
      stations = c("41B001", "41B004", "41B011", "41MEU1", "41N043", "41R001", "41R002", "41R012", "41WOL1", "Total / polluant"),
      O3   = c("", rep("✓", 5), "", rep("\u2713", 2), "7")
    )
    kable(stations_polluants_table, col.names = c("Station", "(ref:O3)"), booktabs = T, align = "c", caption = "Caption text") %>%
      row_spec(0, bold = T) %>%
      row_spec(10, bold = T) %>%
      collapse_rows(columns = 1, latex_hline = "major", valign = "top")
    ```
    
    
    ```{r include=FALSE}
    # automatically create a bib database for R packages
    knitr::write_bib(c(
      .packages(), 'bookdown', 'knitr', 'rmarkdown'
    ), 'packages.bib')
    ```

preamble.tex

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\usepackage{booktabs}

\newfontfamily{\unicodefont}{Arial Unicode MS}
\usepackage{newunicodechar}
\newunicodechar{}{{\unicodefont{}}}

通过使用rmarkdown::render_site(output_format = 'bookdown::pdf_book', encoding = 'UTF-8')在PDF中编译,可以注意到✓在文本中正确呈现,而在生成的表中被替换。我还试图在表中使用\u2713,但没有取得更多的成功。

我做错什么了?请注意,即使首选输出是PDF,我也希望编译为gitbook (因此Rmd文件需要保持独立于输出格式)。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2020-12-01 12:44:05

经过一段时间的澄清之后,解决方案只是在bookdown中使用文本引用,即(ref:check) ✓,并在表中使用该引用。

index.Rmd

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ```{r setup, include=FALSE}
    # Set locale to french for month and day names (calendar plots)
    Sys.setlocale(locale = 'French')
    
    # Load all needed libraries
    if(!require('pacman'))install.packages('pacman')
    pacman::p_load(kableExtra)
    ```
    
    (ref:O3) O~3~
    
    # Prerequisites
    
    

    (ref:check)```{r stations-polluants, echo=FALSE}
    stations_polluants_table <- data.frame(
      stations = c("41B001", "41B004", "41B011", "41MEU1", "41N043", "41R001", "41R002", "41R012", "41WOL1", "Total / polluant"),
      O3   = c("", rep("(ref:check)", 5), "", rep("(ref:check)", 2), "7")
    )
    kable(stations_polluants_table, col.names = c("Station", "(ref:O3)"), booktabs = T, align = "c", caption = "Caption text") %>%
      row_spec(0, bold = T) %>%
      row_spec(10, bold = T) %>%
      collapse_rows(columns = 1, latex_hline = "major", valign = "top")
    ```
    
    
    ```{r include=FALSE}
    # automatically create a bib database for R packages
    knitr::write_bib(c(
      .packages(), 'bookdown', 'knitr', 'rmarkdown'
    ), 'packages.bib')
    ```
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65048884

复制
相关文章
Unicode中的空格字符一览(翻译)
本文列出了 Unicode 中的各种空格字符。有关说明, 还请参阅 Unicode 标准中的 第6章 书写系统和标点符号 还有Unicode标准中的 一般标点符号的区段描述 。本文还列出了3个宽度为0的字符, 故可称其为零宽度空格。
Kitov
2022/09/28
10.5K0
Unicode中的空格字符一览(翻译)
js --- 中字符串与unicode编码
2、charCodeAt ():在第一个的基础上,返回的是字符的unicode编码
小蔚
2019/09/11
4.9K0
Unicode 字符串
引号前小写的"u"表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。如下例所示:
用户8442333
2021/05/27
1K0
Unicode不可见字符
不可见字符”\u200b”为 Unicode Character ‘ZERO WIDTH SPACE’ (U+200B),可用于内容标识,不占位数。
周小董
2019/03/25
5.5K0
Unicode不可见字符
可以直接用于HTML中的特殊字符表 unicode字符集
目录 箭头类 基本形状类 货币类 数学类 音乐符号类 对错号 全都是星星 星座类 国际象棋类 扑克牌类 希腊字母 十字 法律符号 标点和符号 ⇠ 箭头类 符号UNICODE符号UNICODEHTMLJSCSSHTMLJSCSS⇠&#8672u21E021E0⇢&#8674u21E221E2⇡&#8673u21E121E1⇣&#8675u21E321E3↞&#8606u219E219E↠&#8608u21A021A0↟&#8607u219F219F↡&
拿我格子衫来
2022/01/24
2.7K0
字符编码ascii、unicode、ut
计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASIIC码。ASIIC码包括数字大小写字母和常用符号,一共128个,1字节(byte)=8bit,8bit能表示的最大数是256,所以ASIIC编码中一个字符的大小就是1个字节
py3study
2020/01/19
9390
unicode字符串解析
在http接口接收时,很多接口提供方都喜欢把汉字通过unicode的方式传过来,而数字和字母保持不变,就像这样。
逝兮诚
2019/10/30
1.4K0
给定字符串,将字符串的大写字符输出,再将字符串中的小写字符输出。
对字符串的字母进行逐一遍历,然后进行分开拼接,然后再输出。如何对大小写字母进行区别存放的问题我们可以利用ASCII码表进行字符串判断。 具体ASCII码表可自行百度
呆呆
2021/10/06
2K0
Word反查字符的unicode码
最近写字符处理的相关程序,需要和字符编码打交道,Windows自带的字符映射表只能通过unicode码查找字符,但是测试时通常要通过字符查找其unicode码,使用起来很不方便。
极客中心
2021/01/21
1.5K0
Word反查字符的unicode码
python输出unicode编码_python gbk codec
解决方案如下: 打开报错的倒数第三行的history.py文件,定位到82行,源代码如下:
全栈程序员站长
2022/09/30
1.1K0
python输出unicode编码_python gbk codec
VB中Unicode的转换
    VB本身的字符串格式就是Unicode,用Winsock发送字符串的话,会默认把字符串转换为Ansi的格式进行发送。Ansi格式,对于英文符号等仍然使用单字节,汉字使用双字节。如果需要进行转换的话,可以用StrConv来进行。     如:           Dim   byteFileName()   As   Byte             byteFileName   =   StrConv(m_filename,   vbFromUnicode)       '   Conver
用户1075292
2018/01/23
1.9K0
python 中输出字符的颜色控制属性
在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。
学到老
2019/02/14
1.3K0
Jenkins 控制台输出中的奇怪字符
其实这个不是问题,这是因为在你的程序中可能使用了 ANSI escape code 这种输出。
HoneyMoose
2021/06/26
2.1K0
Jenkins 控制台输出中的奇怪字符
python 中输出字符的颜色控制属性
在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。 书写格式,和相关说明如下: 1 格式:\033[显示方式;前景色;背景色m 2 3 说明: 4 前景色 背景色 颜色 5 --------------------------------------- 6 30 40
学到老
2018/03/19
1.4K0
python 中输出字符的颜色控制属性
unicode中的‘\xa0’字符在转换成gbk编码时会出现问题,gbk无法转换'\xa0'字符。
unicode中的‘\xa0’字符在转换成gbk编码时会出现问题,gbk无法转换’\xa0’字符。 所以,在转换的时候必需进行一些前置动作:
学到老
2019/02/14
2.2K0
AndroidStudio无法输出日志的Bug
正常情况下我们在真机调试程序时,如图箭头所指的位置显示的应该是该应用的主包名,但是有的时候明明打开了开发者模式,但是却无法输出日志,该位置显示的也不是应用包名,显示的是 no debuggable applications ,这个时候我们就需要打开adb
萬物並作吾以觀復
2018/09/13
1.2K0
AndroidStudio无法输出日志的Bug
Python 中文转Unicode字符串
Python 3.6 代码: # -*- coding: utf-8 -* def to_unicode(string): ret = '' for v in string: ret = ret + hex(ord(v)).upper().replace('0X', '\\u') return ret print(to_unicode("中国")) 输出: "D:\Program Files (x86)\Python36-32\python.exe" E:
py3study
2020/01/13
2.7K0
Java中字符串与Unicode编码互转工具方法
在开发中常常需要从配置文件中读取配置,但是在读取中文时可能会出现乱码,这时可以将中文转为Unicode编码,再读取,然后转码。在Api接口传输数据时也经常用到! 字符串转为Unicode编码 /** * 将字符串转为Unicode编码 * @param string * @return */ public static String encodeUnicode(String string){ StringBuffer unicode = ne
4xx.me
2022/06/09
2K0
第九节、Python中Unicode字符串《Python学习》
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。
申霖
2019/12/27
6910
点击加载更多

相似问题

无法在木星的PDF输出中显示Unicode字符(如λ)

20

Ruby输出Unicode字符

616

当使用type输出带有虚拟终端序列的Unicode字符时,utf-8 unicode字符偶尔无法输出。

11

print()输出Unicode字符的差异

11

GHC截断Unicode字符输出

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文