Farben als Makro übergeben

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Farben als Makro übergeben

von esdd » Mi 24. Jun 2015, 22:37

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) 2977 mal betrachtet

von Martin66 » Mi 24. Jun 2015, 21:45

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]

von esdd » Mi 24. Jun 2015, 20:18

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.

von Martin66 » Mi 24. Jun 2015, 20:07

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}

von esdd » Mi 24. Jun 2015, 17:56

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.

von Johannes_B » Mi 24. Jun 2015, 17:41

Du kannst dir mit definecolor oder colorlet beliebiege neue Farbnamen defienieren und diese dann im Argument von color nutzen.

Farben als Makro übergeben

von Martin66 » Mi 24. Jun 2015, 16:09

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.
}

Nach oben