Fehler im Befehl? Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Fehler462

Fehler im Befehl?

Beitrag von Fehler462 »

Minimalbeispiel
\documentclass[a4paper,11pt]{article} 

\usepackage{color}

\newcommand*{\A}[2]{\textsf {#1} \textcolor{red}{#2}}

\begin{document}

\A{Hier sollte sowohl die Schrift als auch die Farbe anders sein}

\end{document}
Habe ich die Argumente im Befehl nicht richtig gesetzt oder wo ist sonst der Fehler? Einzeln Funktionieren die Befehle aber ich möchte Sie in einem Befehl zusammenziehen

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Du definierst einen Befehl mit zwei Argumenten, das erste wird serifenlos gesetzt, das zweite farbig.
Du suchst wahrscheinlich
\documentclass[a4paper,11pt]{article}

\usepackage{color}

\newcommand*{\A}[2]{\textsf {#1} \textcolor{red}{#2}}
\newcommand*{\B}[1]{\textsf{\textcolor{red}{#1}}}

\begin{document}

\A{Hier sollte sowohl die Schrift als auch die Farbe anders
sein}{Wombat}\par
\B{Hier sollte sowohl die Schrift als auch die Farbe anders sein}

\end{document}
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

AIaufDroge

Beitrag von AIaufDroge »

Die Argumente gibt nicht an wie viele Befehle ich verwende sondern die Anzahl an {} die nach \A folgen und in jeder weiteren {} werden die vorherigen Befehle ebenfalls berücksichtigt.

Das heisst in \A{1} wird Argument 1

Befehl 1 gilt für erste {} und Befehl 2 gilt für {}

Also mache ich

\A{}{}

Und in der ersten Klammer wird das erste Argument angewendet in der zweiten Das erste und das zweite und so weiter.

Richtig?

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Die Zahl gibt einfach an, wie viele Argumente dein Befehl haben soll (max. 9) und in der Definition des Befehl kannst du dann mit #1 bis #9 mit diesen Argumenten veranstalten was du willst. Ob jetzt in deiner Definition zwei oder zwanzig Befehle vorkommen spielt keine Rolle. Außerdem kannst du in der Definition die Argumente auch in beliebiger Reihenfolge benutzen.

Stell dir einfach vor, wenn du \A{Argument eins}{mein zweites Argument} eingibst, tut LaTeX so, als ob du
\textsf {Argument eins} \textcolor{red}{mein zweites Argument}
eingeben hättest.
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

Antworten