Comments (6)
Per your XeTeX reference, it looks like \shellescape
should be used if we're running XeTeX.
from hardwrap.
How strict do you need to be about requiring supplementary packages? We could use the pdftexcmds to provide a wrapper for these, or we could do the more complex
\@ifpackageloaded{pdftexcmds}{\RequirePackage{pdftexcmds}}{%
% emulate pdftexcmds's wrapper for \pdfshellescape
}
(If we're going to those efforts, we should also add code for the existence of \shellescape
and \pdfshellescape
in the first place, although I think the latter has been around for long enough we'dn't need to for it.)
What do you think?
from hardwrap.
If pdftexcmds
is a fairly standard package (that is, it's supplied in all the major distributions) and it's contemporary to the versions of the distributions our package will appear in, then I see no reason not to use it.
I'm typically all for using existing packages when possible. The only downsides I've seen are that there are sometimes compatibility issues between packages and I've run into problems with requiring packages that are in newer distributions. (Apparently many people install LaTeX once and never update their packages.)
It looks like the pdftexcmds
package requires Lua, though. Am I understanding that correctly? If so, it might be best to either check for the existence of the \shellescape
primitive or use ifxetex
.
Thoughts?
from hardwrap.
If
pdftexcmds
is a fairly standard package (that is, it's supplied in all the major distributions) and it's contemporary to the versions of the distributions our package will appear in, then I see no reason not to use it.
Hmmm, it's probably in that class of packages for which users would need to upgrade their packages to some extent (Heiko's stuff can be relatively bleeding-edge and interdependent.)
It looks like the
pdftexcmds
package requires Lua, though. Am I understanding that correctly?
Not quite -- it uses Lua to emulate certain pdftex primitives when running under LuaTeX, but when running under XeTeX it simply provides a consistent interface to the commands that are shared between the engines.
Perhaps we can start with using the package and then add in compatibility for older distribution if/when we feel it's necessary.
from hardwrap.
That sounds like a good idea, then. We'll take the easy route first and write more code later if we actually need to.
from hardwrap.
fix xetex and luatex compilation
I thought XeTeX used input pipes as well, but I
was wrong; simply bypass the kpsewhich query when
not using pdfTeX
Closed by 9b745c6
from hardwrap.
Related Issues (18)
- Spaces are collapsed HOT 1
- Should the generate macro be renamed? HOT 2
- Add 'make test' target to run tests HOT 3
- Braced material is kinda broken HOT 5
- Error messages fall into infinite loop HOT 1
- \GenerateLogMacros{expl3}
- Message cannot end with newline HOT 1
- \ifwindows
- Nitpicking
- Indentation
- Filtering out "bad" commands HOT 3
- Should manual newlines be disallowed? HOT 1
- Replace `\PackageError`, etc., entirely HOT 4
- Infinite loop if <text> arg of \hardwrap ends in a space HOT 1
- Passing \noexpand\macroname to \pkg@warning fails HOT 3
- \pkg@error{x}{x} prints '\MessageBreak x' HOT 6
- `\pkg@warning{\protect\LaTeX}` emits `\protect\LaTeX` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hardwrap.