Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R tikzDevice:找不到LaTeX_R_Latex_Tikzdevice - Fatal编程技术网

R tikzDevice:找不到LaTeX

R tikzDevice:找不到LaTeX,r,latex,tikzdevice,R,Latex,Tikzdevice,我无法使R包tikzDevice运行。我已经安装了,而且我在制作像via TeXworks这样的文档时没有问题 不幸的是,通过tikzDevice导出绘图不起作用,例如,以下代码生成错误消息: library(tikzDevice) library(ggplot2) #For some reason, Rstudio needs to know the time zone... options(tz="CA") #Dummy data for the plot y <- exp(seq(1

我无法使R包
tikzDevice
运行。我已经安装了,而且我在制作像via TeXworks这样的文档时没有问题

不幸的是,通过tikzDevice导出绘图不起作用,例如,以下代码生成错误消息:

library(tikzDevice)
library(ggplot2)
#For some reason, Rstudio needs to know the time zone...
options(tz="CA")
#Dummy data for the plot
y <- exp(seq(1,10,.1))
x <- 1:length(y)
data <- data.frame(x = x, y = y)

#Create a .tex file that will contain your plot as vectors
#You need to set the size of your plot here, if you do it in LaTeX, 
#font consistency with the rest of the document will be lost
tikz(file = "plot_test.tex", width = 5, height = 5)
#Simple plot of the dummy data using LaTeX elements
plot <- ggplot(data, aes(x = x, y = y)) + 
    geom_line() +
    #Space does not appear after Latex
    ggtitle( paste("Fancy \\LaTeX ", "\\hspace{0.01cm} title")) +
    labs( x = "$x$ = Time", y = "$\\Phi$ = Innovation output") +
    theme_bw()
#This line is only necessary if you want to preview the plot right after compiling
print(plot)
#Necessary to close or the tikxDevice .tex file will not be written
dev.off()

我在Google或此处找不到有关该问题的讨论,因此我希望您能提供帮助。

您的LaTex文件未设置在库中。在我的情况下,是pdflatex文件。您可以添加pdftex、xetex或luatex文件

轻松尝试:

如果可能的话,试着重新安装你的库或latex,这应该是一种简单的清洁安装方法

手动设置变量

在Linux上:

我生成输出

"/usr/bin/pdflatex"
这是我到latex文件的路径,这是你的案例中缺少的。所以我们需要加上它

您可以使用终端中的命令检查Latex文件的位置:

whereis pdflatex
因此,如果您找到了文件的路径,请将其设置为:

options("tikzLatex"='/usr/bin/pdflatex')
窗口

我不是windows用户,所以我猜也是这样。Windows上查找文件的类似命令是
where
命令

设置变量应该是相同的。如果有人能证实这一点,那就太好了

编辑:Mason Malone在问题的评论中提供了windows解决方案

对于Windows用户,它的工作方式与Windows用户相同。打开Windows命令提示符(开始>键入“命令提示符”>enter)

键入以下内容:
其中pdflatex
复制它提供给您的文件路径,例如:
C:\Users\user1\AppData\Local\Programs\MiKTeX 2.9\MiKTeX\bin\x64\pdflatex.exe

在R中,键入以下内容:
options(“tikzLatex”=“C:/Users/user1/AppData/Local/Programs/MiKTeX 2.9/MiKTeX/bin/x64/pdflatex.exe”)


请注意,对于通过命令提示符给出的文件路径,它有反斜杠
,但在R中,我们必须键入前斜杠/

您的LaTex文件未在库中设置。在我的情况下,是pdflatex文件。您可以添加pdftex、xetex或luatex文件

轻松尝试:

如果可能的话,试着重新安装你的库或latex,这应该是一种简单的清洁安装方法

手动设置变量

在Linux上:

我生成输出

"/usr/bin/pdflatex"
这是我到latex文件的路径,这是你的案例中缺少的。所以我们需要加上它

您可以使用终端中的命令检查Latex文件的位置:

whereis pdflatex
因此,如果您找到了文件的路径,请将其设置为:

options("tikzLatex"='/usr/bin/pdflatex')
窗口

我不是windows用户,所以我猜也是这样。Windows上查找文件的类似命令是
where
命令

设置变量应该是相同的。如果有人能证实这一点,那就太好了

编辑:Mason Malone在问题的评论中提供了windows解决方案

对于Windows用户,它的工作方式与Windows用户相同。打开Windows命令提示符(开始>键入“命令提示符”>enter)

键入以下内容:
其中pdflatex
复制它提供给您的文件路径,例如:
C:\Users\user1\AppData\Local\Programs\MiKTeX 2.9\MiKTeX\bin\x64\pdflatex.exe

在R中,键入以下内容:
options(“tikzLatex”=“C:/Users/user1/AppData/Local/Programs/MiKTeX 2.9/MiKTeX/bin/x64/pdflatex.exe”)


请注意,对于通过命令提示符给出的文件路径,它有反斜杠
,但在R中,我们必须键入前斜杠/

这可能太晚了,但这里有一个更持久的系统范围解决方案

这是针对Linux的,但一般的想法也适用于Windows

错误的原因是R无法找到
pdflatex
的位置。通过将pdflatex的目录添加到
PATH
环境变量中,可以告诉R pdflatex在哪里。你必须以R能看到的方式来做

首先,找到pdflatex的安装目录。如果您不知道它在哪里,下面的命令将告诉您它在哪里

which pdflatex
在我的例子中,上面的命令给出了
/usr/local/texlive/2018/bin/x86_64-linux/pdflatex

现在我们必须将它添加到
PATH
环境变量中,以便任何想要执行pdflatex的程序(不仅仅是R)都可以找到它。我们可以通过更新
路径
让所有程序/用户看到来实现这一点。执行下面的命令来完成这个任务

echo "export PATH=\"\$PATH:<pdflatex directory>\"" | sudo tee /etc/profile.d/latex_path.sh
要使更改可用而无需注销并再次登录,请执行:

source /etc/profile.d/latex_path.sh
现在,任何程序或用户都可以使用pdflatex命令


您可能必须在R中重新安装
tikzDevice
,以更新其属性。

这可能为时已晚,但这里有一个更持久的系统范围解决方案

这是针对Linux的,但一般的想法也适用于Windows

错误的原因是R无法找到
pdflatex
的位置。通过将pdflatex的目录添加到
PATH
环境变量中,可以告诉R pdflatex在哪里。你必须以R能看到的方式来做

首先,找到pdflatex的安装目录。如果您不知道它在哪里,下面的命令将告诉您它在哪里

which pdflatex
在我的例子中,上面的命令给出了
/usr/local/texlive/2018/bin/x86_64-linux/pdflatex

现在我们必须将它添加到
PATH
环境变量中,以便任何想要执行pdflatex的程序(不仅仅是R)都可以找到它。我们可以通过更新
路径
让所有程序/用户看到来实现这一点。执行下面的命令来完成这个任务

echo "export PATH=\"\$PATH:<pdflatex directory>\"" | sudo tee /etc/profile.d/latex_path.sh
要使更改可用而无需注销并再次登录,请执行:

source /etc/profile.d/latex_path.sh
现在,任何程序或用户都可以使用pdflatex命令

你可以