我定义了一个新命令为
\newcommand{\code}[1]{\texttt{#1}}
然后,我重新定义了\texttt
,为了使其仍然有效,我首先“存储”了命令并改变了我定义的方式\code
,因此它仍然可以使用存储的定义工作(%
符号在 RStudio 中开始注释):
\let\oldtexttt\texttt % Store \texttt
\renewcommand{\texttt}[2][black]{\textcolor{#1}{\ttfamily #2}} % \texttt[<color>]{<stuff>}
\newcommand{\code}[1]{\oldtexttt{#1}}
现在,我想更改新的命令定义,以便我可以使用更新的命令\texttt
,但我不知道该怎么做。我尝试使用我在此页面上找到的内容:
http://noodle.med.yale.edu/latex/latex2e-html/ltx-18.html
并改变参数的数量,但我不知道如何实现这一点并使其发挥作用。
我做了几次尝试,本着类似的精神:
\newcommand{\code}[2][black]{\textcolor{#1}{\texttt {#2}}`
或者
\newcommand{\code}[2][black]{\texttt{\textcolor{#1}{\ttfamily #2}}
以及其他一些方法,但都不起作用。
我将非常感激关于如何正确完成此操作的建议。
答案1
这有效。请务必计算括号:
\documentclass{article}
\usepackage{color}
\newcommand\code[2][black]{\textcolor{#1}{\texttt{#2}}}
\begin{document}
\code[red]{Yada yada.} % black if no color specified
\end{document}
答案2
目前还不清楚你想要什么,但在给出\texttt
一个可选参数之后(改变标准 latex 命令的语法通常不是一个好主意),然后给出\code
你可以使用的相同可选参数
\newcommand{\code}{\texttt}
或者
\newcommand{\code}[2][black]{\texttt[#1]{#2}}
要么允许\code{this}
,\code[red]{that}