如何修复警告“标签' '重复定义”的问题

3

我在R中运行lm回归,其中有分类变量和数值变量。我使用knitr编译Rnw文件以生成pdf。我使用texreg生成latex回归表。但是当我进行编译时,报告了许多“标签'”重复定义的行。我们是否必须为回归中的每个变量分配标签?但对于那些因子变量,我尝试分配标签,例如label(data $ var)< -“name”,然后警告是"label"命令无法应用于因子类别。现在我真的很困惑。有人能帮助我吗?


1
“标签'multiply defined'”表示您在LaTeX代码中多次发出\label{<something>}以表示完全相同的<something> - Werner
我收到了一个关于 \cite{} 的错误信息,请知悉。 - user5248982
3个回答

4

这里开发了一个Perl-Bash片段(点击此处)

perl -nE "say $1 if /(\\label[^}]*})/" *.tex | sort | uniq -c 

该命令使用正则表达式\\label[^}]*}搜索.tex文件中的所有\label{...},然后根据出现次数进行分组。只需修复出现次数大于1的标签(重复的标签),警告就会消失。


2

您正在使用texreg包创建多个表格以包含在LaTeX文档中。当您使用texreg函数时,将创建一个LaTeX表格。但是所有表格都具有相同的线:

\label{table:coefficients}

LaTeX抱怨同一标签被多次包含,因此不允许您引用任何特定表格。

为了解决这个问题,您可以在您的texreg调用中包含

texreg(mymodel, label = "firsttable")

请确保为每个表更改标签。


0
只需在perl -nE "say $1 if /(\\label[^}]*})/" *.tex | sort | uniq -c的末尾添加perl -lne 'print unless /^\s*1/',这样你就只会得到多次定义的标签。

perl -nE "say $1 if /(\\label[^}]*})/" *.tex | sort | uniq -c | perl -lne 'print unless /^\s*1/'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接