- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 brew
生成一个基于分组变量的分割部分的 PDF 报告。和 knitr
.我的分组变量可能包含特殊字符(变音符号),例如 å æ ø。
使用 \usepackage[utf8]{inputenc}
可以很好地处理文档标题中的元音变音。 (见下面的例子)。但是,分组变量中的元音变音会产生错误 \usepackage[utf8]{inputenc}
.
另一方面,当我尝试 \usepackage[T1]{fontenc}
时, 分组变量中的元音变音处理得当。但是现在标题没有正确编码。
我正在努力在标题和分组变量中正确编码。
这是一个示例,我尝试生成一份 PDF 报告,其中包含鸢尾花数据集中每个物种的汇总统计信息的子部分。我希望它可以说明我的问题。
R代码来准备没有变音符号的数据
library(plyr)
library(xtable)
library(knitr)
library(brew)
library(stringr)
iris
中为每个物种创建一个汇总表数据集。一、使用原版
Species
名字,没有变音。文档中的变音符号
\title
仅(参见
.rnw
模板文件的代码)。将汇总表存储在列表中。
data(iris)
iris_tbl <- dlply(.data = iris, .variables = .(Species), function(x) xtable(summary(x)))
brew_knit_pdf
.函数生成模板latex文件
xxx.rnw
到新
.rnw
文件
xxx_out.rnw
,每个循环的项目/组都有一个部分。
xxx_out.rnw
来自
brew
然后用作
knit2pdf
中的输入文件并转换为 PDF。
brew_knit_pdf <- function(template, ...){
brew_out <- str_replace(string = template, pattern = ".rnw", replacement = "_out.rnw")
brew(file = template, output = brew_out)
knit2pdf(input = brew_out, ...)
}
brew_knit_pdf("iris_umlaut_tbl.rnw")
iris_umlaut_tbl.rnw
.此文件用作
brew_knit_pdf
的输入R 脚本中的函数。
\documentclass{article}
% \usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\geometry{tmargin=2.5cm,bmargin=2.5cm,lmargin=2.5cm,rmargin=2.5cm}
\begin{document}
\begin{titlepage}
\title{Using brew and knitr to produce one PDF report split by a grouping variable.\\Problem with å æ ø in grouping variable}
\clearpage\maketitle
\thispagestyle{empty}
\tableofcontents
\end{titlepage}
\newpage
\section{Summary statistics for each species}
% R code loop wrapped in brew syntax, which brews the template file xxx.rnw to a new .rnw file xxx_out.rnw, which has one section for each group that is looped over, i.e. the names of the list iris_tbl produced in the R script.
<% for (Sp in names(iris_tbl)) { -%>
\subsection{<%= Sp %>}
<<sum-<%= Sp %>, echo=FALSE, results='asis'>>=
print(iris_tbl[["<%= Sp %>"]])
@
\newpage
<% } %>
\end{document}
data(iris)
iris$Species <- as.character(iris$Species)
iris$Species[iris$Species == "setosa"] <- "åsetosa"
iris$Species[iris$Species == "versicolor"] <- "æversicolor"
iris$Species[iris$Species == "virginica"] <- "øvirginica"
# create a summary table for each species
iris_tbl <- dlply(.data = iris, .variables = .(Species), function(x) xtable(summary(x)))
\title{ }
中的变音符号, \usepackage[utf8]{inputenc}
\title{ }
中的变音符号, \usepackage[utf8]{inputenc}
Error: running 'texi2dvi' on 'iris_umlaut_tbl_out.tex' failed LaTeX errors: ...Package inputenc Error: Unicode char \u8:æve not set up for use with LaTeX.
umlauts in \title{ }
, \usepackage[T1]{fontenc}
, \usepackage[utf8]{inputenc}
Error: running 'texi2dvi' on 'iris_umlaut_tbl_out.tex' failed LaTeX errors: ...Package inputenc Error: Unicode char \u8:æve not set up for use with LaTeX.
\title{ }
中的变音符号, \usepackage[T1]{fontenc}
> sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Norwegian (Bokmål)_Norway.1252 LC_CTYPE=Norwegian (Bokmål)_Norway.1252
[3] LC_MONETARY=Norwegian (Bokmål)_Norway.1252 LC_NUMERIC=C
[5] LC_TIME=Norwegian (Bokmål)_Norway.1252
attached base packages:
[1] splines stats graphics grDevices utils datasets methods base
other attached packages:
[1] Hmisc_3.10-1 survival_2.37-4 pastecs_1.3-13 boot_1.3-9
[5] pspline_1.0-15 ggplot2_0.9.3.1 lubridate_1.2.0 stringr_0.6.2
[9] brew_1.0-6 knitr_1.1 xtable_1.7-1 plyr_1.8
[13] PerformanceAnalytics_1.1.0 xts_0.9-3 zoo_1.7-9 gdata_2.12.0.2
loaded via a namespace (and not attached):
[1] cluster_1.14.4 colorspace_1.2-2 dichromat_2.0-0 digest_0.6.3 evaluate_0.4.3 formatR_0.7
[7] grid_3.0.0 gtable_0.1.2 gtools_2.7.1 labeling_0.1 lattice_0.20-15 MASS_7.3-26
[13] memoise_0.1 munsell_0.4 proto_0.3-10 RColorBrewer_1.0-5 reshape2_1.2.2 scales_0.2.3
[19] tools_3.0.0
> getOption("encoding")
[1] "native.enc"
\usepackage[latin1]{inputenc}
在 .rnw 文件中。还有
\usepackage[ansinew]{inputenc}
作品。我不确定我最初的尝试出了什么问题。当我重新打开脚本文件时,可能 RStudio 没有将 Options 中设置的默认编码(我按照 Yihui 的建议更改)应用于脚本文件。但这只是一种猜测。
最佳答案
由于您使用的是 UTF-8
,这不是您操作系统的 native 编码,您需要明确告诉 knitr
输入文档的编码。例如,您必须调用
knit2pdf(brew_out, encoding = "UTF-8")
brew
可以处理非本地字符编码。如果没有,我建议您使用系统默认编码(在这种情况下应该是
ISO8859-1
),并且
\usepackage[latin9]{inputenc}
knitr
中做所有事情如果您必须使用
UTF-8
(这也使您可以单击按钮来编译文档);见
075-knit-expand.Rnw举个例子。
关于r - Brew 和 knit 一份 PDF 报告由带有特殊字符的变量分割 (å æ ø) - 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16173199/
我对自定义 CSS 或在将图像作为 Logo 上传到页面时使用编码 block 有疑问。我正在为我的网站使用 squarespace,我需要帮助编码我的 Logo 以使其适合每个页面。一个选项是使用自
如 encoding/json 包文档中所述, Marshal traverses the value v recursively. If an encountered value implement
我必须做一些相当于Java中的iconv -f utf8 -t sjisMS $INPUT_FILE的事情。该命令在 Unix 中 我在java中没有找到任何带有sjisMS的编码。 Java中有Sh
从 PHP 5.3 迁移到 PHP 5.6 后,我遇到了编码问题。我的 MySQL 数据库是 latin1,我的 PHP 文件是 windows-1251。现在一切都显示为“ñëåäíèòå àäðå
我有一个 RScript文件(我们称之为 main.r ),它引用了另一个文件,使用以下代码: source("functions.R") 但是,当我运行 RScript 文件时,它提示以下错误:
我无法设法从 WSDL 创建 RPC/编码风格的代码 - 有谁知道哪个框架可以做到这一点? 带有 adb 和 xmlbeans 映射的 Axis2 无法正常工作(无法处理响应中的肥皂编码)直接使用 X
安装了最新版本的Node.Js()和npm包**(1.2.10)**当我运行 Express 命令来生成项目时,它向我抛出以下错误 buffer.js:240 switch (encoding &
JavaScript中有JSON编码/解码base64编码/解码函数吗? 最佳答案 是的,btoa() 和 atob() 在某些浏览器中可以工作: var enc = btoa("this is so
>>> unicode('восстановление информации', 'utf-16') Traceback (most recent call last): File "", line
我当然熟悉 java.net.URLEncoder 和 java.net.URLDecoder 类。但是,我只需要 HTML 样式的编码。 (我不想将 ' ' 替换为 '+' 等)。我不知道任何只做
有一个非常简单的 SSIS 包: OLE DB Source 通过 View 获取数据(数据库表 nvarchar 或 nchar 中的所有字符串列)。 派生列,用于格式化现有日期并将其添加到数据集(
我正在使用一个在 Node 中进行base64编码的软件,如下所示: const enc = new Buffer('test', 'base64') console.log(enc) 显示: 我正
我试图将带有日语字符的数据插入到 oracle 数据库中。事情是保存在数据库中的是一堆倒置的问号。我该如何解决这个问题 最佳答案 见 http://www.errcode.net/blogs/?p=6
当我在 java 中解压 zip 文件时,我发现文件名中出现了带有重音字符的奇怪行为。 西索: Add File user : L'equipe Technique -- Folder : spec
在网上冲浪我找到了 ExtJS 的 Ext.Gantt 插件,该扩展有一个特殊的编码。任何人都知道如何编码那样或其他复杂的形式。 Encoded Gantt Chart 最佳答案 它似乎被 Dean
我正在用C语言做一个编码任务,我进展顺利,直到读取符号并根据表格分配相应的代码的部分。我必须连接几个代码,直到它们的长度达到 32 位,为此我必须将它们写入一个文件中。这种写入文件的方法给我带来了很多
我有一个外部链接的 javascript 文件。在那个 javascript 里面,我有这个功能: function getMonthNumber(monthName){ monthName = mo
使用mechanize,我检索到一个网页的源页面,其中包含一些非ASCII字符,比如汉字。 代码如下: #using python2.6 from mechanize import Browser b
我有一个包含字母 ø 的文件。当我用这段代码 File.ReadLines(filePath) 读取它时,我得到了一个问号而不是它。 当我像这样添加编码时 File.ReadLines(filePat
如何翻译下面的字符串 H.P. Dembinski, B. K\'{e}gl, I.C. Mari\c{s}, M. Roth, D. Veberi\v{c} 进入 H. P. Dembinski,
我是一名优秀的程序员,十分优秀!