mhelvens / latex-pkgloader Goto Github PK
View Code? Open in Web Editor NEWa LaTeX package for managing the options and loading order of other packages
License: LaTeX Project Public License v1.3c
a LaTeX package for managing the options and loading order of other packages
License: LaTeX Project Public License v1.3c
When trying to run pkgloader, I get the error message, "File 'l3prop.sty' not found. \RequirePackage"
The *.sty file indeed is not on my hard drive, only the *.dtx file.
Note that I'm using TexLive 2014 pre-release.
According to
https://www.tug.org/pipermail/latex3-commits/2016-August/001050.html
\cs_new:Nn now checks that the function it defines has only 'n' or 'N' in the signature.
This breaks pkgloader.sty when trying to define __pkgloader_strip_extension:f
This is fixed by using \cs_new:Npn instead.
I am using TL2018 with the latest LuaTeX. I am getting lots of errors
(Package l3regex) This package is obsolete --- use 'expl3' instead
Undefined control sequence setmainfont
etc. Is there a way to fix these?
It would be nice to be able to output the loading order of packages to the document or an external file. This way one could avoid to so sort the packages on each run.
Trying to typeset the following throws multiple errors.
\RequirePackage{pkgloader}
\documentclass{article}
\usepackage{algorithm}
\usepackage{hyperref}
\usepackage{float}
\LoadPackagesNow
\begin{document}
\end{document}
Here is the log.
Hi,
even though I find the idea of this project intriguing, I do not want to trust the automatic loading order. What I would like to have is a warning like:
Package Order Warning: hyperref should be loaded BEFORE amsrefs
Since you are already maintaining a (structured) list of dependencies it should be fairly easy to do this? I would be happy to help even though I currently have not a lot of time.
In our computer science template, we not only load packages, but also configure them after loading.
Example:
%for theorems, replacement for amsthm
\usepackage[amsmath,hyperref]{ntheorem}
\theorempreskipamount 2ex plus1ex minus0.5ex
\theorempostskipamount 2ex plus1ex minus0.5ex
\theoremstyle{break}
\newtheorem{definition}{Definition}[section]
When directly using \RequirePackage{pkgloader}
, these commands fail as the package does not get loaded immediatly.
One possiblity is to use \LoadPackagesNow
and issue all configurations afterwards. The drawback is that the usepackage
commands and the configurations are then split away. My goal is to keep them together.
Therefore, I'd like to have a \ExecuteAfterPackageLoaded
environment, which executes the nested commands directly after the given package is loaded.
Example:
\begin{ExecuteAfterPackageLoaded}[ntheroem]
\theorempreskipamount 2ex plus1ex minus0.5ex
\theorempostskipamount 2ex plus1ex minus0.5ex
\theoremstyle{break}
\newtheorem{definition}{Definition}[section]
\end{ExecuteAfterPackageLoaded}
The following MCE:
\RequirePackage{pkgloader}
\documentclass{article}
\usepackage{cleveref}
\usepackage{hyperref}
\LoadPackagesNow
\begin{document}
Foo.
\end{document}
points out some (recent, I guess) troubles:
l3regex
is obsolete and has been removed!nncn
invalid for base form \int_step_inline:nnnn
.cn
invalid for base form \withargs:nnn
.cn
invalid for base form \withargs:nnnn
.fixltx2e
is not required with releases after 2015.article
, but the document class providesarticle
.hyperref
, but the package provides hyperref
.cleveref
, but the package provides cleveref
.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.