In Variable gespeicherter String (Pfad) ändern.

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: In Variable gespeicherter String (Pfad) ändern.

Re: In Variable gespeicherter String (Pfad) ändern.

von cgnieder » Mi 15. Jan 2014, 20:21

alnilam1701 hat geschrieben:ich habe die Variable \texsource (ist das ein Makro?)
Wenn es mit \def oder \newcommand oder ähnlichem definiert würde, dann ist es ein Makro.

Willst Du sowas:
\documentclass{article}

\makeatletter
\newcommand*\texsource{/home/alnilam1701/}

\let\figuresrc\texsource
\g@addto@macro\figuresrc{tmp/}

\show\figuresrc
\makeatother 

\begin{document}
\end{document}
im log steht:
> \figuresrc=macro:
->/home/alnilam1701/tmp/.
Die Zeile
\let\figuresrc\texsource
definiert \figuresrc als exakte Kopie von \texsource, während
\def\figuresrc{\texsource}
bedeutet, dass \figuresrc eben das Makro \texsource enthält und nicht den Ersetzungstext von \texsource:
\documentclass{article}

\newcommand*\texsource{/home/alnilam1701/}
\def\figuresrc{\texsource}
\show\figuresrc

\begin{document}
\end{document}
Im log:
> \figuresrc=macro:
->\texsource .
Wenn man den Ersetzungstext eines Makros möchte (und nicht \let verwenden will/kann) dann muss man das innere Makro zuerst expandieren:
\documentclass{article}

\newcommand*\texsource{/home/alnilam1701/}
\expandafter\def\expandafter\figuresrc\expandafter{\texsource tmp/}
\show\figuresrc

\begin{document}
\end{document}
Im log steht das gleiche wie oben im ersten Beispiel.

Grüße

In Variable gespeicherter String (Pfad) ändern.

von alnilam1701 » Mi 15. Jan 2014, 17:56

Hallo,

ich habe die Variable \texsource (ist das ein Makro?), die eine Pfadangabe auf der Festplatte speichert. An diesen Pfad will ich den String "/tmp/ anhängen, sprich an den Pfad um das Verzeichnis tmp ergänzen. Die neue Variable soll \figuresrc heißen, die Variable \texsource dabei unangetastet bleiben.

Folgendes funktioniert leider nicht:
\def\figuresrc{\texsource}
\makeatletter
\g@addto@macro\figuresrc{/tmp/}
\makeatother
Wer kann mir weiterhelfen? Vielen Dank!

Nach oben