使 TexLive 安装正常运行

使 TexLive 安装正常运行

在里面启动板网站提到存储库中的版本已经过时了(甚至在即将于 10 月发布的版本中也已经过时了两年)。我尝试安装 TeXLive 2011(在 Ubuntu 中),并成功执行了所有说明在链接的博客中给出。

但是,当我制作一个包含标题的 tex 文件时

\usetikzlibrary{calc,through, intersections,decorations.text}

我认为它无法加载包。我收到错误消息

! I can't find file `tikzlibrary'.

我想知道这可能是因为上述博客中的最​​后声明

应该就是这样。请记住,ktikz 需要加载您要使用的 PGF 包。对我来说,常见的加载方式如下:

\usetikzlibrary{calc,through, intersections,decorations.text, decorations.pathreplacing}

我不太明白这是什么意思,所以我猜想他的意思是像往常一样将其作为标题添加到 latex 文件中。显然,事实并非如此。

有人能告诉我如何安装吗?如何加载我想要使用的软件包?

附加信息:我将以下文件添加到我的 .bashrc(甚至 .profile)中

cat >> ./.bashrc << "EOF"
PATH= /usr/local/texlive/2011/bin/x86_64-linux/:$PATH
export PATH MANPATH=/usr/local/texlive/2011/bin/x86_64-linux/:$MANPATH
INFOPATH=/usr/local/texlive/2011/bin/x86_64-linux/:$INFOPATH 
export MANPATH export INFOPATH
EOF

当我这样做which pdflatex/usr/bin/pdflatex它应该告诉我类似/usr/local/texlive/2011/bin/x86_64-linux/pdflatex


免责声明:此代码不是我的。我只是在测试 TikZ 是否有效。

\usepackage{tikz}


\usetikzlibrary{calc,through, intersections,decorations.text}


\begin{tikzpicture} [scale=3]
\def\myangle{117};
\clip (-1.5,-1.5) rectangle (1.5,1.5);
\coordinate (A) at (0,0);
\coordinate (B) at (1,0);
\node [blue, name path=blue_circle,draw,circle through=(B)] at (A) {};
\draw [black, fill] (A) circle (1pt) node [below] {\tiny centre};
\draw [red, dashed] (A) -- (B);
\path [name path=radius, rotate=\myangle] (A) -- ++(1.5,0);
\draw [red, ->] ($(A)+(0.5,0)$) arc (0:\myangle:0.5cm);
\path [decorate,decoration={raise=-5pt, text along path, text={|\tiny|angle ||}, text align=center, text color=red, reverse path}](0.5,0) arc (0:\myangle:0.5cm);
\draw [name intersections={of=blue_circle and radius, by=C}] [orange, ->] (A) --  (C) node [pos=0.7, sloped, above] {\tiny radius};

\end{tikzpicture}

答案1

yayu,我对 Ubuntu 上 TexLive 的糟糕状况和你一样感到沮丧。强迫人们使用 Google 寻找解决方案,而不是依靠 Ubuntu 及时维护他们的软件包,错误是不可避免的。就我而言,类似的问题是由于我的 TeX 树没有安装在正确的位置而引起的。我选择了“便携式”安装,希望系统询问我想在哪里安装它。然而,这从未发生过。为什么?我不知道。我按照 Andrew Stacey 的建议尝试安装非便携式版本。我这样做了,现在它在你的示例和我检查过的其他一些示例上运行良好。也许这也解释了你的问题。

我被告知要先确保我的 umask 为 022。TL2011 文档提到要确保它“足够宽松,例如 umask 002”。我发现 Ubuntu 默认是 umask 022,所以没什么可改变的。我执行了“sudo texhash”只是为了确保信息是最新的。

最后的挑战是关于更改 PATH/MANPATH。TL2011 文档告诉您“要编辑的文件可能是 $HOME/.profile”。您又得靠自己了,所以我用 Google 搜索,找到了各种相互矛盾的信息,做了一些更改,但都不起作用。我仍然不知道问题出在哪里,但我发现 TeXworks 允许我专门配置路径。启动 TeXworks,转到“编辑”选项卡,选择“首选项”,在“排版”选项卡下,您可以使用“+”键指定 TeX 树的路径。我使用“-”键删除其他选项。对我来说,这意味着添加,/usr/local/texlive/2011/bin/x86_64-linux但由于我使用的是 64 位机器,所以最后一项可能有所不同。使用 TeXworks 运行 TL2011,其他编辑器运行 TL2009。这不是一个完整的解决方案,但我很高兴。我会寻找一个能够更好地保持 TeX 包最新的发行版。

