在LaTeX中从PDF中错误地识别数学符号

时间:2012-11-20 14:29:03

标签: r math pdf latex pdf-generation

我在 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=1\textwidth,height=0.4\textheight]{../Plots/errors.pdf} 

但不显示μ无穷大符号()。

为什么?

1 个答案:

答案 0 :(得分:0)

对于没有编码问题的无缝集成,我会看看包'TikzDevice'。它以LaTeX格式输出Tikz图像。例如:

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()

然后你要做的就是在LaTeX文档中包含刚从R输出的文件。