r语言 - 在 LaTeX 中错误地识别了 PDF 中的数学符号



我在R中生成绘图并将其保存为PDF

pdf(
  file='Plots/errors.pdf',
  height=4,
  width=7,
  onefile=TRUE,
  family='Helvetica',
  pointsize=12
)
# Here is my graphics
dev.off()

在图形内部的某个地方,我有:

mtext(
  expression(mu[H1])
)

它使用正确处理的希腊字母μ生成整洁的PDF

然后我在 LaTeX 文章中导入此 PDF

includegraphics[width=1textwidth,height=0.4textheight]{../Plots/errors.pdf} 
但是显示的

不是无穷大 () 的标志μ而是。

为什么?

为了在没有编码问题的无缝集成,我会看看包"TikzDevice"。 它输出Tikz图像的LaTeX格式。 例如:

require(tikzDevice)

setwd("/Path/To/LaTeX/Files/")
#Names of LaTeX symbols
syms <- c('alpha', 'theta', 'tau', 'beta', 'vartheta', 'pi', 'upsilon', 'gamma', 'varpi', 'phi', 'delta', 'kappa', 'rho', 'varphi', 'epsilon', 'lambda', 'varrho', 'chi', 'varepsilon', 'mu', 'sigma', 'psi', 'zeta', 'nu', 'varsigma', 'omega', 'eta', 'xi', 'Gamma', 'Lambda', 'Sigma', 'Psi', 'Delta', 'Xi', 'Upsilon', 'Omega', 'Theta', 'Pi', 'Phi')
len <- length(syms)
# random colors (red, green, blue)
r <- round(runif(len), 2)
g <- round(runif(len), 2)
b <- round(runif(len), 2)
# calculate dummy data points
x <- runif(50,1,10)
y <- x + rnorm(length(x))
fit <- lm(y ~ x)
rsq <- summary(fit)$r.squared
rsq <- signif(rsq,4)
# plot the result, will create symbol-regression.tex in the working
# directory the first time this is run it may take a long time because the
# process of calulating string widths for proper placement is
# computationally intensive, the results will get cached for the current R
# session or will get permenantly cached if you set
# options( tikzMetricsDictionary='/path/to/dictionary' ) which will be
# created if it does not exist.  Also if the flag standAlone is not set to
# TRUE then a file is created which can be included with include{}
tikz('symbolr.tex', width = 4,height = 4,pointsize = 12)
# The syntax is mar=c(bottom, left, top, right).
par(mar=c(2,2,2,2))
# plot the box and the regression line
plot(x, y, type='n', xlab='', ylab='')
box()
abline(fit)
# add the latex symbols as points
text(x, y, paste('\color[rgb]{',r,',',g,',',b,'}{$\',syms,'$}',sep=''))
# Display the correlation coefficient
mtext(paste("Linear model: $R^{2}=",rsq,"$" ),line=0.5)
# and the equation of the line
legend('bottom', legend = paste("$y = ", round(coef(fit)[2],3),'x +', round(coef(fit)[1],3), '$',  sep=''), bty= 'n')
# Close the device
dev.off()

然后,您所要做的就是将R输出的文件包含在LaTeX文档中。

最新更新