有多少个 LaTeX 类和包(比如,在 CTAN 上)?

有多少个 LaTeX 类和包(比如,在 CTAN 上)?

嗯,这个问题很容易理解。(我正在写一个关于 LaTeX 的简短教程,想了解一些琐事 ;))。

答案1

TeX 直播

TeX Live 2012(2012-09-19)

$ egrep -c '\.sty$' ls-R
3381
$ egrep -c '\.cls$' ls-R
448
$ egrep -c '\.(sty|cls)$' texmf-dist/ls-R
3829

Windows 有findstr,但它有一些限制。例如,如果文件没有以行结束标记结尾,它就无法检测 Unix 行结束或最后一行的结束。

的等价物wc -lfind /c /v "",参见Windows 中“wc -l”的对应内容是什么?

> findstr /c:.sty ls-R | find /c /v ""
> findstr /c:.cls ls-R | find /c /v ""
> findstr /c:.sty /c:.cls ls-R | find /c /v ""

不同的方法:

$ find texmf-dist/tex/latex \( -name \*.sty -or -name \*.cls \) | wc -l
3148
$ find texmf-dist/tex/generic \( -name \*.sty -or -name \*.cls \) | wc -l
191
$ find texmf-dist/tex \( -name \*.sty -or -name \*.cls \) | wc -l
3500

视窗:

> (cd texmf-dist\tex\latex && dir /s /b *.sty *.cls | find /c /v "")
> (cd texmf-dist\tex\generic && dir /s /b *.sty *.cls | find /c /v "")
> (cd texmf-dist\tex\tex && dir /s /b *.sty *.cls | find /c /v "")

但:

  • 误报:.sty/.cls不是 LaTeX 包或类的文件。
  • 有些软件包将其工作划分为更小的单元(模块tikz,...),这些单元正式为 LaTeX 软件包。
  • TeX Live 仅包含免费包和类的子集。

TeX 目录

2012-09-19

$ find catalogue/entries/ -exec grep -l '/macros/latex' {} \; | wc -l
2154

视窗:

> dir /s /b catalogue\entries | findstr /m /f:/ /c:/macros/latex | find /c /v ""

但:

  • CTAN 中的所有软件包并非都在目录中。
  • 外面有包CTAN:macros/latex/(例如pgf)或者可以以不同格式使用的包。
  • 一个目录条目可能包含多个包和类。
  • 误报:驱动文件和其他东西(例如pdftex-def)。

答案2

在完整的 MiKTeX 安装中:

$ find . | grep '\.sty' | wc -l
3498
$ find . | grep '\.cls' | wc -l
349

因此大约有 3500 个样式文件和大约 350 个类文件。

答案3

MiKTeX 包管理器目前至少有 2371 个包。

相关内容