如何在 Ubuntu 上安装软件包?应该通过 Synaptic 软件包管理器,但由于“当前”的 Ubuntu 软件包太过时了,这不是你想要的。第二个选项是软件包管理器 tlmgr,如果你能找到一些方法将它安装到 Ubuntu 上。第三个选项是手动安装软件包,这意味着将文件下载到你的电脑上,然后将它们(通过 sudo 命令)移动到 TeX 树的适当区域,并使用 texhash 命令更新 TeX 树。真是头疼!我会让你自己去 Google 寻找那些烦人的细节,不过我会指出一个有用的链接,用于将样式文件安装到 Ubuntu这里。安装 TeXLive 2011 可以/usr/local绕过 Ubuntu 并为您提供一个相当最新的系统。

答案2

  1. 从 Ubuntu 存储库卸载 TeXlive:

    sudo apt-get remove texlive

    sudo apt-get autoremove

  2. 安装一个虚拟包,这样 Ubuntu 就不会再尝试安装 TeXlive。参见http://www.tug.org/texlive/debian.html#vanilla(“Debian 上的 Vanilla TeX Live”)

  3. 确保已安装 perl-tk 和 perl-doc:

    sudo apt-get install perl-tk perl-doc

  4. 无需修改 .bashrc 或其他任何内容。启动 TeXlive 管理器 GUI(使用cd /usr/local/texlive/2011/bin/x86_64-linuxsudo tlmgr --gui)时,您可以将符号链接设置为/usr/local/bin/usr/bin

  5. 查看是否使用正确的 TeXlive 安装

    pdflatex

    应该打印类似This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)

答案3

正如 Andrew 在他的评论中所述,如果用户的 PATH 环境正确,TeX Live 2011 应该无需卸载 Ubuntu 软件包即可运行。

如果你env在命令提示符下运行,其输出将包含你当前的 PATH。TeX Live 2011 安装的路径必须在 之前 /usr/bin。例如,我的路径是“ PATH=/home/mas/texlive/2011/bin/x86_64-linux:/home/mas/bin:/usr/local/sbin:/usr/local/bin: ..。”(我将 TeX Live 2011 安装在我自己的用户目录中,而不是 下/usr/local),我可以运行上述示例而不会出现错误。如果/usr/bin在 TeX Live 路径之前,我会得到与您相同的错误。

进一步检查是使用which命令。例如,再次使用我自己的一台机器:

mas@ents:~$ which tlmgr
/home/mas/texlive/2011/bin/x86_64-linux/tlmgr
mas@ents:~$ which pdftex
/home/mas/texlive/2011/bin/x86_64-linux/pdftex

但有些工具位于其他目录中:

mas@ents:~$ which texworks
/usr/bin/texworks
mas@ents:~$ which LaTeXTidy
/home/mas/bin/LaTeXTidy

最后,Alex 在他的回答中建议进行测试:

mas@ents:~$ pdftex
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
 restricted \write18 enabled.
**^C
mas@ents:~$ 

仅供参考,我的 .profile 末尾添加的行是:

PATH=/home/mas/texlive/2011/bin/x86_64-linux:$PATH; export PATH
MANPATH=/home/mas/texlive/2011/doc/man:$MANPATH; export MANPATH
INFOPATH=/home/mas/texlive/2011/doc/info:$INFOPATH; export INFOPATH

但这些当然特定于我安装 TeX Live 2011 的位置和机器的架构。

您还需要检查您使用的任何 IDE 或其他工具在其配置中是否设置了适当的路径。例如,TeXworks 已在内部配置了要使用的路径,请参阅编辑->首选项->排版。

答案4

我写了 yayu 一直试图遵循的说明和代码。总的来说,我完全不知道自己在做什么。

好呀,正如许多比我聪明的人所指出的那样,你需要将 texlive PATH 放在 %PATH 的开头。我编写的用于编辑 .bashrc 文件的命令应该可以实现这一点,但是查看你上面粘贴的文本,发现有些地方出了问题:

export PATH MANPATH=/usr/local/texlive/2011/bin/x86_64-linux/:$MANPATH

这应该是两行。第一个 PATH 后应该有一个换行符。因此它应该看起来像这样:

export PATH
MANPATH=/usr/local/texlive/2011/bin/x86_64-linux/:$MANPATH

这些命令的作用是获取系统变量 PATH 并重置它。然后,“export”命令将更改后的变量转储回整个系统。问题是这两个命令混在一起了,所以它们可能不起作用。

命令看起来应该像这样:

cat >> ~/.bashrc << "EOF"
PATH= /usr/local/texlive/2011/bin/x86_64-linux/:$PATH
export PATH
MANPATH=/usr/local/texlive/2011/bin/x86_64-linux/:$MANPATH
INFOPATH=/usr/local/texlive/2011/bin/x86_64-linux/:$INFOPATH 
export MANPATH
export INFOPATH
EOF

正如我在博客中所说的那样,我在执行此操作时仍然存在与 PATH 相关的问题。如果我从终端运行命令,它会正常工作,但如果我从图标运行它们,它就会再次丢失。

如果你记得跑

source ~/.bashrc

那么它无需重新启动就可以工作。

相关内容