%
当 MWE位于行末时会出现错误,如下所示
\documentclass[11pt]{article}%
\usepackage{fancyvrb}
\DefineVerbatimEnvironment{Xsmall}{Verbatim}{fontsize=\small}
\begin{document}
\begin{Xsmall}
test
\end{Xsmall}% ------> This causes the error
\end{document}
然后pdflatex
给出
) (/usr/local/texlive/2015/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix
<2008/02/07> (tvz)
(/usr/local/texlive/2015/texmf-dist/tex/latex/graphics/keyval.sty)) (./foo.aux)
! FancyVerb Error:
Extraneous input `%\end{}' between \end{Xsmall} and line end
.
\FV@Error ... {FancyVerb Error:
\space \space #1
}
l.11 \end{Xsmall}%
当然,解决办法是不要放在%
那里。但生活并没有那么简单。我使用另一个软件来帮助我生成这些 tex 文件。而且这个软件%
每次都会把它添加到那里。如果我删除它,然后再次将 tex 文件重新加载到其中,它会%
再次添加它。
我的问题是,我是否可以更改上述定义中的某些内容Xsmall
,以便添加这些内容%
不会导致编译时出现问题? 某种技巧、选项或宏?
再次,我必须使用其他软件(它是 Scientific Word),但我还需要使用这个宏,并能够使用 tex live 编译我的文件。没有办法告诉 SW 不要像这样在行尾不断添加。我试过了。它每次%
都会不断添加。%
这是文件列表
article.cls 2014/09/29 v1.4h Standard LaTeX document class
size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
fancybox.sty 2010/05/15 1.4
fancyvrb.sty 2008/02/07
keyval.sty 2014/10/28 v1.15 key=value parser (DPC)
Linux 上的 TL 2015。
答案1
感谢 Scientific Word 支持人员的帮助,他们为我的问题中的 Latex 问题提供了解决方法。我将其发布在这里,以防将来有人需要处理它。以下是答案
在封装的 TeX 字段后添加一个空格。末尾的 % 可抑制排版结果中通常不需要的空格。
所以我只需要在这里添加一个空格:
\begin{Xsmall}
test
\end{Xsmall} <----- ADD ONE SPACE HERE
现在科学词语不加一个%
!
案子了结。所以我得到了干净的编译。
答案2
我在使用 Sweave 时也遇到了类似的问题,在我添加行之后它被删除了
\usepackage{fancyvrb}
\usepackage{fvextra}
回到序言。