Handling PDFlatex compatibility #956
Replies: 8 comments
-
Hey @appetrosyan, I find your proposal interesting, may this best suited for Discussions? 🚀 |
Beta Was this translation helpful? Give feedback.
-
I'd like to. At the very least we might end up with a thread with all of the incompatibilities. |
Beta Was this translation helpful? Give feedback.
-
I really like the points you bring up so thank you 💯 First, I'll outline what I believe the main roadblocks are and then I'll go about engines and their usages. It's true that some people that find issues to prevent adoption tectonic mostly lie in ~4 distinct camps:
BackgroundTeX Live is convenient. It's packaged in a way that things play nice with each other, even those that were designed with quirks. It has a built-in package manager, distribution environment variables and rolling out a different. Tectonic is not a small project to undertake, but the resources available are limited. Most contributions come from @pkgw and he needs to prioritise what to focus on. The TeX ecosystem finds itself on a very interesting situation. It brings so many different users together. For me, pdfTeX is ancient and extremely limiting at best. Meanwhile, people at arXiv live and die for the former. Others, keep pdfTeX and XeTeX around for compatibility, those documents that only compile correctly with them. From time to time, there are also rendering differences between the engines. Finally, new users are drawn to newer engines (LuaTeX) and tools like (tectonic) for the important aspects they bring. I personally do love other engines so I relate to the sentiment of having something as tectonic to be compatible with those same engines. I love LuaTeX, is my go-to for everything and the only engine actively maintained, other than tectonic. I do also love and use tectonic/XeTeX for more limited work, since I find the former output more polished typesetting than the later. pdfLaTeX seems very limited to me except for basic functionality, but for that it's fast and awesome. There have been other attempts to alleviate the complexities of building a LaTeX document (e.g., Moving forwardAs for incompatibilities go I don't recall what was the best thread but this one comes to mind. Secretly, I've been waiting until something like Tectonic exists and it's a gem. It's not a pdfLaTeX or a LuaTeX compatible engine, but I use it whenever I can: the tradeoffs are worth it for how amazing it is. I believe Tectonic's edge really is UX and reproducible builds, the more we can help making things work to bring people in, and the more we sharpen that edge the more people will love it. Yes, TeX Live is convenient. Rolling a separate engine with its own bundle will bring out those quirks, that need to be fixed on a request, by hand, basis; but it also lays a series of exciting challenges in the pursue for better UX ⚡️ |
Beta Was this translation helpful? Give feedback.
-
I think it's worthwhile to outline a few solutions and stop-gap hacks which I think would be useful.
In most cases like with e.g. Just knowing which ones don't work would have helped. But if we know which specific macros and in which option combinations fail on XeLaTeX, we can do more. Sometimes, one does not need an exact reproduction of the final paper: it's enough to produce the text with some accuracy, because one only needs to check the appearance roughly. In this case a flag like Finally, sometimes, the developers of said packages don't even know, that their reported incompatibility is not genuine. Tectonic's engine isn't exactly XeLaTeX, so this allows us to either patch the tectonic-specific package, and notify the developer, or provide a list of alternatives. Where specific packages are not mandated by journals and one needs something which looks similar, it might be useful to suggest that to the user. Notice how almost all solutions revolve around providing more feedback to the users, and only one involves a small amount of coding (to ignore problematic macros). Finally, one could genuinely patch the packages. At some point, there will be an extremely popular package which just needs to be reimplemented for tectonic. Shell escaping and external packages cna be implemented as statically linked modules using an internal API. This is quite a bit more involved, but this isn't something which is done unilaterally by tectonic developers, being in good contact with So to me, one should catalogue packages which are compatible/incompatible and in which option combinations. Provide feedback, alternatives, allow to skip over such incompatibilities by preprocessing the LaTeX and removing all mentions of the problematic packages. Finally, ask developers of said packages to provide support for tectonic directly. |
Beta Was this translation helpful? Give feedback.
-
@appetrosyan I don't know the package This issue seems related to what you raised: #158 and @pkgw was keen on knowing If some journals require a lot of I really like the idea you mentioned of a Documenting incompatible packages seems a great idea too! 💯 |
Beta Was this translation helpful? Give feedback.
-
Great thread here! Do you mind if I convert this to a Discussion since I agree that that seems like a bit better format for what's going on here? |
Beta Was this translation helpful? Give feedback.
-
Discussion sounds good. |
Beta Was this translation helpful? Give feedback.
-
💯 go for it! |
Beta Was this translation helpful? Give feedback.
-
Tectonic is based around XeLaTeX which is both the main criticism levied against tectonic, but also one of the biggest roadblocks to replacing latex distributions with it.
Motivation
XeLaTeX is far from standard and is not fully compatible with Pdflatex. For example, a paper could be easy to compile (with terrible hacky abuse of the engine) with
pdflatex
but not withxelatex
.XeLaTeX has a reputation for being buggy. While it does offer multiple advanced features, more often than not, we don't have a choice whether or not the god-awful template used by e.g. MDPI compiles with XeLaTeX.
Proposed solution
Allow the option to compile a file with a pdflatex compatibility mode.
The modifications are quite extensive, the custom fork of XeLaTeX would need to be supplemented with a custom fork of PDFLaTeX.
Possible drawbacks
None as I see them.
You could argue that this is an unnecessary complication for
tectonic
, but not having this mode is the sole reason why some people still have a TeXLive installation. It would also aid in its adoption as a full LaTeX solution for e.g. AucTeX.Beta Was this translation helpful? Give feedback.
All reactions