你不能在水平线中使用“宏参数字符 #”

你不能在水平线中使用“宏参数字符 #”

我有以下乳胶代码,我试图修饰一段 HTML 代码:

[``temperatures'', ``root'', ``\verb#*<TABLE*<TABLE*</TR>#</TABLE>*#'']

但我收到错误消息:

You can't use `macro parameter character #` in horizontal line

我想知道如何解决这个问题。

谢谢

答案1

source2e(部分54.3 逐字;重点补充):

该命令\verb生成内联逐字文本,其中参数由任何一对字符。

因此,由于您可能有兴趣将其用作#逐字文本的一部分,请使用不同的分隔符对,因为#错误消息表明这是不允许的:

在此处输入图片描述

\documentclass{article}
\begin{document}
[``temperatures'', ``root'', ``\verb!*<TABLE*<TABLE*</TR>#</TABLE>*!'']
\end{document}

为什么会出现错误信息?

\verb#*<TABLE*<TABLE*</TR>#</TABLE>*#

实际上是

\verb#*<TABLE*<TABLE*</TR>#

离开

</TABLE>*#

带有悬垂的#

答案2

嗯,你有#在您的\verb调用 中出现。#是一个特殊字符,因此当它遇到第一个时,它会变成分隔符。当它遇到第二个时,动词内容结束并#重新获得其特殊含义。当它遇到第三个时,:( 将分隔符更改为类似|@(或实际上任何内容中不存在的字符)。

就像是

[``temperatures'', ``root'', ``\verb+*<TABLE*<TABLE*</TR>#</TABLE>*+'']

答案3

如果您的文件中没有字符#但仍然出现相同的错误消息,请执行以下操作:

1) delete the .aux and the .bbl files in your folder
2) Recompile

这是唯一对我有用的方法。

希望能帮助到你 !

相关内容