请aspell跳过部分文件

时间:2015-04-08 10:42:42

标签: ubuntu spell-checking aspell

我正在使用 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.

1 个答案:

答案 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.

通过搜索和替换,您可以使代码准备好 在更换之前

enter image description here

替换后

enter image description here

对于sgml来说,这更容易。

一步一步

  • 创建文件夹aspell60-7
  • 将teste.html复制到。

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
  • 中的字母
  • cd进入文件夹aspell60-7

enter image description here

  • 输入以下命令
aspell --lang=en_GB --add-filter=sgml --add-sgml-skip=nospell --add-sgml-skip=script -c -S teste.html

运行命令后

enter image description here

    输入1) line后的
  • aspell终止。
  • Gedit告诉文件teste.html已更改。

  • new load

  • 之后
  • 之前修改过的字词liine是正确的。
  • <nospell><script>包围的所有行都将被忽略。

enter image description here

这也适用于Windows,但仅适用于aspell6