【问题标题】:Rstudio-server on RHEL 6.5 pandoc error ifluatex.sty not found未找到 RHEL 6.5 pandoc 上的 Rstudio-server 错误 ifluatex.sty
【发布时间】:2014-09-28 15:51:28
【问题描述】:

操作系统:RHEL 6.5 x64
Rstudio-server 版本 0.98.1062
R 版本 3.1.1 (2014-07-10)
knitr 1.6 版

在尝试编写 Rmarkdown 文件时,我在编译的 pandoc 阶段遇到了错误:

pandoc: Error producing PDF from TeX source.
! LaTeX Error: File 'ifluatex.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name: 
! Emergency stop.

尝试了(9 小时)完整的手动 LiveTeX 安装,只是为了确定,现在已安装 luatex,但仍然找不到 ifluatex.sty。如何告诉 RStudioServer/knitr/pandoc 该文件的安装目录在哪里?

【问题讨论】:

    标签: r knitr pandoc rstudio-server rhel6


    【解决方案1】:

    对于那些不想将非打包文件安装到 /usr 的人来说,这里是 quick'n'dirty rpm 规范文件。

        Name: texlive-rstudio-addon-el6
        Version: 0.1
        Release:        1%{?dist}
        Summary: addon stylesheets for Rstudio pandoc
        Group:  Publishing
        License: LPPL1.3c+
        URL: http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
        Source0: http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifluatex.dtx
        Source1: http://mirrors.ctan.org/macros/latex/contrib/framed.zip
        BuildRequires:  texlive
        BuildRequires:  texlive-texmf
        BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
        BuildArch:      noarch
    
    
        %description
        Couple styles addons which are required by RStudio pandoc when processing Rmarkdown documents
    
        %prep
        %setup -q -c -T
        cat %{SOURCE0} > ifluatex.dtx
        unzip %{SOURCE1}
    
        %build
    
        %install
        rm -rf %{buildroot} && mkdir -p %{buildroot}
        tex ifluatex.dtx
        mkdir -p %{buildroot}/%{_texmf_main}/tex/generic/oberdiek
        mkdir -p %{buildroot}/%{_texmf_main}/tex/latex/
        cp ifluatex.sty %{buildroot}/%{_texmf_main}/tex/generic/oberdiek
        cp -a framed %{buildroot}/%{_texmf_main}/tex/latex/
    
        %clean
        rm -rf %{buildroot}
    
        %post
        [ -x %{_bindir}/texconfig-sys ] && %{_bindir}/texconfig-sys rehash 2> /dev/null
    
    
        %files
        %defattr(-,root,root)
        %{_texmf_main}/tex/generic/oberdiek/ifluatex.sty
        %{_texmf_main}/tex/latex/framed/*
    
        %doc
        %changelog
    

    【讨论】:

      【解决方案2】:

      对于我的修复,需要 root 并且需要更新 ifluatex 和框架文件权限。

      【讨论】:

        【解决方案3】:

        非常感谢Homer White's blog 让我朝着正确的方向前进。我或多或少地逐字发布他的答案,并对 RHEL 6.5 和 2014 LiveTex 进行了少量修改。

        即使完全手动安装也没有解决问题。按照 Homer 的建议,我从互联网上下载了 ifluatex.sty 的副本 您可以通过directly 或通过 CTAN 存档中的 wget 获取它。

        wget http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifluatex.dtx
        tex ifluatex.dtx
        

        将生成的文件复制到 LaTeX 发行版的共享文件夹中。在通过 install-tl 安装的 2014 LiveTex 发行版的 RHEL 6/CentOS 中,这是:

        /usr/share/texmf/tex/generic/oberdiek
        

        很简单,对吧?下一步是获取framed 包:

        wget http://mirrors.ctan.org/macros/latex/contrib/framed.zip
        unzip framed.zip 
        

        这应该在下载位置创建一个文件夹。现在将整个文件夹复制到 LaTeX 的 Shared LiveTeX 文件夹:

        /usr/share/texmf/tex/latex
        

        最后,让 LiveTeX 知道它应该通过运行来更新它的库

        texhash
        

        PS:请注意,我有 root 访问权限。您可能也需要它,如果您是轮子用户,请以 sudo 为前缀。

        【讨论】:

        • 这个解决方案非常适合我。但是,正如@Suber 在另一个答案中提到的那样,我必须在ifluatex.dtx 上设置权限。它需要被其他人阅读。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-29
        相关资源
        最近更新 更多