Joseph Wright <[log in to unmask]> writes:
> Hello all,
>
> I'm currently looking over expl3 as a whole, and examining what is
> useful and what is there for historical reasons. One thing that would be
> very handy is an idea of where expl3 is being used. I know about my own
> packages (siunitx and noets2bib), fontspec and xfrac, and of course the
> higher-level LaTeX3 stuff. However, what would be handy would be a more
> complete list.
I hacked a little perl script which recursively looked up dependencies
(see below). It is not perfect, since I only look at one line at a
time, but I do catch \usepackage/\RequirePackage lines where several
package names are given as a comma-separated list, and also if the
package name is surrounded by whitespace. The regexp is essentially
(usepackage|RequirePackage).*\b(long |-separated string)\b
The l3names should probably count as a false positive, but I don't
think it's being used by other than the other l3-modules.
I only looked at .sty files. With a little work, one could also catch
.tex files, and files being included via input (and InputIfFileExists
and ...).
Of course, if A depends on B, and B depends on C, it may be that
changing C does not affect A at all, because the subset of B it relies
on does not rely on C.
== Output ==
Recursively dependent on ./expl3/expl3.sty:
./expl3/expl3.sty
./gmverb/gmverb.sty
./expl3/l3keyval.sty
./notes2bib/notes2bib.sty
./gmutils/gmurl.sty
./expl3/l3seq.sty
./expl3/l3skip.sty
./gmutils/gmtypos.sty
./unicode-math/unicode-math.sty
./xpackages/xbase/xparse.sty
./xpackages/xcoffins/xcoffins.sty
./libertine/libertine.sty
./gmutils/gmcommand.sty
./xpackages/xtras/l3keys2e.sty
./randomwalk/randomwalk.sty
./gmutils/gmnotonlypream.sty
./libertine/libertinekey.sty
./expl3/l3quark.sty
./expl3/l3precom.sty
./tucv/tucv.sty
./xpackages/xcoffins/l3coffins.sty
./xpackages/xbase/xtemplate.sty
./xpackages/xhead/xhead.sty
./gmutils/gmampulex.sty
./xltxtra/xltxtra.sty
./libertine/libertinelist.sty
./expl3/l3token.sty
./metalogo/metalogo.sty
./expl3/l3keys.sty
./expl3/l3fp.sty
./gmdoc/gmdoc.sty
./expl3/l3luatex.sty
./expl3/l3basics.sty
./xpackages/xbase/ldcsetup.sty
./expl3/l3prop.sty
./expl3/l3calc.sty
./siunitx/siunitx.sty
./libertine/libertinelogo.sty
./expl3/l3expan.sty
./realscripts/realscripts.sty
./circuitikz/circuitikz.sty
./gmutils/gmparts.sty
./expl3/l3int.sty
./expl3/l3box.sty
./gmutils/gmmeta.sty
./expl3/l3toks.sty
./chemstyle/chemstyle.sty
./expl3/l3io.sty
./expl3/l3chk.sty
./fontspec/fontspec.sty
./mh/xfrac.sty
./expl3/l3prg.sty
./expl3/l3file.sty
./mh/flexisym.sty
./gmdoc-enhance/gmdoc-enhance.sty
./expl3/l3msg.sty
./expl3/l3num.sty
./expl3/l3tl.sty
./expl3/l3xref.sty
./gmutils/gmenvir.sty
./mh/breqn.sty
./gmutils/gmmw.sty
./expl3/l3clist.sty
./xpackages/xbase/template.sty
./libertine/libertinecomp.sty
./expl3/l3names.sty
Reasons:
./expl3/expl3.sty added to list because of
blabla
Level 1 dependencies:
./unicode-math/unicode-math.sty added to list because of
\RequirePackage{expl3}[2009/08/12]
./xpackages/xbase/xparse.sty added to list because of
\RequirePackage{expl3}
./xpackages/xcoffins/xcoffins.sty added to list because of
\RequirePackage{expl3}
./randomwalk/randomwalk.sty added to list because of
\RequirePackage{expl3}
./xpackages/xcoffins/l3coffins.sty added to list because of
\RequirePackage{expl3}
./xpackages/xbase/xtemplate.sty added to list because of
\RequirePackage{expl3}
./xpackages/xhead/xhead.sty added to list because of
\RequirePackage{expl3}
\RequirePackage{expl3,xtemplate}
./xpackages/xbase/ldcsetup.sty added to list because of
\RequirePackage{expl3}
\RequirePackage{expl3}
./siunitx/siunitx.sty added to list because of
\RequirePackage{expl3}
./fontspec/fontspec.sty added to list because of
\RequirePackage{expl3,xparse}
./mh/xfrac.sty added to list because of
\RequirePackage{expl3}[2009/08/05]
./mh/flexisym.sty added to list because of
\RequirePackage{expl3}[2009/08/05]
./mh/breqn.sty added to list because of
\RequirePackage{expl3}[2009/08/05]
./xpackages/xbase/template.sty added to list because of
\RequirePackage{expl3}
\RequirePackage{expl3}
./expl3/l3names.sty added to list because of
please~\protect\usepackage{expl3}~instead.
Level 2 dependencies:
./expl3/l3keyval.sty added to list because of
\RequirePackage{l3names}
./notes2bib/notes2bib.sty added to list because of
\RequirePackage{xparse}
./expl3/l3seq.sty added to list because of
\RequirePackage{l3names}
./expl3/l3skip.sty added to list because of
\RequirePackage{l3names}
./xpackages/xtras/l3keys2e.sty added to list because of
\RequirePackage{l3names}
\RequirePackage { xparse }
./expl3/l3quark.sty added to list because of
\RequirePackage{l3names}
./expl3/l3precom.sty added to list because of
\RequirePackage{l3names}
./tucv/tucv.sty added to list because of
\RequirePackage{xparse}
./xltxtra/xltxtra.sty added to list because of
\RequirePackage{fontspec}[2010/05/14 v2.0]
\RequirePackage{fontspec}[2010/05/14 v2.0]
./expl3/l3token.sty added to list because of
\RequirePackage{l3names}
./metalogo/metalogo.sty added to list because of
\RequirePackage{fontspec}[2008/08/09]
./expl3/l3keys.sty added to list because of
\RequirePackage{l3names}
./expl3/l3fp.sty added to list because of
\RequirePackage{l3names}
./expl3/l3luatex.sty added to list because of
\RequirePackage{l3names}
./expl3/l3basics.sty added to list because of
\RequirePackage{l3names}
./expl3/l3prop.sty added to list because of
\RequirePackage{l3names}
./expl3/l3calc.sty added to list because of
\RequirePackage{l3names}
./expl3/l3expan.sty added to list because of
\RequirePackage{l3names}
./realscripts/realscripts.sty added to list because of
\RequirePackage{fontspec}
./circuitikz/circuitikz.sty added to list because of
\RequirePackage{siunitx}
./expl3/l3int.sty added to list because of
\RequirePackage{l3names}
./expl3/l3box.sty added to list because of
\RequirePackage{l3names}
./expl3/l3toks.sty added to list because of
\RequirePackage{l3names}
./chemstyle/chemstyle.sty added to list because of
\RequirePackage{siunitx}
./expl3/l3io.sty added to list because of
\RequirePackage{l3names}
./expl3/l3chk.sty added to list because of
\RequirePackage{l3names}
./expl3/l3prg.sty added to list because of
\RequirePackage{l3names}
./expl3/l3file.sty added to list because of
\RequirePackage{l3names}
./expl3/l3msg.sty added to list because of
\RequirePackage{l3names}
./expl3/l3num.sty added to list because of
\RequirePackage{l3names}
./expl3/l3tl.sty added to list because of
\RequirePackage{l3names}
./expl3/l3xref.sty added to list because of
\RequirePackage{l3names}
./expl3/l3clist.sty added to list because of
\RequirePackage{l3names}
Level 3 dependencies:
./libertine/libertine.sty added to list because of
\RequirePackage{xltxtra}
./gmutils/gmcommand.sty added to list because of
\RequirePackage{xltxtra}% since v 0.4 (2008/07/29) this package
Level 4 dependencies:
./gmverb/gmverb.sty added to list because of
\RequirePackage{gmcommand}[2010/06/20]
./gmutils/gmurl.sty added to list because of
\RequirePackage{gmcommand}
./gmutils/gmtypos.sty added to list because of
\RequirePackage{gmcommand, gmnotonlypream}
./libertine/libertinekey.sty added to list because of
\RequirePackage{libertine}
./gmutils/gmampulex.sty added to list because of
\RequirePackage{gmcommand}
./libertine/libertinelist.sty added to list because of
\RequirePackage{libertine}
./libertine/libertinelogo.sty added to list because of
\RequirePackage{libertine}
./gmutils/gmparts.sty added to list because of
\RequirePackage{gmcommand}
./gmutils/gmmeta.sty added to list because of
\RequirePackage{gmcommand}
./gmutils/gmmw.sty added to list because of
\RequirePackage{gmcommand}
./libertine/libertinecomp.sty added to list because of
\RequirePackage{libertine,ifthen}
Level 5 dependencies:
./gmutils/gmnotonlypream.sty added to list because of
\RequirePackage{gmampulex}
./gmdoc/gmdoc.sty added to list because of
\RequirePackage{gmverb}[2010/08/12]
./gmutils/gmenvir.sty added to list because of
\RequirePackage{gmbase, gmampulex} % the low-level macros
Level 6 dependencies:
./gmdoc-enhance/gmdoc-enhance.sty added to list because of
\RequirePackage{gmdoc}[2008/10/04]%
== End of output ==
--
Rasmus Villemoes
<http://rasmusvillemoes.dk/>
|