[Latex] tikz包使用时出现的一个问题及解决

最近写论文时,需要用到一个填充的等边三角形作为符号标记,latex本身的\blacktriangle 所呈现的却是等腰三角形,而\triangle只是未填充的等边三角形。网上查阅资料,发现了tikz包可以用于绘制一些符号,在导言区定义符号,并在实际始终在利用对符号的命名直接调用。

于是,定义了一个填充三角形,如下

    \newcommand{\brtri}{
      \begin{tikzpicture}[scale=0.7]
        \draw[line width=0.1pt] (0em,0em) -- (0.5em,0.866em) --(1em,0em) -- (0em,0em);
        \fill (0em,0em) -- (0.5em,0.866em) --(1em,0em) -- (0em,0em);
   \end{tikzpicture}}
但是在实际使用时,将该符号置于图片的caption中,却出现了问题,编译不能通过,报错# ! Missing \endcsname inserted #。对于此报错信息,普遍给出的答案是缺少“}”,认真检查了符号定义部分(定义该符号前正常编译),确实未找到缺少的大括号。

Google上找了一些网页,发现类似报错很多,但是原因却各不相同,同样未找到与我遇到问题一致的。最后考虑是否是\newcommand命令与\caption存在冲突,果然在google

的一个Group中找到了解决方案点击打开链接

解决方案有二,其一为在定义符号时, 用\DeclareRobustCommand替代\newcommand;其二是在调用\brtri时,使用\protect\brtri的形式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值