I know that it is possible to obtain colored text in Latex by including the color package and writing like
\textcolor{red}{This is red text}
How could I define a macro which would produce text of a given color such as
\red{This is red text}
?
I know that it is possible to obtain colored text in Latex by including the color package and writing like
\textcolor{red}{This is red text}
How could I define a macro which would produce text of a given color such as
\red{This is red text}
?
\newcommand{\red}[1]{\textcolor{red}{#1}} works. Or are you trying to do something more general, such that \somecolorname{foo} behaves the same as \textcolor{somecolorname}{foo}? That latter case is probably not a good idea...
\newcommand*{\red}{\textcolor{red}} is actually fine enough. There is no need to pass the argument around. Also \textcolor simply calls \color internally, so \newcommand\red[1]{{\color{red}#1}} would be more efficient. However I would go with \newcommand*\red{\color{red}}, then you can write {\red text} instead of \ref{text} and also use \red to switch to red for the rest of the group.
– Martin Scharrer
Jul 11 '11 at 18:54
\newcommand\red[1]{\color{red}#1}isn't good enough? Why you don't want to use\textcolor, too verbose? Maybe the question actually was about defining own macros? If yes, then see e.g. LaTeX/Customizing LaTeX from LaTeX wikibook. – przemoc Jul 11 '11 at 18:35\newcommand\red[1]{{\color{red}#1}}(note the additional set of braces). – lockstep Jul 11 '11 at 18:40\redis defined inpstricksand therefore leads to errors. You can overcome this conflict by\renewcommand\red[1]{{\color{red}#1}}or better define a new command like\newcommand\txtred[1]{{\color{red}#1}}. – strpeter Dec 10 '13 at 11:25