我正在尝试在乳胶中创建一个命令,当被调用时
\test{\ab}{TEST}
,将创建一个定义为的新命令
\ab[1]{\raggedright TEST: \\ \hspace{0.5in} #1}
。
我想做的事情就是这样:
\newchar{\ab}{TEST}
\ab{This is a line TEST says.}
那将执行以产生
TEST:
This is a line TEST says.
如果失败了(我希望这是可能的),我可以解决我已经起草的另一个命令。但问题是我需要一种方法在文本之后放置和换行,而无需用户指定它。
感谢所有人的帮助!
答案 0 :(得分:2)
命令定义可以嵌套;每个级别加倍#
。
\newcommand\newchar[2]{% \newcommand #1 [1] {% \raggedright #2: \\ \hspace{0.5in} ##1% }% }
更新:只是关于#
加倍的评论。当您使用\def
原语定义宏时,这更有意义;在这种情况下,一般结构类似于
\def\foo{% \def\bar##1{bar: ##1}% }
答案 1 :(得分:1)
你想要的并不完全清楚,但也许:
\newcommand{\ab}[1]{\\
#1:\\
\hspace{4em}This is a line #1 says.}
是一个开始的地方(特别是,你的水平间距需要更清晰)。