Seite 1 von 1
Pfadvariable definieren
Verfasst: Sa 27. Feb 2010, 14:04
von caiusjuliuscaesar
Hallo,
ich habe Dokumente mit vielen Bildern, die über einen Pfad mit includegraphics eingebunden werden.
\includegraphics[width=13cm]{../../../../bilder/verzeichnis/bild.jpg}
Nun möchte ich diesen Pfad gern abkürzen, indem ich eine Variable, also ein Makro, definiere:
\newcommand{\BILDER}{../../../../bilder/verzeichnis/}
... und dann mit
\includegraphics[width=13cm]{\BILDERbild.jpg}
oder
\includegraphics[width=13cm]{\{BILDER}bild.jpg}
einbinde. Daran scheitere ich, da eine Vielzahl von Fehlermedungen erhalte. Im wesnbetlichen liegt es daran, daß die / verschwinden, wie ich an Hand einer Test-Ausgabe ersehen habe.
Weiß jemand Abhilfe?
Viele Grüße,
CJC
Verfasst: Sa 27. Feb 2010, 16:09
von KOMA
Du hast offenbar keine Ahnung, wie man Makros anwendet. Bei
caiusjuliuscaesar hat geschrieben:\includegraphics[width=13cm]{\BILDERbild.jpg}
wird nämlich nicht das Makro \BILDER, sondern ein Makro \BILDERbild aufgerufen. Es fehlt ein Leerzeichen nach \BILDER. Bei
caiusjuliuscaesar hat geschrieben:\includegraphics[width=13cm]{\{BILDER}bild.jpg}
wird hingegen das Makro \{ gefolgt von der Zeichenkette "BILDER" aufgerufen und die dann folgende schließende geschweifte Klammer beendet das Argument von \includegraphics. Bevor ich Dir aber erkläre, wie man \newcommand und die damit definierten Makros anwendet, empfehle ich Dir lieber, die graphics/x-Anleitung zu lesen und dort nach \graphicspath zu suchen. Bitte beachte in der Erklärung unbedingt die korrekte Klammer-Setzung!
Zwar empfehlen die Entwickler selbst, auf \graphicspath zu verzichten und stattdessen die Umgebungs- bzw. Environment-Variable TEXINPUTS passend zu setzen (das wäre eine schnellere Lösung, die HASH und POOL von TeX nicht belasten), aber damit sind DAUs in der Regel dann doch total überfordert.
Ansonsten sei noch auf meine Signatur und
http://www.golatex.de/wiki/index.php?ti ... albeispiel hingewiesen. Das betrifft insbesondere auch andere Anfragen von Dir, die an Ungenauigkeit und Vollständigkeit kaum zu übertreffen sind!
Verfasst: Sa 27. Feb 2010, 18:05
von caiusjuliuscaesar
Hallo,
danke für den Hinweis auf graphicspath usw.
Ich hatte das Problem, die Variable / das Makro /BILDER anzuwenden, da ich es ohne nachfolgendes Leerzeichen bündig mit dem DDateinamen zusammenfügen wollte.
funktionierte genauso wenig wie
noch wie das vermutlich richtige
Letzteres funktioniert nicht, wie ich oben schon benannt habe, wegen der "/" Pfad. Auch escapen ("\/")halb nicht. Latex dachte immer, dort seien Divisionen.
Gruß, CJC[/code]
Verfasst: Sa 27. Feb 2010, 18:13
von Rainer Unsinn
KOMA hat doch explizit geschrieben, dass ein Leerzeichen nach \BILDER fehlt. Man kann an ein Makro nicht ohne Leerzeichen einen String anhängen. TeX ist nicht C64-Basic.
Wie jeder Anwender wissen sollte, werden Leerzeichen nach Makros immer überlesen und beenden nur das Makro. Das gilt sogar bei Makros in Dateinamen, wo sonst das Leerzeichen den Dateinamen beendet. Vgl:
\def\Test{ABC}
\input \Test DEF.tex
Sowohl bei der Verarbeitung mit latex als auch mit tex (=plainTeX) wird dabei nach der Datei "ABCDEF.tex" und nicht nach "ABC" oder "ABC DEF.tex" gesucht. Dagegen wird bei
nach der Datei "ABC" gesucht. Auch bei diesem zweiten Beispiel ist es egal, ob man latex oder tex verwendet.
Verfasst: Sa 27. Feb 2010, 18:20
von Rainer Unsinn
Gerade ausprobiert: Wenn man das Leerzeichen wie von KOMA angegeben setzt, dann funktioniert das. Dass LaTeX dort irgendwelche Divisionen vermutet halte ich für ein Gerücht. Wie KOMA schon schrieb aber auch von Dir unbeachtet geblieben ist:
http://www.golatex.de/wiki/index.php?ti ... albeispiel. Das ist mit Sicherheit besser als irgendwie wild zu spekulieren.