2015-04-08 3 views
1

Я использую aspell для проверки орфографии документов LaTeX на Linux. Очень часто в моих документах содержатся образцы кода на разных языках программирования, и я хотел бы aspell просто пропустить эти строки во время проверки орфографии.Попросите 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

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
  • кд в папку 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 для 1) line.
  • aspell завершается.
  • Gedit сообщает файл teste.html был изменен.

  • после new load

  • ранее модифицированного слова liine правильно.
  • все линии, окруженные <nospell> и <script>, игнорируются.

enter image description here

это также работает в окнах, но только с aspell6.