Re: makefile aus \begin{filecontents} ... \end{filecontents} erzeugen

"Hendrik Seliger" (via tex-d-l Mailing List) <[email protected]> Tue, 13 May 2025 11:12:20 +0200
Newsgroups gmane.comp.tex.german
Message-ID <[email protected]>
Moin!

Mal als schnelle Lösung mit Lua zusammengebastelt ginge das so:

\documentclass{scrartcl}

\begin{document}
\bgroup
\catcode`\^^I=12
\catcode`\^^M=12
\directlua{
local s = [[
The quick brown fox
	jumped over the lazy dog with tab in front.
This the third line.
]]
local file = io.open("writtenfile", "w")
file:write(s)
file:close()
}
\egroup
Done.
\end{document}



– Hendrik

On 13.05.25 10:51, Reinhard Kotucha (via tex-d-l Mailing List) wrote:
> On 2025-05-13 at 09:03:24 +0200, "Markus Kohm" (via tex-d-l Mailing List) wrote:
>
>   > Ü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.
>
> Die Datei muß nicht zusätzlich existieren:
>
>    $ touch Makefile
>    
>    $ kpsewhich Makefile
>    ./Makefile
>
>    $ tex \\relax\\input Makefile \\bye
>    This is TeX, Version 3.141592653 (TeX Live 2026/dev) (preloaded format=tex)
>    (./Makefile)
>    No pages of output.
>    Transcript written on Makefile.log.
>
> Kpathsea sucht zunächst eine Datei "Makefile" und wenn die nicht
> gefunden wird eien Datei "Makefile.tex".  Es gibt aber eine
> Einschränkung, die sie Suche sehr unzuverlässig macht.  Kpathsea macht
> das für jeden texmf-Baum separat anstatt zunächt alle Bäume nach
> "Makefile" zu durchsuchen.  Sollte also irgendwo eine Datei
> "Makefile.tex" existieren ist die Wahrscheinlichkeit, daß diese geladen
> wird, relativ hoch.  Wenn die Datei "Makefile" im aktuellen
> Arbeitsverzeichnis liegt sollte si auch gefunden werden.
>
>   > 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.
>
> Auch wenn das eine schlechte Entscheidung von Knuth war wirst Du auf
> eine Änderung vergebens warten.
>
>   > > - 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.
>
> Vermutlich nicht mit \catcode9=12.  Die verbatim-Pakete können ja tabs
> korrekt verarbeiten.
>
> Alles Gute,
>    Reinhard
>
>
-- 
Dr. Hendrik G. Seliger
Gertrud-Kochanowski-Weg 17
30966 Hemmingen
Germany

-- 
FAQ: http://texfragen.de/
Durchsuchbares Archiv: https://www.listserv.dfn.de/sympa/arc/tex-d-l 
Unsubscribe/Verwaltung: https://www.listserv.dfn.de/sympa/info/tex-d-l