Re: makefile aus \begin{filecontents} ... \end{filecontents} erzeugen
"Markus Kohm" (via tex-d-l Mailing List) <[email protected]> Tue, 13 May 2025 09:03:24 +0200
| Newsgroups | gmane.comp.tex.german |
|---|---|
| Organization | KOMA |
| Message-ID | <[email protected]> |
Am Montag, 12. Mai 2025, 18:23 schrieb Jakob Mendel:
> - die Datei heißt nicht makefile, sondern makefile.tex;
Obwohl das AFAIR nicht von TeX selbst so festgelegt ist, hängen die Engines
"traditionell" beim Schreiben von Dateien ohne Endung ".tex" an. Das macht
also nicht LaTeX. Lässt man folgendes mit tex, pdftex, luatex laufen:
\newwrite\testwrite
\immediate\openout\testwrite testfile
\immediate\write\testwrite{\relax}
\immediate\closeout\testwrite
\bye
erhält man immer die Datei testfile.tex.
Übrigens testet kpathsea (die Library, mit der heutige TeX Engines nach
Dateien zum Lesen suchen) bei Dateien ohne Endung auch immer auf Dateien mit
Endung. Wenn man also obiges hat laufen lassen und dann
kpsewhich ./testfile
im Terminal aufruft, bekommt man ./testfile.tex angezeigt, wenn nicht
zusätzlich eine Datei ./testfile ohne Endung existiert.
Wie gesagt: Das ist historisch bedingt. Da ich ebenfalls schon seit sehr
langer Zeit hoffe, dass sich das einmal ändert, gebe ich sowohl beim Schreiben
von *.tex-Dateien als auch beim Lesen mit \input die Endung immer mit an.
Bei \include sieht es übrigens anders aus. Dort hängt LaTeX selbst immer die
Endung ".tex" an.
> - der Tabulator in der zweiten Zeile der makefile wird automatisch in
> ein Leerzeichen umgewandelt.
Das mit dem Schreiben von Tabulatoren ist ähnlich. AFAIK führen die Engines
selbst die Umwandlung von Tab zu Space durch.
Die beste Chance wäre also in der Tat, das ganze per Lua zu machen. Eine
generell zu überlegende Alternative wäre, von make zu l3build oder latexmk zu
wechseln. Dort braucht man keine Tabs. Allerdings kann der Wechsel auch
Nachteile haben. Seit ich für den Bau von KOMA-Script von make auf l3build
umgestiegen bin vermisse ich sehr Automatismen zur Erkennung welche Dateien
sich verändert haben und was deshalb neu erzeugt werden muss.
Markus
--
KOMA-Script: https://sf.net/p/koma-script
KOMA-Script-Wiki: https://sf.net/p/koma-script/wiki-en/Home
KOMA-Script and Friends: https://gitlab.com/latex9343737
KOMA on github: https://github.com/komascript
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE1/uTv8+wAU8hvYZOE7WYy8/T98EFAmgi7rwACgkQE7WYy8/T 98FeMQ//ezSSbwUTqJ7zIJPS5mFTWjcSgA1J88XYQQP+34SzoHl90cuJlKijnYpb ie872Qz1pe+F5k8eg4w7FaObJXbb/1CbhViIe77s8PM1qClx/hep2GNqUq7zDZnF QFE9UYnci0oMH2T1AeYeKSAfGbVVfYhaTX3gApA2QHu7UdvyVOIaTluSei1d3Qs/ EWv3SGQL3YWFT0SHx6GsLGHNKfBkmo1JLyL76I6CJVfIRRnA0z09G1seeJBCQOdu i2cLQPX5x+/5qXO//QAAIGpM+INqNsFU0u/bL0y65ifqzJAIzH47Kuyemaj+Tkwt sdPSHxlRCaQhiKD7rOvD/ogfw8m/B47CqUKWpAMtDvTvhyQhx2K4wJfLQy0nuBC9 CHnA/FA19hfpILs+LtdW4h7w5iDiuurgcqSfqv3+pq/yGGDGyTPGe+LV3YMUGOaL 9DZvWCoFCMsEFhcnhK9+BiJqo6T6svENV70tr2VirQWs8I+qvpZ/Bkvvqb3ztjr2 gWjWtbkr8tLm4hCn+hoZDfjuhcoj/NrTiUDBc9T1I30ZjciDQE8tXQBMHGRUUJE1 rklelutum5qY+qkyzAwzXmOyjp/0wLqbyzn+9SwkVDU6ESZiJGZNcQr8ILefoR51 0ZcijEsUaL0QCewE/8Ud2ivJ4DW3juB9GRbILRUhrEmFyfwMe+s= =cdiK -----END PGP SIGNATURE-----