Seite 1 von 1
renewcommand mit einer Option
Verfasst: Do 29. Mär 2012, 13:38
von renewcommand - [Option]
Hallo Experten,
ich nutze das bibleref Packet mit \ibibleverse{Genesis}(2:1).
Nun hätte ich gern, das die Stelle automatisch verlinkt wird in Internet.
Den Link kann man zusammenbauen:
http://www.bibleserver.com/text/LUT/Genesis2:1
Also dachte ich mir sowas:
\renewcommand{\ibibleverse}?? {\ibibleverse{#1}(#2)\url{
http://www.bibleserver.com/text/LUT/#1#2}
Mein Problem ist nur, dass die Argumente bei ibibleverse einmal so {} und () nicht auf das neue kommando übertragen werden können.
Hat jemand zufällig eine Idee. Danke
Verfasst: Do 29. Mär 2012, 15:19
von cgnieder
Ich schlage vor, einmal in
xparse zu schauen. Das Paket erlaubt viele verschiedene Argumenttypen bei Befehlen.
\documentclass{article}
\usepackage{xparse,bibleref,hyperref}
% Definition von \ibibleverse speichern:
\let\origibibleverse\ibibleverse
% neu definieren:
\RenewDocumentCommand\ibibleverse{mr()}{%
\origibibleverse{#1}(#2)\ (\url{http://www.bibleserver.com/text/LUT/#1#2})}
\begin{document}
\ibibleverse{Genesis}(2:1)
\end{document}
Danke
Verfasst: Do 29. Mär 2012, 16:24
von danke
Danke für den Tip.
ich versuche über den Weg.
Funktioniert Teilweise
Verfasst: Do 29. Mär 2012, 16:38
von Danke
Vielen Dank nochmal für den Hinweis.
Es funktioniert super. Ich habe anstelle url jetzt \href{
http://www.bibleserver.com/text/LUT/#1#2}{-}
genutzt, habe aber noch ein Problem, da ich vergessen hatte,
dass ich auch nur \ibibleverse{Genesis} genutzt habe um auf das Buch zu verweisen. Nun fehlt also das zweite Argument. In der Dokumentation von xparse gibt es wohl eine novalue option, aber ich habe nicht verstanden, ob ich damit was anfangen kann.....
Viele Grüße
Verfasst: Fr 30. Mär 2012, 01:33
von cgnieder
Du kannst statt
(r steht für „required“)
verwenden und dann mit
\IfNoValueTF{#2}{<kein Wert>}{<doch ein Wert>}
testen, ob das Argument verwendet wurde oder nicht:
\documentclass{article}
\usepackage{xparse,bibleref,hyperref}
% Definition von \ibibleverse speichern:
\let\origibibleverse\ibibleverse
% neu definieren:
\RenewDocumentCommand\ibibleverse{md()}{%
\IfNoValueTF{#2}{\origibibleverse{#1}}{%
\origibibleverse{#1}(#2)\ (\url{http://www.bibleserver.com/text/LUT/#1#2})}}
\begin{document}
\ibibleverse{Genesis}(2:1)
\ibibleverse{Genesis}
\end{document}
Gruß
Vielen Dank
Verfasst: Fr 30. Mär 2012, 09:24
von Danke
Vielen Dank für die Hilfe.
Damit funktioniert es bestens. Das erleichert die Arbeit ungemein.
Also vielen Dank für die Mühe. Problem gelöst, bzw. Wunsch erfüllt.