如何在段落内添加框架?

如何在段落内添加框架?

我在文本的某些部分使用了一些小标记,我想将其中一个标记添加到标题为列表的段落中:

\newcommand{\hip}{{\color{BlueViolet}\framebox[1.1\width]{HIP}}}

\paragraph*{\hip{} Following that description, we can infer the following hypothesis:}

但是,失败了:

! Use of \reserved@a doesn't match its definition.
\@ifnextchar ... \reserved@d =#1\def \reserved@a {
                              #2}\def \reserved@b {#3}\f...
l.219 ..., we can infer the following hypothesis:}

! Use of \@framepicbox doesn't match its definition.
\@ifnextchar ...eserved@d =#1\def \reserved@a {#2}
                             \def \reserved@b {#3}\futu...
l.219 ..., we can infer the following hypothesis:}

这两个错误都带有这个解释,但对我来说毫无意义……“例如,如果你说‘\def\a1{...}’,那么你必须始终在‘\a’后面放置‘1’,因为控制序列名称仅由字母组成。这里的宏后面没有必需的内容,所以我忽略了它。”

这是什么意思?我该如何解决这个问题?


普通文本行中的命令示例:

假设框

答案1

在没有相反证据的情况下,这\hip似乎是一个“脆弱”的命令。

在“移动参数”中的脆弱命令之前添加\protect(这样的命令的参数\paragraph也可能用于其他地方,例如在目录中)将避免该问题。所以这里,\protect\hip

有关这种情况的更多信息可以通过以下问题找到 脆弱命令和坚固命令之间有什么区别?

答案2

我使用以下命令没有出现任何错误:

\documentclass{article}
\usepackage{color}
\definecolor{BlueViolet}{rgb}{0.54, 0.17, 0.89}
\newcommand{\hip}{{\color{BlueViolet}\framebox[1.1\width]{HIP}}}
\begin{document}
\paragraph*{\hip{} Following that description, we can infer the following hypothesis:}
\end{document}

我有这个输出:

在此处输入图片描述

答案3

按照@barbarabeeton的建议,使用 解决了这个问题\protect。如果她发布了答案,我会很乐意删除这个并接受她的答案:)

\paragraph*{\protect\hip{} Following...}

关于@qzx 的回答以及@cfr 和@Werner 的评论:

我没有添加序言,因为我的序言太大了,我认为这不是问题。这可能是 ABNTex2(一种汇集所有巴西格式模式的文档类)的默认命令和格式的问题,因为这是改变大多数内容的文档类。

相关内容