楼主: oliyiyi
2852 1

kpathsea [推广有奖]

版主

已卖:2994份资源

泰斗

1%

还不是VIP/贵宾

-

TA的文库  其他...

计量文库

威望
7
论坛币
84105 个
通用积分
31671.0967
学术水平
1454 点
热心指数
1573 点
信用等级
1364 点
经验
384134 点
帖子
9629
精华
66
在线时间
5508 小时
注册时间
2007-5-21
最后登录
2025-7-8

初级学术勋章 初级热心勋章 初级信用勋章 中级信用勋章 中级学术勋章 中级热心勋章 高级热心勋章 高级学术勋章 高级信用勋章 特级热心勋章 特级学术勋章 特级信用勋章

楼主
oliyiyi 发表于 2014-11-20 19:13:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
TeX 发展了若干年,各种字体,宏包的数目已经非常地多了,比如你看现在的 CTeX 完整版安装完后就已经超过 1GB 大小了,而 TeXLive 光盘已经要使用 DVD 了。这么多的文件,各个 tex 编译程序如何找到它们就成了个大问题,总不能一个目录一个目录地搜索吧。
TeX 用户组织(TUG)发明了 Web2C/Kpathsea 系统,用于自个发布的 TeXLive 发行版。这个系统基本思路是:所有 tex 相关文件按照 TeX 目录结构标准(TDS)放在若干个 TEXMF 目录里面,然后所有 tex 程序比如 tex.exe,pdftex.exe,xetex.exe 在编译的时候如果需要寻找任何文件,都通过 kpathsea.dll 运行库查询文件所在的位置。当然,你也可以自己运行 kpsewhich.exe 程序手动查询某个文件所在的位置。
kpathsea 当然不会傻到一个目录目录的去查找文件,它是根据 tds 目录结构,按照文件的扩展名去相应的目录查找。比如你需要寻找 article.cls 文件,运行下列命令
kpsewhich article.cls时,kpathsea 发现这个文件是 latex 的文档类文件,所以只去各个 TEXMF 目录的 tex\latex 子目录里查找这个文件。然后返回文件所在的位置。

我们之前说 TEXMF 目录有不止一个,比如你打开 TeXLive 的安装目录,可以看到 texmf,texmf-dist,texmf-var 等等子目录,这些都是 TEXMF 目录。所以现在还得明白的是,kpathsea 怎么才能知道 TEXMF 目录都有哪些,分别在什么位置呢?实际上 kpathsea 运行的时候,首先要去寻找一个叫做 texmf.cnf 的文件,这个文件记录了各个 TEXMF 所在的位置。
那么,kpathsea 又要去哪些地方寻找 texmf.cnf 文件呢?在 kpathsea 中,以 $SELFAUTOLOC、$SELFAUTODIR 和 $SELFAUTOPARENT 变量分别表示 kpathsea 所在目录、kpathsea 所在目录的上一级目录和 kpathsea 所在目录的上两级目录。默认情况下, kpathsea 按照如下顺序查找 texmf.cnf 文件:
{$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}这种写法是 kpathsea 的简写,需要解释一下:花括号里面用逗号隔开的几个路径段表示要挨个试,括号与括号或者路径段放在一起表示两者连接起来组成新的路径;而特殊的是,括号内的最前或最后可能有一个逗号,这表示最前面或最后面有一个空路径段。这种简写法多半很雷人,那么我们把这个表示法的完整展开式按顺序写一下吧:
$SELFAUTOLOC;$SELFAUTODIR;$SELFAUTOPARENT;$SELFAUTOLOC/share/texmf-local/web2c;$SELFAUTODIR/share/texmf-local/web2c;$SELFAUTOPARENT/share/texmf-local/web2c;$SELFAUTOLOC/texmf-local/web2c;$SELFAUTODIR/texmf-local/web2c;$SELFAUTOPARENT/texmf-local/web2c;$SELFAUTOLOC/share/texmf/web2c;$SELFAUTODIR/share/texmf/web2c;$SELFAUTOPARENT/share/texmf/web2c;$SELFAUTOLOC/texmf/web2c;$SELFAUTODIR/texmf/web2c;$SELFAUTOPARENT/texmf/web2c;找到了 texmf.cnf 一切就都顺利了。最后,这些 TEXMF 所在的位置也可以通过环境变量设置,而且这样设置的优先级最高。
还有,CTeX 以及它所包含 MiKTeX 不使用 web2c/kpathsea 系统,TeXLive 和 W32TeX 使用。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Paths path HSE KPA Sea 完整版 扩展名 程序 光盘 如何

缺少币币的网友请访问有奖回帖集合
https://bbs.pinggu.org/thread-3990750-1-1.html

沙发
╰不滅信念 学生认证  发表于 2014-11-21 12:50:09
问下版主,论坛插入latex的时候怎么弄成行内的而不是行间的啊?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 18:04