Archiv verlassen und diese Seite im Standarddesign anzeigen : include von übergeordnetem ordner geht nicht
Hallo,
ich habe diese ordnerstruktur
/ordner1/latexDatei.tex
/zuIncludenteDatei.tex
wenn ich nun
\include{../zuIncludenteDate} eingebe, so bekomme ich diese Fehlermeldungen
Processing: ./latexDatei.tex
Document Class: scrartcl 2009/07/24 v3.04a KOMA-Script document class (article)
Latex Error: ./latexDatei.tex:113 I can't write on file `../zuIncludenteDatei.aux'.
Latex Error: ./latexDatei.tex:113 Emergency stop.
Latex Error: ./latexDatei.tex:113 ==> Fatal error occurred, no output PDF file produced!
Complete transcript is in latexDatei.log
Found 3 errors, and 0 warnings in 1 runs
pdflatex -interaction=nonstopmode -file-line-error-style -synctex=1 exited with status 1
wenn ich zuIncludenteDatei.tex jedoch in den selben Ordner verschiebe und das ../ entferne, so funktioniert alles ohne Probleme.
ps: mit "\input{}" funktioniert es
Jemand eine idee?
\include erzeugt, im Gegensatz zu \input, für jede eingebundene Datei eine eigene Hilfsdatei mit Endung .aux. Die Fehlermeldung lässt mich vermuten, dass du für / keine Schreibrechte hast bzw. das ../zuIncludenteDatei.aux für den Schreibzugriff gesperrt ist (falls die Datei existiert, kannst du ja mal versuchen, sie zu löschen).
Christian.
Schweinebacke
14-04-2010, 09:51
Eventuell erlaubt TeX auch schlicht nicht, dass Dateien (in dem Fall die aux-Dateien zu den per \include geladenen Dateien) in übergeordneten Verzeichnissen angelegt werden. Jedenfalls steht in kpathsea.pdf:
A TEX document, however, can write to arbitrary files, e.g., ‘~/.rhosts’, and thus an unwitting user who runs TEX on a random document is vulnerable to a trojan horse attack. This loophole is closed by default, but you can be permissive if you so desire in ‘texmf.cnf’. See Section “tex invocation” in Web2c. In web2c.pdf heißt es dann:
TEX can write output files, via the \openout primitive; this opens a security hole vulnerable to Trojan horse attack: an unwitting user could run a TEX program that overwrites, say, ‘~/.rhosts’. (MetaPost has a write primitive with similar implications). To alleviate this, there is a configuration variable openout_any, which selects one of three levels of security. When it is set to ‘a’ (for “any”), no restrictions are imposed. When it is set to ‘r’ (for “restricted”), filenames beginning with ‘.’ are disallowed (except ‘.tex’ because LATEX needs it). When it is set to ‘p’ (for “paranoid”) additional restrictions are imposed: an absolute filename must refer to a file in (a subdirectory) of TEXMFOUTPUT, and any attempt to go up a directory level is forbidden (that is, paths may not contain a ‘..’ component). The paranoid setting is the default. (For backwards compatibility, ‘y’ and ‘1’ are synonyms of ‘a’, while ‘n’ and ‘0’ are synonyms for ‘r’.)
Die Dateinamen für die Dateien beginnen in dem Fall ja mit einem Punkt.
die Datei existiert nicht, er kann sie einfach nicht anlegen. Das mit den schreibrechten kann natürlich sein aber theoretisch müssten schreibrechte da sein.
die Datei existiert nicht, er kann sie einfach nicht anlegen. Das mit den schreibrechten kann natürlich sein aber theoretisch müssten schreibrechte da sein.
\include muss eine Datei im gleichen Ordner sein, wie die Haupt-Texdatei,
sonst findet er die aux-Dateien nicht. Mit \input kannst du machen,was du
willst, da dafür auch keine aux-Dateien erstellt werden.
HErbert
achso ... schade.
Aber danke, dann werde ich das nun mit input machen.
achso ... schade.
Aber danke, dann werde ich das nun mit input machen.
\input ist die schlechtere Variante!
Herbert
Schweinebacke
14-04-2010, 13:13
\include muss eine Datei im gleichen Ordner sein, wie die Haupt-Texdatei,
sonst findet er die aux-Dateien nicht.
Doch das geht. Folgendes funktioniert bei mir einwandfrei, wenn das Unterverzeichnis "subdir" existiert:
\begin{filecontents*}{subdir/chapter.tex}
\chapter{Chapter}
\end{filecontents*}
\documentclass{book}
\begin{document}
\include{subdir/chapter}
\end{document}Probleme gibt es nur mit übergeordneten Verzeichnissen, außer man setzt beispielsweise openout_any=a, wie in meinem letzte Beitrag angegeben.
\end{document}[/code]Probleme gibt es nur mit übergeordneten Verzeichnissen, außer man setzt beispielsweise openout_any=a, wie in meinem letzte Beitrag angegeben.
logisch, ich hatte sogar mein openin_any falsch gesetzt ...
Herbert
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.