Reihenfolge der Kommandoauflösung

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: Reihenfolge der Kommandoauflösung

Anwendung ist nicht gleich Definition

von Stamm- » Sa 9. Sep 2017, 14:00

olpo hat geschrieben:Doch, in der letzten Zeile vor end{document} steht's.
Ich habe es auskommentiert, damit es baut.
In der Zeile wird es angewendet und nicht definiert. Woher also kommt dieser Befehl (Paket, eigene Definition mit \newcommand in einer externen Datei, ...)?

von olpo » Sa 9. Sep 2017, 13:20

u_fischer hat geschrieben:Dein Beispiel definiert \xcapitalisewords gar nicht, daher kann man auch nicht wissen, was (und wieso) nicht funktioniert und wie man es reparieren könnte.
Doch, in der letzten Zeile vor end{document} steht's.
Ich habe es auskommentiert, damit es baut.

von u_fischer » Fr 8. Sep 2017, 22:11

olpo hat geschrieben: Was ist denn mit \expandafter?
Ist das vielleicht was ich suche?
Dein Beispiel definiert \xcapitalisewords gar nicht, daher kann man auch nicht wissen, was (und wieso) nicht funktioniert und wie man es reparieren könnte.

von olpo » Fr 8. Sep 2017, 18:38

Ok, da habe ich ein doofes Bsp. ausgesucht.
ZB. habe ich auch das newcommand \seechap{}, bei dem das Problem auch auftritt.

Was ist denn mit \expandafter?
Ist das vielleicht was ich suche?

von markusv » Fr 8. Sep 2017, 09:23

Für die korrekte Referenzierung gibt es doch geeignete Pakete, bspw. cleveref.
\documentclass[british]{article} 
\usepackage{babel} 
\usepackage[noabbrev]{cleveref}%Umstellung von "fig." auf "figure" 
\begin{document} 
\begin{figure}
\caption{}\label{reference}
\end{figure}
This \cref{reference} starts in the middle of a sentence. \Cref{reference} is for the start.
\end{document}

Reihenfolge der Kommandoauflösung

von olpo » Fr 8. Sep 2017, 08:58

Hallo,

wie kann ich festlegen, dass zuerst der innere Befehl aufgelöst wird, und dann der äußere?

Ich habe nämlich ein command \fig{} definiert, bei dem ich gerne \xcapitalisewords verwenden möchte, falls ich \fig{} am Satzanfang verwende.

Das wird aber nicht kompiliert, da wohl zuerst \xcapitalisewords angewendet wird und sich daraus ein groß geschriebener Befehl \Fig{} ergibt.
Es müsste zuerst \fig{} aufgelöst werden und dann \xcapitalisewords{figure reference}.
\documentclass{article} 
\usepackage[british]{babel} 

\newcommand{\fig}[1]{figure\@~\ref{#1}}

\begin{document} 

\fig{reference}

% so geht's leider nicht.
% Es sollte Fig. ?? rauskommen
%
%\xcapatalisewords{\fig{reference}}
 
\end{document}

Nach oben