Ich habe einen neuen Befehl erstellt mit 4 Argumenten. Der Befehlt klappt auch super.

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\newcommand{\insImage}[4]
{
\begin{figure}[hbt]
\centering
\includegraphics[width=#4\textwidth]{#1}
\caption{#2}
\label{fig:#3}
\end{figure}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Nun möchte ich aber bei #4 eine Defaultwert setzen. z.B.: .5 .

Öffne in Overleaf
\insImage{arg1}{arg2}{arg3}{.5}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

So dass ich nur, wenn ich einen anderen Wert brauche, diesen ersetzten kann.

Ist das möglich?

gefragt 28 Nov '17, 12:28

Mike_Rohsoft's gravatar image

Mike_Rohsoft
3935
Akzeptiert-Rate: 0%

bearbeitet 29 Nov '17, 13:38

gast3's gravatar image

gast3
(ausgesetzt)

Bitte wirf uns nicht nur einen Codeschnipsel wie dem Hund einen Knochen vor. Gibt immer ein vollständiges Minimalbeispiel an! Ohne das, kann ich nur darauf hinweisen, dass optionale Argumente per Konvention in eckige statt geschweifte Klammern gesetzt werden und dass \newcommand nur für das erste Argument die Möglichkeit eines optionalen Arguments mit Defaultwert bietet. xparse dagegen bietet ein optionales Argument mit optionalem Defaultwert an beliebiger Stelle.

(28 Nov '17, 16:59) saputello

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{graphicx}
\usepackage{xparse}
\NewDocumentCommand\insImage{mmmO{.5}}{%
\begin{figure}[hbt]
\centering
\includegraphics[width=#4\textwidth]{#1}
\caption{#2}
\label{fig:#3}
\end{figure}%
}
\begin{document}
\insImage{example-image-a}{Example Image A}{ex-a}
\insImage{example-image-b}{Example Image B}{ex-b}[.2]
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 28 Nov '17, 21:25

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Perfekt. Das ist genau das was ich gesucht habe. Werde nun mal ein wenig mit xparse "herumspielen" Dankeschoen Henri

(29 Nov '17, 13:12) Mike_Rohsoft

Da Du nur ein optionales Argument benötigst, kannst Du auch einfach die Reihenfolge der Argumente ändern.

Dabei würde ich dann als Voreinstellung des optionalen Arguments auch nicht .5, sondern width=.5\textwidth wählen. Das hat den Vorteil, dass Du bei Nutzung des Befehls auch anderen Schlüsseln von \includegraphics Werte zu weisen kannst, also beispielsweise statt der Breite mal die Höhe vorgeben kannst.

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{graphicx}
\newcommand\insImage[4][width=.5\textwidth]{%
\begin{figure}[hbt]
\centering
\includegraphics[#1]{#2}
\caption{#3}
\label{fig:#4}
\end{figure}%
}
\begin{document}
\insImage{example-image-a}{Example Image A}{ex-a}
\insImage[width=5cm]{example-image-b}{Example Image B}{ex-b}
\insImage[height=1cm]{example-image}{Example Image C}{ex-b}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 29 Nov '17, 09:35

esdd's gravatar image

esdd
17.8k304257
Akzeptiert-Rate: 62%

bearbeitet 29 Nov '17, 13:36

gast3's gravatar image

gast3
(ausgesetzt)

Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×52
×33
×13
×7

gestellte Frage: 28 Nov '17, 12:28

Frage wurde gesehen: 6,592 Mal

zuletzt geändert: 29 Nov '17, 13:41