我正在使用 aspell 拼写检查Linux上的LaTeX文档。我的文档经常包含各种编程语言的代码示例,我希望 aspell 在拼写检查时简单地跳过这些行。
我可以在我的文档中写一些内容,将 aspell 关闭一段文字吗?类似的东西:
This line should be spell checked.
% Hey, aspell, don't check the following lines
\begin{lstlisting}
if (xyzzy > foobar) {
doSomethingSilly();
}
\end{lstlisting}
% Hey, aspell, please check the following
This line should be spell checked.
答案 0 :(得分:1)
aspell跳过部分文件
拼写检查LaTeX文档
LaTeX文档需要更多的工作。
命令
aspell --lang=en_GB --add-tex-command="mySkip op" -c teste.tex
\mySkip[
\mySkip[
teste.tex
\documentclass{article}
\makeatletter
\def\myComment{\@ifnextchar[{\@with}{\@without}}
\def\@with[#1]#2{Hello #1, have you met #2?}
\def\@without#1{Goodbye #1.}
\makeatother
\mySkip[
if (xyzzy > foobar) {
\mySkip[
doSomethingSilly();
doSomethingOther();
doSomethingExtra();
}
]]
This liine should be spell checked.
在您需要的代码中每个开口花括号 {后出现问题\mySkip[
\mySkip[
if (abcdef > foobar) {
\mySkip[
doSomethingSilly();
if (test > 100) {
\mySkip[
doSomethingOther();
}
doSomethingExtra();
}
]]
This liine should be spell checked.
通过搜索和替换,您可以使代码准备好 在更换之前
替换后
对于sgml
来说,这更容易。
一步一步
aspell60-7
teste.html
This line should be spell checked.
<nospell>
if (xyzzy > foobar) {
doSomethingSilly();
}
</nospell>
<script>
if (xyzzy > foobar) {
doSomethingSilly();
}
</script>
This line should be spell checked.
teste.html
aspell60-7
aspell --lang=en_GB --add-filter=sgml --add-sgml-skip=nospell --add-sgml-skip=script -c -S teste.html
运行命令后
1) line
后的aspell
终止。 Gedit告诉文件teste.html
已更改。
new load
liine
是正确的。<nospell>
和<script>
包围的所有行都将被忽略。
这也适用于Windows,但仅适用于aspell6
。