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/>