\newcommand mit Argumenten in Befehlen

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


niceguy_eddie
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: So 27. Jan 2013, 21:37

\newcommand mit Argumenten in Befehlen

Beitrag von niceguy_eddie »

Hallo,

Ich versuche mir gerade einen eigenen Befehl zu schreiben, da das darinstehende Schema (siehe unten) ungefähr 1000 Mal in meinem Dokument vorkommen muss.

Ist es möglich, die Parameter in Befehle hineinzusetzen? Wie bei den Befehelen
\textbf{#1\the#1}
\includegraphics[width=\linewidth]{Noten/png/#2.png}
Beim folgenden Minimalbeispiel habe ich den 2. Parameter wegen des Bildes weggelassen, das wäre aber auch interessant zu wissen, ob das innerhalb eines Pfades geht. Die Parameter geben die Art des Bildes und dessen Name im Ordner an.

Oder gibt es eine andere Möglichkeit für mein Vorhaben, bis jetzt bekomme ich nämliche eine Fehlermeldung!?
\documentclass[10pt,a4paper,twocolumn,twoside,landscape]{scrreprt}
\usepackage[landscape]{geometry}
\usepackage[ngerman]{babel}
\usepackage{selinput} 
\SelectInputMappings{
             adieresis={ä},
             germandbls={ß},
            }
\usepackage[T1]{fontenc}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\usepackage{parskip}
\usepackage{microtype}
\usepackage[demo]{graphicx}

\begin{document} 
\newcounter{N}
\newcommand{\Note}[1]%[2]
{
\begin{minipage}{0.09\linewidth}
\stepcounter{#1}
\textbf{#1\the#1}
\end{minipage}
\begin{minipage}{0.91\linewidth}
\includegraphics{plank}
%\includegraphics[width=\linewidth]{Noten/png/#2.png}
\end{minipage}
}

\Note[N]
%\Note[N][N1]

\end{document}
Mit besten Grüßen.

Noch so einer

Beitrag von Noch so einer »

\csname the#1\endcsname
oder
\@nameuse{the#1}
letzteres benötigt in der Dokumentpräambel eine Schachtelung der relevanten Definition mit (ein Klick auf die Anweisungen bringt nähere Infos):
\makeatletter
...
\makeatother

niceguy_eddie
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: So 27. Jan 2013, 21:37

Beitrag von niceguy_eddie »

Das funktioniert, danke. Zum Nachlesen für andere das überarbeitete Minmalbeispiel (benötigt ein Bild unter dem Pfad Noten/png/N1, was sich nicht vermeiden lässt, um den Pfad einzubinden):
\documentclass[10pt,a4paper,twocolumn,twoside,landscape]{scrreprt}
\usepackage[landscape]{geometry}
\usepackage[ngerman]{babel}
\usepackage{selinput} 
\SelectInputMappings{
             adieresis={ä},
             germandbls={ß},
            }
\usepackage[T1]{fontenc}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\usepackage{parskip}
\usepackage{microtype}
\usepackage{graphicx}



\begin{document}
\newcounter{N}
\newcommand{\Note}[2]
{
\begin{minipage}{0.09\linewidth}
\stepcounter{#1}
\textbf{#1\csname the#1\endcsname}
\end{minipage}
\begin{minipage}{0.91\linewidth}
\includegraphics[width=\linewidth]{#2}
\end{minipage}
} 

\Note{N}{Noten/png/N1.png}

\end{document}
Grüße

Antworten