【问题标题】:Latex command with line break带换行符的乳胶命令
【发布时间】:2010-01-14 05:38:49
【问题描述】:

我正在尝试在乳胶中创建一个命令,当被调用时,例如 \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.

如果做不到这一点(我希望这是可能的),我可以接受我起草的另一个命令。但问题是我需要一种在文本之后放置换行符的方法,而无需用户指定它。

感谢所有帮助!

【问题讨论】:

    标签: latex command


    【解决方案1】:

    命令定义可以嵌套;每个级别的# 加倍。

    \newcommand\newchar[2]{% \newcommand #1 [1] {% \raggedright #2: \\ \hspace{0.5in} ##1% }% }

    更新: 只是关于# 加倍的评论。当您使用 \def 原语定义宏时,这更有意义;在这种情况下,一般结构类似于

    \def\foo{% \def\bar##1{bar: ##1}% }

    【讨论】:

    • 这正是我想要的。有趣的是,我在互联网上没有看到关于每个级别的双# 的部分。谢谢!
    • 既然我理解了这些问题,我正要建议尝试一下。另一天,又学到了另一件事。非常好。
    【解决方案2】:

    你想要什么对我来说并不完全清楚,但也许:

    \newcommand{\ab}[1]{\\
    #1:\\
    \hspace{4em}This is a line #1 says.}
    

    是一个开始的地方(特别是你的水平间距需要更清楚)。

    Helpful link.

    【讨论】:

    • 作为格式。但我正在寻找一种方法来创建一个可以创建新“别名”的命令。这样我就可以拥有“\test”并多次调用它来创建“\ab1”“\ab2”“\ab3”(通过“\test”确定的名称)。抱歉,如果我不是很清楚,这有点难以解释:S
    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多