Farben als Makro übergeben Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Martin66

Farben als Makro übergeben

Beitrag von Martin66 »

Hallo

wie kann ich die Farbe als Parameter in einem Makro übergeben?

Grüße


\def\farbe{0.6,0.4,0.2,0}

\def
\formel#1{%
	Dies ist eine Formel:
	{%
	\color[cmyk]{0.2,0.4,0.6,0}	% funktioniert
	$#1$
	}
	blablabla
	{%
	\color[cmyk]\farbe		% funktioniert nicht
	$#1$
	}
	Das war's.
}

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

Beitrag von Johannes_B »

Du kannst dir mit definecolor oder colorlet beliebiege neue Farbnamen defienieren und diese dann im Argument von color nutzen.
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.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Da fehlen geschweifte Klammern um \farbe, d.h. bei mir funktioniert
\color[cmyk]{\farbe}
Allerdings würde ich auch, wie schon von Johannes vorgeschlagen, eher
\definecolor{formelfarbe}{cmyk}{0.6,0.4,0.2,0}
und dann
\color{formelfarbe}
nehmen.

Martin66

Beitrag von Martin66 »

Hallo,

Klammern erzeugen den Fehler
! Paragraph ended before \c@lor@@cmyk was complete.

Grüße

\def\farbe{0.6,0.4,0.2,0}

\def
\formel#1{%
	Dies ist eine Formel:
	{%
	\color[cmyk]{0.2,0.4,0.6,0}	% funktioniert
	$#1$
	}
	blablabla
	{%
	\color[cmyk]{\farbe}		% funktioniert immer noch nicht
	$#1$
	}
	Das war's.
}

\formel{a+b=c}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Vermutlich ist das wieder ein klassischer Fall von Rätselraten wegen fehlendem Minimalbeispiel. Jedenfalls läuft
\documentclass{article}
\usepackage{xcolor}
\newcommand*\farbe{0.4,0.2,1,0}
\definecolor{formelfarbe}{cmyk}{1,0.4,0.2,0}
\newcommand*\formel[1]{% 
    Dies ist eine Formel: 
    {% 
    \color[cmyk]{0.2,0.4,0.6,0}   % funktioniert 
    $#1$ 
    } 
    blablabla 
    {% 
    \color[cmyk]{\farbe}      % funktioniert
    $#1$ 
    } 
    Das war's.
    {% 
    \color{formelfarbe}      % funktioniert
    $#1$ 
    } 
    Das war's.
} 
\begin{document}
\formel{a}
\end{document}
bei mir und auch bei Overleaf fehlerfrei durch. Letzteres kannst Du sehen, wenn Du auf "Öffne in Online-Editor" klickst.

Martin66

Beitrag von Martin66 »

Hallo,

da fehlt fast nichts; vollständig nun unten.

Grüße

\input		color

\def\farbe{0.6,0.4,0.2,0}

\def
\formel#1{%
	Dies ist eine Formel:
	{%
	\color[cmyk]{0.2,0.4,0.6,0}	% funktioniert
	$#1$
	}
	blablabla
	{%
	\color[cmyk]\farbe		% funktioniert nicht
	$#1$
	}
	{%
	\color[cmyk]{\farbe}		% funktioniert auch nicht
	$#1$
	}
	Das war's.
}

\formel{a+b=c}

\bye
[/code]

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Martin66 hat geschrieben:
da fehlt fast nichts;
Bis auf die für Dich scheinbar selbstverständliche Info, dass Du aus irgendeinem Grund unbedingt eine plain TeX Lösung suchst ;-)

Aber selbst damit funktioniert bei mir \definecolor :
\input      color 

\definecolor{formelfarbe}{cmyk}{0.6,0.4,0.2,0}
\def 
\formel#1{% 
    Dies ist eine Formel: 
    {% 
    \color[cmyk]{0.2,0.4,0.6,0}   % funktioniert 
    $#1$ 
    } 
    blablabla 
    {% 
    \color{formelfarbe}      % funktioniert
    $#1$ 
    } 
    Das war's. 
} 

\formel{a+b=c} 

\bye 
liefert

Bild
Dateianhänge
gl_plt.png
gl_plt.png (2.24 KiB) 2924 mal betrachtet

Antworten