Seite 1 von 1

\newcommand mit Argumenten in Befehlen

Verfasst: Di 12. Mär 2013, 10:35
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.

Verfasst: Di 12. Mär 2013, 11:07
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

Verfasst: Di 12. Mär 2013, 11:53
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