Seite 1 von 1

Farben als Makro übergeben

Verfasst: Mi 24. Jun 2015, 16:09
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.
}

Verfasst: Mi 24. Jun 2015, 17:41
von Johannes_B
Du kannst dir mit definecolor oder colorlet beliebiege neue Farbnamen defienieren und diese dann im Argument von color nutzen.

Verfasst: Mi 24. Jun 2015, 17:56
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.

Verfasst: Mi 24. Jun 2015, 20:07
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}

Verfasst: Mi 24. Jun 2015, 20:18
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.

Verfasst: Mi 24. Jun 2015, 21:45
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]

Verfasst: Mi 24. Jun 2015, 22:37
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