![在 Mac 上更新后 TeXstudio 未找到软件包](https://linux22.com/image/406206/%E5%9C%A8%20Mac%20%E4%B8%8A%E6%9B%B4%E6%96%B0%E5%90%8E%20TeXstudio%20%E6%9C%AA%E6%89%BE%E5%88%B0%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我刚刚在 Mac Catalina 上更新到最新的 TeXstudio 版本 2.12.18。在此之前,我的文件运行良好。现在,当我在 TeXstudio 中打开我的 TeX 文件时,大多数\usepackage{}
命令都能被识别,但是有些包带有下划线,当鼠标悬停在上面时会显示“包‘未找到’”——特别是xcolor
和parskip
。当我尝试运行该文件时,它会停止并显示错误
未找到文件“xcolor.sty”。^^M
我已将 TeX Live 更新到 2019 版,并将所有 TeX Live 软件包更新到最新版本(软件包列表实际上显示已安装所述“缺失”软件包)。我还转到 TeXstudio 首选项并将“构建选项”中的路径链接到 TeX Live 2019 文件夹(/usr/local/texlive/2019/bin/x86_64-darwin
)。之前它有 2012,所以我刚刚将路径更新为 2019。
我没有安装 MiKTeX(因此我预计 TeXstudio 应该会被 TeX Live 自动检测到)。从终端检查:tex --version
提供输出:TeX 3.14159265 (TeX Live 2019)
。
不确定为什么软件包显示为缺失。我可以看到在线帮助支持,解释了为什么软件包被突出显示为缺失:https://sourceforge.net/p/texstudio/wiki/Frequently%20Asked%20Questions/#texlive但我无法确定 TeXstudio 可以做什么来找到它。链接指出“我们使用 kpsewhich --show-path ls-R 确定 tex 文件数据库并解析其内容。”我在终端中运行了该命令,路径对我来说是:/Library/TinyTeX/texmf-var
。我真的不明白这是否是正确的指向位置。我本以为它应该指向我所有软件包所在的 TeX Live?
我提供了下面可运行的代码示例,但如果您取消注释以下两行中的任何一行,它都不会运行:
\documentclass{article}
\usepackage{hyperref}
\usepackage{ifthen} % Required for ifthenelse statements
\usepackage{array} % Required for boldface (\bf and \bfseries) tabular columns
% \usepackage[dvipsnames]{xcolor}
% \usepackage[parfill]{parskip} % Remove paragraph indentation
\begin{document}
First document. This is a simple example, with no
extra parameters or packages included.
\end{document}
有人可以解释一下如何运行我的代码吗?
答案1
对于那些被这个问题困扰的人,我找到了解决方案(在 Mac 上)。
TinyTex 不是 Tex Live 原始下载版本的一部分(而是一个替代选项,它占用的下载空间不像主 Tex Live 版本那么多)。对我来说,TinyTex 是在运行我的合作者在 RStudio 中的代码时下载的,因此我无意中将其作为 R 包下载到我的电脑上。似乎它随后被 TexStudio 自动检测为首选默认值。
解决该问题的方法: - 从应用程序列表中删除 Tiny Tex 并将其卸载。 - 重启电脑。 - TexStudio 现在会自动设置确定 tex 文件数据库的路径为:{/usr/local/texlive/2019/texmf-dist}(使用终端中的以下命令检查):{kpsewhich --show-path ls-R}
感谢所有提供帮助和建议的人,这促使我尝试各种选择并找到解决方案。