<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" title="Pretty print" ?>
<?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css" title="Easy editing stylesheet" ?>
<!--
Spanish Grammar and Typo Rules for LanguageTool
Copyright (C) 2006 Marcin Miłkowski
Copyright (C) 2010 Juan Martorell

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-->
<!DOCTYPE rules [
<!ENTITY adverbio_lugar "detrás|delante|debajo|encima|cerca">
]>
<rules lang="es" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <unification feature="numero">
        <equivalence type="S">
            <token postag="(PX..|N.{2}|[ADP].{3}|V.{4})[SN0].*|.*_GN_.S.*" postag_regexp="yes"/>
        </equivalence>
        <equivalence type="P">
            <token postag="(PX..|N.{2}|[ADP].{3}|V.{4})[PN0].*|.*_GN_.P.*" postag_regexp="yes"/>
        </equivalence>
    </unification>
    <unification feature="genero">
        <equivalence type="M">
            <token postag="(PX.|N.|[ADP].{2}|V.{5})[MC].*|.*_GN_M..*" postag_regexp="yes"/>
        </equivalence>
        <equivalence type="F">
            <token postag="(PX.|N.|[ADP].{2}|V.{5})[FC].*|.*_GN_F..*" postag_regexp="yes"/>
        </equivalence>
    </unification>
    <unification feature="persona">
        <equivalence type="primera">
            <token postag="(P.|V.{3})[10].*" postag_regexp="yes"/>
        </equivalence>
        <equivalence type="segunda">
            <token postag="(P.|V.{3})[20].*" postag_regexp="yes"/>
        </equivalence>
        <equivalence type="tercera">
            <token postag="(P.|V.{3})[30].*" postag_regexp="yes"/>
        </equivalence>
    </unification>
  <category id="TYPOS" name="Ortografía (tipográficos)" type="misspelling">
    <!--AE_COMIDO Tiempos compuestos por «a» o «e» + participio-->

    <rulegroup id="AE_COMIDO" name="Tiempos compuestos 'a' o 'e' + participio">
      <!--A_PARTICIPIO a comido-->

      <rule id="A_PARTICIPIO" name="a + participio">
        <pattern>
          <token><exception inflected="yes" regexp="yes">meter|ol[oe]r|sab[oe]r|gust(o|ar)|arom.+|pest.+</exception></token>

          <marker>
            <token>a</token>
          </marker>

          <token postag="V[ASM]P00SM" postag_regexp="yes"><exception regexp="yes">(gan|sold|abog|pes?c)ado|dicho|(cubi|mu)erto|partido</exception></token>

        </pattern>

        <message>El verbo 'haber' lleva hache: <suggestion>ha</suggestion></message>

        <short>El verbo «haber» lleva hache.</short>

        <example correction="ha">El atleta <marker>a</marker> corrido de forma espectacular.</example>


        <example>Este bacalao huele <marker>a</marker> pescado fresco.</example>
      </rule>

      <!--E_PARTICIPIO e comido-->

      <rule id="E_PARTICIPIO" name="e+ participio">
        <pattern>
          <marker>
            <token>e</token>
          </marker>

          <token postag="V[ASM]P00SM" postag_regexp="yes"><!--Excluímos las palabras que empiezan por «i», ya que «e» puede actuar como conjunción--><exception regexp="yes">^h?[ií].* </exception></token>
        </pattern>

        <message>El verbo 'haber' lleva hache: <suggestion>he</suggestion></message>

        <short>El verbo «haber» lleva hache.</short>

        <example correction="he">Siempre <marker>e</marker> comido bien.</example>

        <example>Nos llevamos como anfitrión <marker>e</marker> invitado.</example>
      </rule>

      <!--PRON_E_PARTICIPIO me e comido-->

      <rule id="PRON_E_PARTICIPIO" name="pronombre + e + participio">
        <!--Con pronombre al principio, «e» es siempre incorrecto antes de participio.-->

        <pattern>
          <token postag="PP.*" postag_regexp="yes"/>

          <marker>
            <token>e</token>
          </marker>

          <token postag="V[ASM]P00SM" postag_regexp="yes" regexp="yes">^h?[ií].*</token>
        </pattern>

        <message>El verbo 'haber' lleva hache: <suggestion>he</suggestion></message>

        <short>El verbo «haber» lleva hache.</short>

        <example correction="he">Nos <marker>e</marker> incluido en la lista.</example>

        <example>Les <marker>he</marker> invitado.</example>
      </rule>
    </rulegroup>

    <rule id="HA_INFINITIVO" name="*ha/a + infinitivo">
        <pattern>
            <marker>
                <token>ha</token>
            </marker>
            <token postag="V.N.*|N.*|AQ.*" postag_regexp="yes"><exception postag="V.P.*" postag_regexp="yes"/><exception regexp="yes">de|menester|lugar</exception></token>
        </pattern>
        <message>Si es una preposición, se escribe <suggestion>a</suggestion>.</message>
        <example correction="a">Lo ha vuelto <marker>ha</marker> hacer.</example>
        <example correction="a">Volver <marker>ha</marker> casa.</example>
        <example>Lo ha dicho.</example>
        <example>Lo ha claramente dicho.</example>
        <example>Ha de regarse sin falta.</example>
    </rule>
    
    <!--AH_INF  ah acabar-->

    <rule id="AH_INF" name="ah + infinitivo (a)">
      <pattern case_sensitive="no">
        <token>ah</token>

        <token postag="V[ASM]N0000" postag_regexp="yes"/>
      </pattern>

      <message>La preposición se escribe sin h: <suggestion>a \2</suggestion>.</message>

      <short>La preposición «a» se escribe sin «h»</short>

      <example correction="a hablar">Voy <marker>ah hablar</marker> con ella.</example>

    </rule>

    <!-- HAZ_HAS Confusiones con el verbo hacer, ser y el sustantivo haz -->

    <rulegroup id="HAZ_HAS" name="Hacer/ser, haz">

      <!-- HAZ_PARTICIPIO Antes de un participio «Has» se escribe con «S». -->

      <rule id="HAZ_PARTICIPIO">
          <antipattern>
              <token postag_regexp="yes" postag="D.*"/>
              <token>haz</token>
          </antipattern>
          <pattern case_sensitive="no">
              <marker>
                <token>haz</token>
              </marker>
              <token postag="V[ASM]P00.*" postag_regexp="yes"/>
          </pattern>
          <message>El verbo auxiliar se escribe con «s»: <suggestion>has</suggestion>.</message>
          <short>El verbo auxiliar se escribe con «s»</short>
          <example correction="Has"><marker>Haz</marker> agotado mi paciencia.</example>
          <example>El haz dividido se proyecta en varios sitios.</example>
      </rule>
    </rulegroup>

    <!--VOY_HA_INF ir + ha + INF-->

    <rule id="VOY_HA_INF" name="ir ha + infinitivo (a)">
      <pattern>
        <token inflected="yes">ir</token>

        <token>ha</token>

        <token postag="V[ASM]N0000" postag_regexp="yes"/>
      </pattern>

      <message>Esta palabra se escribe sin h: <suggestion>\1 a \3</suggestion>.</message>

      <short>La preposición «a» se escribe sin «h»</short>

      <example correction="Voy a hablar"><marker>Voy ha hablar</marker> con ella.</example>


    </rule>

    <!--VOY_INF ir + infinitivo (a)-->

    <rule id="VOY_INF" name="ir + infinitivo (a)">
      <pattern>
        <token inflected="yes">ir<exception inflected="yes" regexp="yes">ver|ser</exception></token>

        <token postag="V[ASM]N0000" postag_regexp="yes"/>
      </pattern>

      <message>La construcción «ir» mas infinitivo exige la presencia de la preposición «a»: <suggestion>\1 a \2</suggestion>.</message>

      <short>La construcción «ir» mas infinitivo exige la presencia de la preposición «a»</short>

      <example correction="Voy a hablar"><marker>Voy hablar</marker> con ella.</example>

    </rule>

    <!-- PRONOM_TILDE Pronombres personales con o sin tilde -->

    <!-- Pronombres personales cuyo tilde se olvida o se pone impropiamente.
 Atención: estas reglas pueden generar muchos falsos positivos.-->

    <rulegroup id="PRONOM_TILDE" name="Pronombres personales con o sin tilde">

      <short>El pronombre personal lleva tilde.</short>

      <!-- TU_VERBO_P2 tu + verbo en 2a persona-->

      <rule id="TU_VERBO_P2" name="Tu + verbo en 2a">
        <pattern>
          <marker>
            <token>tu</token>
          </marker>

          <token postag="V.{3}2.*" postag_regexp="yes"><exception negate_pos="yes" postag="V.{3}2.*" postag_regexp="yes"/></token>
        </pattern>

        <message>El pronombre personal <suggestion>tú</suggestion> lleva tilde.</message>

        <example correction="tú">Cuando <marker>tu</marker> vuelves, yo voy.</example>

        <example>Me alegra tu vuelta al trabajo.</example>
      </rule>

      <rule id="TU_C" name="Tu + conjunción">
        <pattern>
           <marker>
             <token>tu</token>
           </marker>

           <token postag="C." postag_regexp="yes"><exception>bien</exception></token>
        </pattern>

        <message>El pronombre personal <suggestion>tú</suggestion> lleva tilde.</message>

        <example correction="tú">Esto queda entre <marker>tu</marker> y yo.</example>

        <example>Me alegra tu a la sazón victoria.</example>
      </rule>

        <rule id="EL_C" name="El + conjunción">
            <pattern>
                <marker>
                    <token>el</token>
                </marker>

                <token postag="CC"><exception regexp="yes">bien|tanto</exception></token>
            </pattern>

            <message>El pronombre personal <suggestion>él</suggestion> lleva tilde.</message>

            <example correction="él">Esto queda entre <marker>el</marker> y yo.</example>

            <example>Me gusta el que tienes.</example>
        </rule>

      <!-- TU_PARTICULA_VERBO_P2 tu no te lo pierdas
     Anulamos si entremedias hay al menos un nombre-->

      <rule id="TU_PARTICULA_VERBO_P2" name="Tu + partícula + verbo en 2a">
        <pattern>
          <marker>
            <token>tu</token>
          </marker>

          <token postag="[RPC].*|UNKNOWN" postag_regexp="yes" skip="3"><exception postag="A.*|DI0.S0" postag_regexp="yes"/><exception postag="A.*|DI0.S0" postag_regexp="yes" scope="next"/><exception regexp="yes" scope="next">[,;-_—]</exception></token>

          <token postag="V.{3}2.*" postag_regexp="yes"><exception regexp="yes" scope="previous">[,;-_—]</exception><exception postag="A.*|DI0.S0" postag_regexp="yes" scope="previous"/><exception negate_pos="yes" postag="V.{3}2.*" postag_regexp="yes"/></token>
        </pattern>

        <message>El pronombre personal <suggestion>tú</suggestion> lleva tilde.</message>

        <example correction="tú">Cuando <marker>tu</marker> no vuelves, yo voy.</example>

        <example>Me alegra tu feliz vuelta al trabajo.</example>
      </rule>

      <!-- EL_VERBO_P3 El + verbo 3a persona lleva tilde-->

      <rule id="EL_VERBO_P3" name="el + verbo en 3a">
        <pattern case_sensitive="yes">
          <marker>
            <token regexp="yes">[Ee]l</token>
          </marker>

          <token postag="V.{3}3.*" postag_regexp="yes"><exception postag="N.*|P.*|AQ.*" postag_regexp="yes"/><exception regexp="yes">\p{Lu}.*</exception></token>
        </pattern>

        <message>El pronombre personal <suggestion>él</suggestion> lleva tilde.</message>

        <example correction="él">Cuando <marker>el</marker> llegó, yo me fui.</example>

        <example>Me alegra tu vuelta al trabajo.</example>
      </rule>

      <!-- TU_FINAL Tu al final de la oración. Siempre será nominativo.-->

      <rule id="TU_FINAL" name="Pronombre tú al final de la oración.">
        <pattern>
          <marker>
            <token>tu</token>
          </marker>

            <token postag="SENT_END" regexp="yes" >[.?!;]</token>
        </pattern>

        <message>El pronombre personal <suggestion>tú</suggestion> lleva tilde.</message>

        <example correction="tú">Tu hermana es como <marker>tu</marker>.</example>

        <example>¿Te puedes ocupar tú?</example>
      </rule>

      <!-- EL_FINAL Él al final de la oración-->

      <rule id="EL_FINAL" name="Pronombre sin tilde al final de la oración">
        <pattern>
          <marker>
            <token>el</token>
          </marker>

            <token postag="SENT_END" regexp="yes">[.?!]</token>
        </pattern>

        <message>El pronombre personal <suggestion>él</suggestion> lleva tilde.</message>

        <example correction="él">Se encargará <marker>el</marker>.</example>

        <example>Esa caja es para él.</example>
      </rule>

      <!-- MI_FINAL mi al final de la oración simepre es pronombre personal. -->

      <rule id="MI_FINAL" name="Pronombre mí sin tilde al final de la oración">
        <pattern>
          <marker>
            <token>mi</token>
          </marker>

            <token postag="SENT_END" regexp="yes">[.?!]</token>
        </pattern>

        <message>El pronombre personal <suggestion>mí</suggestion> lleva tilde.</message>

        <example correction="mí">Ella estaba cerca de <marker>mi</marker>.</example>

        <example>Ella estaba cerca de mí.</example>
      </rule>

    </rulegroup>

    <rulegroup id="VERBO_TILDE" name="Verbos con o sin tilde">

        <short>El verbo lleva tilde.</short>

        <rule id="ESTA_PARTICIPIO" name="*esta/está + participio">
            <pattern>
                <marker>
                    <token>esta</token>
                </marker>
                <token min="0" postag="RG"/>
                <token postag="V.P..S[FM]" postag_regexp="yes"><exception postag="NCFS000"/></token>
            </pattern>
            <message>Si es del verbo estar, se escribe <suggestion>está</suggestion>.</message>
            <example correction="Está"><marker>Esta</marker> cansada.</example>
            <example correction="Está"><marker>Esta</marker> muy cansada.</example>
            <example correction="Está"><marker>Esta</marker> agotado.</example>
            <example>Esta revista es antigua.</example>
            <example>Esta comida es buena.</example>
        </rule>

        <!-- LO_SE lo sé-->

        <rule id="LO_SE" name="lo se (sé)">
            <pattern>
                <token regexp="yes">l[oae]</token>

                <marker>
                    <token>se</token>
                </marker>
            </pattern>

            <message>El presente de indicativo primera persona del verbo saber es <suggestion>sé</suggestion>.</message>

            <example correction="sé">Yo lo <marker>se</marker> desde hace tiempo</example>

            <example>Si lo sé, no vengo.</example>
        </rule>

        <!-- SE_FINAL se al final de la oración simepre es verbo. -->

        <rule id="SE_FINAL" name="se al final de la oración. (sé)">
            <pattern>
                <marker>
                    <token><!--Included «lo» to avoid overlap with LO_SE rule--><exception regexp="yes" scope="previous">per|lo</exception>se</token>
                </marker>

                <token postag="SENT_END" regexp="yes">[.?!]</token>
            </pattern>

            <message>El presente de indicativo primera persona del verbo saber es <suggestion>sé</suggestion>.</message>

            <example correction="sé">Hay quien programa, pero yo no <marker>se</marker>.</example>

            <example>Hay que saber tocar y yo sé.</example>
        </rule>

      <!-- DE_FINAL Dé al final de la oración-->

      <rule id="DE_FINAL" name="Verbo dé sin tilde al final de la oración">
        <pattern>
          <marker>
            <token>de</token>
          </marker>

            <token postag="SENT_END" regexp="yes">[.?!]</token>
        </pattern>

        <message>El verbo <suggestion>dé</suggestion> (forma del verbo dar) lleva tilde.</message>

        <example correction="dé">No es justo que sólo yo <marker>de</marker>.</example>

        <example>No es justo que sólo yo dé.</example>
      </rule>
    </rulegroup>

    <rulegroup id="SUSTANTIVO_TILDE" name="Verbos con o sin tilde">

      <short>El sustantivo lleva tilde.</short>

      <!-- TE_N: sustantivo masculino-->

      <rule id="TE_N" name="té sustantivo">
        <pattern>
          <marker>
            <token>te</token>
          </marker>

          <token regexp="yes">de|verde|perla|negro</token>
        </pattern>

        <message>El sustantivo <suggestion>té</suggestion> (bebida) lleva tilde.</message>

        <short>El sustantivo «té» lleva tilde.</short>

        <example correction="té">El <marker>te</marker> verde japonés es muy sabroso.</example>

        <example>El té verde japonés es muy sabroso.</example>
      </rule>

      <!-- TE_FINAL Té al final de la oración-->

      <rule id="TE_FINAL" name="Sustantivo té sin tilde al final de la oración">
        <pattern>
          <marker>
            <token>te</token>
          </marker>

            <token postag="SENT_END" regexp="yes">[.?!]</token>
        </pattern>

        <message>El sustantivo <suggestion>té</suggestion> (bebida) lleva tilde.</message>

        <example correction="té">Ella bebía <marker>te</marker>.</example>

        <example>Ella bebía té.</example>
      </rule>
    </rulegroup>
    <!-- SE_SABER_SER En la oración, se delante de ciertas palabras lleva tilde -->

    <rule id="SE_SABER_SER" name="Se delante de ciertas palabas" type="misspelling">
        <antipattern>
            <token>se</token>
            <token postag_regexp="yes" postag="(PP...0|V.[^NP]).+"/>
        </antipattern>
        <pattern>
            <marker>
                <token>se</token>
            </marker>
            <token postag_regexp="yes" postag="(P....[^AD]|[DRS]|V.[NP]).+"><exception postag="SENT_END"/><exception>hacia</exception></token>
        </pattern>
        <message>Delante de un pronombre no dativo o acusativo, determinante, adverbio, preposición o forma verbal no personal; <suggestion>sé</suggestion> lleva tilde.</message>
        <short>sé lleva tilde delante de \2</short>
        <example correction="sé">Qué <marker>se</marker> yo.</example>
        <example correction="sé">Pero <marker>se</marker> quién fue.</example>
        <example>Ella se fue.</example>
        <example>Ella se lo dijo.</example>
    </rule>

    <rule id="SE_HACIA" name="Se + hacia es se hacía" type="misspelling">
        <pattern>
            <token regexp="yes">[sl]e|la</token>
            <marker><token>hacia</token></marker>
        </pattern>
        <message>Quizá quiso poner<suggestion>hacía</suggestion></message>
        <short>El pretérito imperfecto del verbo hacer es hacía</short>
        <example correction="hacía">Eso se <marker>hacia</marker> mal.</example>
        <example correction="hacía">Eso le <marker>hacia</marker> mal.</example>
        <example correction="hacía">Esa bota la <marker>hacia</marker> otra compañía.</example>
        <example>Depende de lo hacia abajo que apuntes.</example>
    </rule>
    
    <rule id="A_PUNTO_DE" name="*apunto de/a punto de">
      <pattern>
        <marker>
          <token>apunto</token>
          <token>de</token>
        </marker>
        <token><exception regexp="yes">manera|forma</exception></token>
      </pattern>
      <message>Esta locución es escribe: <suggestion>a punto de</suggestion>.</message>
      <url>http://www.fundeu.es/recomendacion/a-punto-de-no-apunto-de-1427</url>
      <example correction="a punto de">Estaba <marker>apunto de</marker> llegar.</example>
      <example>se lo apunto de manera inmediata</example>
    </rule>

  </category>

  <category id="CAT1" name="Ortografía (concepto)" type="grammar">
    <!-- HABER_AVER Uso incorrecto de «haber» por «a ver»-->

    <rulegroup id="HABER_AVER" name="Uso incorrecto de «haber» por «a ver»">

      <short>Posible confusión del verbo «ver» con el verbo «haber»</short>

      <!--HABER_QUE-->

      <rule>
        <pattern>
          <token>haber</token>

          <token regexp="yes">qu[eé]</token>
        </pattern>

        <message>Verifique que no quiso decir <suggestion>a ver qué</suggestion>.</message>

        <example correction="a ver qué">Mirad esto, <marker>haber que</marker> opináis.</example>

        <example>Tiene en su haber el Campeonato del Mundo.</example>
      </rule>

      <!--HABER_SI-->

      <rule>
        <pattern>
          <token postag="SENT_START"/>

          <marker>
            <token>haber</token>

            <token>si</token>
          </marker>
        </pattern>

        <message>Verifique que no quiso decir <suggestion>a ver si</suggestion>.</message>

        <example correction="A ver si"><marker>Haber si</marker> puedes arreglar esto.</example>

        <example>No va a haber si se ha acabado.</example>
      </rule>
    </rulegroup>

    <!-- Y_E_O_U confusión en el nexo -->

    <rulegroup id="Y_E_O_U" name="y Italia, o Honduras">
      <!-- Y_E Cambio e por y-->

      <rule id="Y_E" name="e ante palabras empezando por i">
        <pattern>
          <token>y<exception scope="previous">¿</exception></token>

          <token regexp="yes">^h?[ií].* <exception regexp="yes">^h?ih?[aeouáéóú].*</exception><!--Números romanos--><exception regexp="yes">[ivxlcdm]+</exception></token>
        </pattern>

        <message>Cuando precede a palabras que comienzan por «i-» (o «hi-»), la conjunción «y» se transforma en «e»: <suggestion>e <match no="2"/></suggestion></message>

        <short>Cuando precede a palabras que comienzan por «i-» (o «hi-»), la conjunción «y» se transforma en «e»</short>

        <example correction="e Italia">Alemania <marker>y Italia</marker> disputarán el torneo.</example>


        <example>¿<marker>Y Irene</marker>?</example>
      </rule>

      <!-- O_U Cambio u por o-->

      <rule id="O_U" name="cambio de o ante palabras empezando por o">
        <pattern>
          <token>o</token>

          <token regexp="yes">^h?[oó].*</token>
        </pattern>

        <message>Cuando precede a palabras que comienzan por «o-» (u «ho-»), la conjunción «o» se transforma en «u»: <suggestion>u <match no="2"/></suggestion></message>

        <short>Cuando precede a palabras que comienzan por «o-» (u «ho-»), la conjunción «o» se transforma en «u»</short>

        <example correction="u Honduras">El torneo lo disputarán Alemania <marker>o Honduras</marker>.</example>

      </rule>
    </rulegroup>

    <!-- AFRENTAR_DIFICULTADES http://cvc.cervantes.es/alhabla/museo_horrores/museo_050.htm-->

    <rule id="AFRENTAR_DIFICULTADES" name="afrentar dificultades o problemas (afrontar)">

      <pattern>
        <token inflected="yes" skip="1">afrentar</token>

        <token inflected="yes" regexp="yes">dificultad|problema|vicisitud</token>
      </pattern>

      <message>La forma correcta es usando el verbo «afrontar»: <suggestion><match include_skipped="none" no="1" postag="(.*)" postag_replace="$1">afrontar</match> <match include_skipped="following" no="1"/> <match no="2"/></suggestion>"</message>
      <url>  http://cvc.cervantes.es/alhabla/museo_horrores/museo_050.htm</url>
      <short>Confusión entre «afrontar» y «afrentar»</short>

      <example correction="afrontar muchos problemas">Tuvo que <marker>afrentar muchos problemas</marker> con la mudanza.</example>

      <example>Afrontaron muchas dificultades en la travesía.</example>
    </rule>

    <!-- DESTORNILLAR_RISA http://cvc.cervantes.es/alhabla/museo_horrores/museo_015.htm-->

    <rule id="DESTORNILLAR_RISA" name="destornillarse de risa (desternillarse)">
      <pattern>
        <token inflected="yes" skip="1">destornillar</token>

        <token>de</token>

        <token>risa</token>
      </pattern>

      <message>La forma correcta es usando el verbo «desternillar»: <suggestion><match include_skipped="none" no="1" postag="(.*)" postag_replace="$1">desternillar</match> <match include_skipped="all" no="2"/> <match no="3"/></suggestion>"</message>
      <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_015.htm</url>
      <short>Confusión entre «desternillar» y «destornillar»</short>

      <example correction="desternilló de risa">Con ese chiste, se <marker>destornilló de risa</marker>.</example>

      <example>Casi te desternillas de risa el otro día.</example>
    </rule>

    <!-- CONTRA_MAS http://cvc.cervantes.es/alhabla/museo_horrores/museo_034.htm-->

    <rule id="CONTRA_MAS" name="Contra más (cuanto más)">
      <pattern>
        <token>contra</token>

        <token>más</token>
      </pattern>

      <message>La forma correcta es <suggestion>cuanto más</suggestion> excepto en el contexto de litigar o luchar y no en el contexto de sumar.</message>
      <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_034.htm</url>
      <short>Expresión incorrecta excepto en el contexto de luchar o litigar.</short>

      <example correction="cuanto más">Seguro que <marker>contra más</marker> estudias, más aprendes</example>

      <example>Cuanto más insistas, menos caso te haré.</example>
    </rule>

    <!-- SIN_ECUANIME confusión «sin ecuánime» «sine qua non» -->

    <rule id="SIN_ECUANIME" name="sin ecuánime (sine qua non)">
      <pattern>
        <token inflected="yes" regexp="yes">condición|requisito</token>

        <token>sin</token>

        <token>ecuánime</token>
      </pattern>

      <message>La forma correcta es <suggestion>\1 sine qua non</suggestion>.</message>

      <short>Confusión entre «sine qua non» y «sin ecuánime»</short>

      <example correction="condición sine qua non">Para aprobar, la <marker>condición sin ecuánime</marker> es obtener un 5.</example>

      <example>Es condición sine qua non tener permiso para entrar en el local.</example>
    </rule>
  </category>

  <category id="GRAMMAR" name="Gramática" type="grammar">
    <rule id="PREPOSICION_VERBO" name="Combinación imposible: preposición + verbo conjugado">
        <antipattern>
            <marker>
                <token regexp="yes">desde|hasta|de</token>
                <token regexp="yes">hace|hacía</token>
            </marker>
        </antipattern>
        <pattern>
            <token postag="SPS00|SP\+DA" postag_regexp="yes"><exception postag="CS"/></token>
            <token min="0" postag="DA.*" postag_regexp="yes"/>
            <token postag="V.[MSI].*" postag_regexp="yes" regexp="yes">[\p{Ll}]+<exception postag="V.[MSI].*" postag_regexp="yes" negate_pos="yes"/><exception>verse</exception></token> 
        </pattern> 
        <message>Combinación imposible: preposición + verbo conjugado.</message>
        <example correction=""><marker>en informa</marker>.</example>
        <example correction=""><marker>con el informa</marker>.</example>
        <example correction=""><marker>del informa</marker>.</example>
        <example correction=""><marker>de cantaba</marker>.</example>
        <example correction=""><marker>al encontrase</marker> ésta en baja</example>
        <example>de cantar</example>
        <example>Entre ellos están la llama</example>
        <example>según anunció un portavoz</example>
        <example>no volvieron a verse más</example> <!-- It needs better disambiguation: verse (v. ver, v. versar)--> 
        <example>al encontrarse ésta en baja</example>
    </rule>
    <rule id="SURGIR_EFECTO" name="*surgir/surtir efecto">
            <pattern>
                <marker>
                    <token inflected="yes">surgir</token>
                    <token>efecto</token>
                </marker>
            </pattern>
            <message>Expresión incorrecta.</message>
            <suggestion><match no="1" postag="(V.*)" postag_regexp="yes" postag_replace="$1">surtir</match> efecto</suggestion>
            <url>http://castellanoactual.com/surtir-o-surgir-efecto/</url>
            <short>Expresión incorrecta.</short>
            <example correction="surtió efecto">No <marker>surgió efecto</marker>.</example>
            <example>No surtió efecto.</example>
        </rule>


    <!-- EN_BASE_A En base a -> con base en (o basado en) (o sobre la base de) (http://cvc.cervantes.es/alhabla/museo_horrores/museo_039.htm)-->

    <rule id="EN_BASE_A" name="en base a">
      <pattern>
        <token>en</token>

        <token>base</token>

        <token>a</token>
      </pattern>

      <message>En español, la expresión «en base a» no existe. Puede cambiarse por <suggestion>basándonos en</suggestion>, <suggestion>basándose en</suggestion>, <suggestion>con base en</suggestion>, <suggestion>sobre la base de</suggestion>, <suggestion>en relación con</suggestion>, <suggestion>según</suggestion> o <suggestion>por</suggestion>.</message>
      <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_039.htm</url>
      <short>En español, la expresión «en base a» no existe.</short>

      <example correction="basándonos en|basándose en|con base en|sobre la base de|en relación con|según|por">Se puede regresar a la zona <marker>en base a</marker> lo expuesto por las autoridades.</example>

      <example>Se ha reducido la cadencia de los trenes basándose en la estadistica elaborada.</example>
    </rule>

    <!-- DE_GRATIS (http://buscon.rae.es/dpdI/SrvltConsulta?lema=gratis)-->

    <rule id="DE_GRATIS" name="«de gratis» (gratis)">
      <pattern case_sensitive="no">
        <token>de</token>

        <token>gratis</token>
      </pattern>

      <message>La forma correcta es decir <suggestion>gratis</suggestion> o <suggestion>de balde</suggestion>.</message>
      <url>http://buscon.rae.es/dpdI/SrvltConsulta?lema=gratis</url>
      <short>Confusión entre dos formas equivalentes</short>

      <example>El agua es gratis.</example>

      <example correction="gratis|de balde">El agua es <marker>de gratis</marker>.</example>
    </rule>

    <!-- DEQUEISMO_QUEISMO Dequeísmo y queísmo: utilización incorrecta de DE + QUE
      Fuentes: http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm -->

    <rulegroup id="DEQUEISMO_QUEISMO" name="Queísmos y dequeismos" type="grammar">

      <short>Posible dequeísmo.</short>

        <!--INF_PP_QUE Queísmo: convenceros que -> convenceros de que -->

      <rule id="INF_PP_QUE" name="Infinitivo tipo convencer + pron.pers + que">
        <pattern>
          <token regexp="yes">(alegrar|enterar|informar|dudar|convencer|hartar|quejar|protestar)(me|te|l[ea][s]?|se|nos|os)</token>

          <token>que</token>
        </pattern>

        <message>En este contexto, el verbo va seguido normalmente de la preposición 'de': <suggestion>\1 de \2</suggestion></message>
        <url>http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm</url>

        <example correction="alegrarse de que">Está bien <marker>alegrarse que</marker> haya dinero para todos.</example>

        <example>No pareces <marker>enterarte de que</marker> todo está resuelto.</example>
      </rule>

      <!-- ESTAR_SEGURO_QUE Queísmo: Estoy seguro que -> Estoy seguro de que -->

      <rule id="ESTAR_SEGURO_QUE" name="Estar + seguro + que">
        <pattern>
          <token inflected="yes"><exception postag="VAIP3S0"/>estar</token>

          <token inflected="yes" regexp="yes">seguro|alegre|triste|entristecer|sorprender|convencer|agobiar|preocupar|harto|cansar|aburrir</token>

          <token>que</token>
        </pattern>

        <message>En este contexto, el verbo va seguido normalmente de la preposición 'de': <suggestion>\1 \2 de \3</suggestion></message>
        <url>http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm</url>
        <short>Posible queísmo.</short>

        <example correction="Estamos seguros de que"><marker>Estamos seguros que</marker> falta poco para acabar.</example>

        <example><marker>Está segura de que</marker> lo que decís es cierto.</example>
      </rule>

      <!-- PP_V_QUE Queísmo: me alegro que -> me alegro de que -->

      <rule id="PP_V_QUE" name="PP + verbo tipo alegrar + que">
        <pattern>
          <token postag="PP[12]C[SP]000" postag_regexp="yes"/>

          <token inflected="yes" regexp="yes">alegrar|sorprender|entristecer|agobiar|emocionar|aburrir|preocupar<exception postag="VM..3.." postag_regexp="yes"/></token>

          <token>que</token>
        </pattern>

        <message>En este contexto, el verbo va seguido normalmente de la preposición 'de': <suggestion>\1 \2 de que</suggestion></message>
        <url>http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm</url>
        <short>Posible queísmo.</short>

        <example correction="Nos alegramos de que"><marker>Nos alegramos que</marker> haya comida para todos</example>

        <example>Fue cuando <marker>os enterasteis de que</marker> se acabó la temporada.</example>
      </rule>

      <!-- VERBO_DE_QUE Queísmo: Pienso de que -> Pienso que -->

      <rule id="VERBO_DE_QUE" name="verbo tipo pensar + de que">
        <pattern>
          <token inflected="yes" regexp="yes">pensar|opinar|creer|comentar|expresar|decir|deducir|inferir|colegir|razonar|comunicar|confirmar|corroborar|desmentir|constar|resultar|aconsejar|ver|observar<exception>razones</exception></token>

          <token>de</token>

          <token>que</token>
        </pattern>

        <message>Posible dequeísmo: <suggestion>\1 \3</suggestion>.</message>
        <url>http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm</url>

        <example correction="Pienso que"><marker>Pienso de que</marker> estamos mejorando mucho.</example>

        <example>Creemos <marker>que</marker> podemos mejorar más.</example>
      </rule>

      <!-- ESTAR_CLARO_DE_QUE Queísmo: Está claro de que -> Está claro que -->

      <rule id="ESTAR_CLARO_DE_QUE" name="Verbo tipo estar + AQ + de que">
        <pattern>
          <token inflected="yes" regexp="yes">ser|estar|encontrar|ver|entender</token>

          <token postag="RG|AQ.*" postag_regexp="yes"><exception inflected="yes" regexp="yes">seguro|libre|consciente|harto</exception></token>

          <token>de</token>

          <token>que</token>
        </pattern>

        <message>Posible dequeísmo: <suggestion>\1 \2 \4</suggestion>.</message>
        <url>http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm</url>

        <example correction="Es fácil que"><marker>Es fácil de que</marker> volvamos a encontrarnos</example>

        <example><marker>Encontrarás útil que</marker> hayan cambiado el cartel</example>
      </rule>

      <!-- V3_DE_QUE Dequeísmo: Me alegra de que -> Me alegra que -->

      <rule id="V3_DE_QUE" name="Verbo en 3a + de que">
        <pattern>
          <token postag="PP[123]C[SP][0D]00" postag_regexp="yes"/>

          <token regexp="yes">alegra|entristece|agobia|importa|resbala|harta|emociona|altera|aburre|falta|preocupa</token>

          <token>de</token>

          <token>que</token>
        </pattern>

        <message>Posible dequeísmo: <suggestion>\1 \2 \4</suggestion>.</message>
        <url>http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm</url>

        <example correction="Me alegra que"><marker>Me alegra de que</marker> volvamos a encontrarnos</example>

        <example><marker>Me entristece que</marker> hayan cambiado el cartel</example>
      </rule>

      <!-- INSISTIR_DE_QUE Dequeísmo: Insisto de que -> Insisto en que -->

      <rule id="INSISTIR_DE_QUE" name="Verbo tipo insistir + de que">
        <pattern>
          <token inflected="yes">insistir</token>

          <token>de</token>

          <token>que</token>
        </pattern>

        <message>Posible dequeísmo: <suggestion>\1 en \3</suggestion>.</message>
        <url>http://cvc.cervantes.es/ALHABLA/MUSEO_HORRORES/museo_010.htm</url>

        <example correction="insistas en que">No <marker>insistas de que</marker> vayamos al cine</example>

        <example><marker>Inisitieron en que</marker> les faltaba un documento.</example>
      </rule>
    </rulegroup>

    <!--DETRAS_PX http://cvc.cervantes.es/alhabla/museo_horrores/museo_025.htm-->

    <rulegroup id="DETRAS_PX" name="Adverbio de posición + posesivo">

      <short>Los posesivos nunca pueden acompañar a los adverbios.</short>

      <!--1ª Singular: detrás mío.-->

      <rule>
        <pattern>
          <token regexp="yes">&adverbio_lugar;</token>

          <token postag="PX1.S0S0" postag_regexp="yes"/>
        </pattern>

        <message>La expresión correcta es «<suggestion>\1 de <match no="2" postag="PX(\d).S0S0" postag_regexp="yes" postag_replace="PP$1CSO00">mí</match></suggestion>».</message>
        <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_025.htm</url>

        <example correction="detrás de mí">Venían <marker>detrás mío</marker>.</example>

        <example>Tengo a los niños encima de mí.</example>
      </rule>

      <!--2ª Singular: debajo tuyo/tuya-->

      <rule>
        <pattern>
          <token regexp="yes">&adverbio_lugar;</token>

          <token postag="PX2.S0S0" postag_regexp="yes"/>
        </pattern>

        <message>La expresión correcta es «<suggestion>\1 de <match no="2" postag="PX(\d).S0S0" postag_regexp="yes" postag_replace="PP$1CSO00">ti</match></suggestion>».</message>
        <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_025.htm</url>

        <example correction="detrás de ti">Venían <marker>detrás tuyo</marker>.</example>

        <example>Tienes a los niños encima de ti.</example>
      </rule>

      <!--1ª plural: delante nuestro/a.-->

      <rule>
        <pattern>
          <token regexp="yes">&adverbio_lugar;</token>

          <token postag="PX1.S0P0" postag_regexp="yes"/>
        </pattern>

        <message>La expresión correcta es «<suggestion>\1 de nosotros</suggestion>» o «<suggestion>\1 de nosotras</suggestion>».</message>
        <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_025.htm</url>

        <example correction="detrás de nosotros|detrás de nosotras">Venían <marker>detrás nuestro</marker>.</example>

        <example>Tenemos a los niños encima de nosotros.</example>
      </rule>

      <!--2ª plural: cerca vuestro/a-->

      <rule>
        <pattern>
          <token regexp="yes">&adverbio_lugar;</token>

          <token postag="PX2.S0P0" postag_regexp="yes"/>
        </pattern>

        <message>La expresión correcta es «<suggestion>\1 de vosotros</suggestion>» o «<suggestion>\1 de vosotras</suggestion>».</message>
        <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_025.htm</url>

        <example correction="detrás de vosotros|detrás de vosotras">Venían <marker>detrás vuestro</marker>.</example>

        <example>Tenemos a los niños encima de vosotros.</example>
      </rule>

      <!--3ª: detrás suyo-->

      <rule>
        <pattern>
          <token regexp="yes">&adverbio_lugar;</token>

          <token postag="PX3.{2}0C0" postag_regexp="yes"/>
        </pattern>

        <message>La expresión correcta es «<suggestion>\1 de él</suggestion>» o «<suggestion>\1 de ella</suggestion>» o «<suggestion>\1 de ello</suggestion>» o «<suggestion>\1 de ellos</suggestion>» o «<suggestion>\1 de ellas</suggestion>» o «<suggestion>\1 de usted</suggestion>» o «<suggestion>\1 de ustedes</suggestion>».</message>
        <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_025.htm</url>

        <example correction="detrás de él|detrás de ella|detrás de ello|detrás de ellos|detrás de ellas|detrás de usted|detrás de ustedes">Venían <marker>detrás suya</marker>.</example>

        <example>Tienen a los niños encima de ellos.</example>
      </rule>
    </rulegroup>

    <!--http://roble.pntic.mec.es/acid0002/index_archivos/Gramatica/imperativo.htm
        cantad [cantar/VMM02P0]
        cantéis[cantar/VMSP2P0]

        ven   [venir/VMM02S0
        vengas[venir/VMSP2S0]-->

    <!--NO_IMPERATIVO No + imperativo-->

    <rule id="NO_IMPERATIVO" name="no + imperativo">
      <pattern>
        <token regexp="yes">no|nunca|jamás</token>

        <token postag="VMM.*" postag_regexp="yes"><exception negate_pos="yes" postag="VMM.*" postag_regexp="yes"/></token>
      </pattern>

      <message>Con la partícula negativa \1, en lugar del imperativo \2 debe usarse el subjuntivo <suggestion>\1 <match no="2" postag="VMM.(.{3})" postag_regexp="yes" postag_replace="VMSP$1"/></suggestion>.</message>
        <url>http://roble.pntic.mec.es/acid0002/index_archivos/Gramatica/imperativo.htm</url>
      <short>Con sentido negado, en lugar del imperativo debe emplearse el subjuntivo.</short>

      <example correction="No contéis"><marker>No contad</marker> con nosotros.</example>

      <example>Nunca contéis conmigo.</example>
    </rule>


  <rule id="ID_HUBO_HUBIERON" name="Uso incorrecto del plural del verbo haber">
      <antipattern>
          <marker><token inflected='yes' postag='V.[IS].3P.' postag_regexp='yes'>haber</token></marker>
          <token postag_regexp="yes" postag="(L_)?RG|PP2CP00P|PP3[MF]P000"/>
          <token postag_regexp="yes" postag="V.P.+"/>
      </antipattern>
      <antipattern>
          <marker><token inflected='yes' postag='V.[IS].3P.' postag_regexp='yes'>haber</token></marker>
          <!-- TODO: correct next token when -mente adverbs are tagged -->
          <token regexp="yes">de|.+mente</token>
          <!-- TODO: activate next commented token when pronominal and reflexive forms are tagged -->
          <!-- <token postag_regexp="yes" postag="V.N0000"/> -->
      </antipattern>
      <pattern>
          <marker>
              <token inflected='yes' postag='V.[IS].3P.' postag_regexp='yes'>haber<exception>han</exception></token> <!-- "han" no se usa como plural de "hay"-->
          </marker>
          <token regexp='yes'>.+<exception postag='V.P.+|PP3.*|UNKNOWN' postag_regexp='yes'/></token>
      </pattern>
      <message>Se conjuga el verbo Haber en plural para la tercera persona sólo si va seguido del participio de un verbo. <suggestion><match no="1" postag="V(.{3})3P(.)" postag_regexp="yes" postag_replace="V$13S$2"/></suggestion></message>
      <short>Verbo haber en plural sin participio.</short>
      <example correction="Hubo"><marker>Hubieron</marker> varios disparos</example>
      <example>Hubo varios disparos</example>
      <example>Hubiera sido peor si no vienen.</example>
      <example>Ellos habían nacido para jugar.</example>
      <example>De la dinastía Han.</example> 
  </rule>

    <rule id="HABER_GERUNDIO" name="han *realizando/realizado">
        <pattern>
            <token postag="VA.*" postag_regexp="yes" inflected="yes">haber<exception>hay</exception></token>
            <marker>
                <token postag="V.*" postag_regexp="yes"><exception postag="V.P..SM|[^V].*|VMP0000" postag_regexp="yes"/></token>
            </marker>
        </pattern>
        <message>Falta un participio o la preposición 'de'.</message>
        <suggestion><match no="2" postag="V.P..SM" postag_regexp="yes"/></suggestion>
        <suggestion>de <match no="2" postag="V.N.*" postag_regexp="yes"/></suggestion>
        <example correction="realizado|de realizar">No se han <marker>realizando</marker>.</example>
        <example correction="realizado|de realizar">No se han <marker>realizada</marker>.</example>
        <example correction="realizado|de realizar">No se han <marker>realizar</marker>.</example>
        <example correction="defendido|de defender">Habían <marker>defendiendo</marker> el resultado.</example>
        <example correction="encontrado|de encontrar">Se han <marker>encontraron</marker> indicios.</example>
        <example correction="considerado|de considerar">Se han <marker>consideran</marker> indicios.</example>
        <example>Entre lo que hay consideramos que sí.</example>
        <example>Habían considerado la cuestión.</example>
        <example>Que haya malentendidos.</example>
        <example>Habían como mínimo cinco.</example>
        <example>Allí no ha llovido.</example>
    </rule>

    <!--PP_SE: te se -> se te-->

    <rule id="PP_SE" name="te se, me se">
      <pattern>
        <token postag="PP.CS[0D]00" postag_regexp="yes"/>

        <token>se</token>
      </pattern>

      <message>El orden de las partículas debe invertirse: «<suggestion>\2 \1</suggestion>».</message>

      <short>El pronombre reflexivo en 3a persona debe ir primero.</short>

      <example correction="se te">¡Como te agarre, <marker>te se</marker> cae el pelo!</example>

      <example>Lo agarraron y se le cayó el pelo.</example>
    </rule>

    <!--MAS_BUENO_MALO más + bueno/malo = mejor/peor-->

    <rulegroup id="MAS_BUENO_MALO" name="más + bueno/malo (mejor/peor)">

      <short>Confusión con el comparativo.</short>

      <!--MAS_BUENA más buena = mejor-->

      <rule id="MAS_BUENA">
        <pattern>
          <token>más</token>

          <token inflected="yes" postag="AQ.*" postag_regexp="yes">bueno</token>
        </pattern>

        <message>Se utiliza el término <suggestion><match no="2" postag="AQ.{2}(.)." postag_replace="AQ0C$10">mejor</match></suggestion></message>

        <example correction="mejor">Este pan está <marker>más bueno</marker> que el otro</example>

        <example>Cuando una solución es la más simple es mejor que cualquier otra.</example>
      </rule>

      <!--MAS_MALA más mala = peor-->

      <rule id="MAS_MALA">
        <pattern>
          <token>más</token>

          <token inflected="yes" postag="AQ.*" postag_regexp="yes">malo</token>
        </pattern>

        <message>Se utiliza el término <suggestion><match no="2" postag="AQ.{2}(.)." postag_replace="AQ0C$10">peor</match></suggestion></message>

        <example correction="peor">Este pan está <marker>más malo</marker> que el otro</example>

        <example>Cuando una solución es la más complicada es peor que cualquier otra.</example>
      </rule>
    </rulegroup>

    <!--GROSSO_MODO
        http://buscon.rae.es/dpdI/SrvltConsulta?lema=grosso-->

    <rule id="GROSSO_MODO" name="A grosso modo --&gt; grosso modo">
      <pattern>
        <token postag="SP.*" postag_regexp="yes"/>

        <token regexp="yes">gross?o</token>

        <token>modo</token>
      </pattern>

      <message>La expresión latina <suggestion>grosso modo</suggestion> se usa sin preposición.</message>
      <url>http://buscon.rae.es/dpdI/SrvltConsulta?lema=grosso</url>
      <short>La expresión latina se usa sin preposición.</short>

      <example correction="grosso modo">Las cifras indican <marker>a grosso modo</marker> que la gestión es correcta.</example>

      <example>La Tierra se encuentra, dicho grosso modo, a ocho minutos-luz del Sol.</example>
    </rule>

    <!--SIN_ENCAMBIO Sin en cambio = Sin embargo/en cambio-->

    <rule id="SIN_ENCAMBIO" name="Sin en cambio --&gt; Sin embargo, en cambio">
      <pattern>
        <token>sin</token>

        <token>en</token>

        <token>cambio</token>
      </pattern>

      <message>Se utiliza <suggestion>en cambio</suggestion> o <suggestion>sin embargo</suggestion></message>

      <short>fusión errónea de dos expresiones distintas.</short>

      <example correction="en cambio|sin embargo">Imagino que <marker>sin en cambio</marker> está de acuerdo.</example>

      <example>La Tierra se encuentra, en cambio, a ocho minutos-luz del Sol.</example>
    </rule>

    <!--SI_QUIERA Si quiera = siquiera-->

    <rule id="SI_QUIERA" name="Si quiera--&gt; Siquiera">
      <pattern>
        <token>si</token>

        <token>quiera</token>
      </pattern>

      <message>Se utiliza <suggestion>siquiera</suggestion></message>

      <short>Separación incorrecta del adverbio o conjunción.</short>

      <example correction="siquiera">Imagino que ni <marker>si quiera</marker> está de acuerdo.</example>

      <example>La que sí quiera, puede venir.</example>
    </rule>
    
    <rulegroup id="SINO_SI_NO" name="sino/si no">
      <antipattern>
        <marker>
          <token regexp="yes">o|y</token>
          <token min="0">,</token>
          <token>si</token>
          <token>no</token>
        </marker>
      </antipattern>
      <rule> <!-- TODO: This rule needs better disambiguation of nouns/verbs after "sino/si no"-->
        <antipattern> 
          <marker>
            <token>si</token>
            <token>no</token>
            <token>?</token>
          </marker>
        </antipattern>
        <pattern>
          <token postag="RN|PT.*" postag_regexp="yes" skip="-1"><exception regexp="yes">como|cuando</exception><exception scope="next" regexp="yes">sino|porque</exception></token>
          <marker>
            <token>si<exception scope="previous">como</exception></token>
            <token skip="-1">no<exception postag="V.[MSI].*" postag_regexp="yes" scope="next"/></token>
          </marker>
          <token postag="SENT_END|_PUNCT.*" postag_regexp="yes"></token>
        </pattern>
        <message>Posible confusión.</message>
        <suggestion>sino</suggestion>
        <example correction="sino">No lo hizo él <marker>si no</marker> su primo.</example>
        <example correction="sino">No lo hizo él <marker>si no</marker> su hermano.</example>
        <example>No iré  si no para de llover.</example>
      </rule>
      <rule>
        <pattern>
          <marker>
            <token skip="2">sino<exception scope="next" regexp="yes">que|también|porque|como|cómo|donde|qué|quien|quién|si|quienes|quiénes|,|;|cuando|según</exception></token>
          </marker>
          <token postag="V.[^NGP].*" postag_regexp="yes"><exception postag="V.[^NGP].*" negate_pos="yes" postag_regexp="yes"/></token>
        </pattern>
        <message>Posible confusión.</message>
        <suggestion>si no</suggestion>
        <example correction="Si no"><marker>Sino</marker> vienes, será peor.</example>
        <example correction="si no">¿Qué podía hacer <marker>sino</marker> quería resignarme?</example>
        <example>No es así, sino de otra manera.</example>
      </rule>
      <rule>
        <pattern>
          <token postag="RN|PT.*" postag_regexp="yes" skip="-1"><exception scope="next" postag="RN|PT.*" postag_regexp="yes"/></token>
          <marker>
            <token>si</token>
            <token>no</token>
          </marker>
          <token regexp="yes">que|también|porque|donde|como|cuando|quien|quién|quienes|quiénes</token>
        </pattern>
        <message>Posible confusión.</message>
        <suggestion>sino</suggestion>
        <example correction="sino">No quiero que venga, <marker>si no</marker> que no vuelva por aquí. </example>
      </rule>
      <rule>
        <pattern>
          <token postag="SENT_START" skip="-1"><exception scope="next" regexp="yes">no|ni|ninguno|ninguna|nadie|nunca|raramente|sin|tampoco</exception><exception scope="next" postag="RN|PT.*" postag_regexp="yes"/></token>
          <marker>
            <token>sino</token>
          </marker>
        </pattern>
        <message>Posible confusión.</message>
        <suggestion>si no</suggestion>
        <example correction="si no">La mayoría, <marker>sino</marker> todas, son tóxicas.</example>
        <example>Él no solo es valiente sino sabio.</example>
        <example>Ninguna de las dos entidades puede existir, sino en relación con el Otro.</example>
      </rule>
    </rulegroup>    
  </category>

  <category id="CAT2" name="Concordancia" type="inconsistency">

    <rule id="LAS_NUMBER_MALE" name="'las tres preceptos' etcétera">
        <pattern>
            <marker>
                <token>las</token>
            </marker>
            <token postag='Z'/>
            <token postag='NCMP000'/>
        </pattern>
        <message>concordancia gramatical</message>
        <suggestion>los</suggestion>
        <example correction='los'>Cumplir dos de <marker>las</marker> tres preceptos.</example>
    </rule>

    <rule id="LOS_NUMBER_FEMALE" name="'los tres preguntas' etcétera">
        <pattern>
            <marker>
                <token>los</token>
            </marker>
            <token postag='Z'/>
            <token postag='NCFP000'/>
        </pattern>
        <message>concordancia gramatical</message>
        <suggestion>las</suggestion>
        <example correction='las'>Cumplir dos de <marker>los</marker> tres preguntas.</example>
    </rule>

    <rule id="ALGUNA_OTRO" name="'alguna otro' -> 'alguna otra'">
        <pattern>
            <token>alguna</token>
            <marker>
                <token>otro</token>
            </marker>
        </pattern>
        <message>concordancia gramatical</message>
        <suggestion>otra</suggestion>
        <example correction='otra'>Alguna <marker>otro</marker> error de ortografía</example>
    </rule>

    <!--CONC_NUM Concordancias de número-->

    <rulegroup id="CONC_NUM" name="Concordancias de número">
      <!-- Exclusiones deliberadas:
                 Las formas estilísticas adjetivo + nombre (casos S->P y P->S)
                 Razón: Son costosas (x2) y poco comunes para justificar su inclusión.
                 TODO: Incluir una categoría por defecto desactivada con esas reglas.
          No se sintetiza porque es muy difícil saber la intención del autor y más que ayudar puede despistar.
          TODO: Simplificar con desambiguación.
          TODO: sugerencias múltiples-->

      <short>Concordancia de número dudosa.</short>
      <antipattern>
        <marker>
          <token>lo</token>
          <token postag="AQ.*" postag_regexp="yes"/>
          <token>que</token>
        </marker>
      </antipattern>

      <rule id="LO_LOS" name="confusión lo/los">
        <pattern>
          <marker>
            <token>lo</token>
          </marker>
          <token postag="N..P.*|AQ..P.|V.P..P." postag_regexp="yes"><exception postag="V.[SI].*" postag_regexp="yes"/></token>
        </pattern>
        <message>Posible error de concordancia.</message>
        <suggestion>los</suggestion>
        <example correction="los">a favor de <marker>lo</marker> acreedores.</example>
        <example correction="los">a favor de <marker>lo</marker> azulados.</example>
        <example>¿Por qué lo preguntas?</example>
        <example>Lo eres tú.</example>
        <example>Lo pequeños que son.</example>
      </rule>
      
      <!-- DET_NOM_SING Concordancia (el pavos) -->

      <rule id="DET_NOM_SING" name="Concordancia singular en Determinante + nombre">
        <pattern case_sensitive="yes">
          <token postag="D.{3}S.*" postag_regexp="yes"><exception postag="DI0CS0"/></token>

          <token postag="N.{2}P.*" postag_regexp="yes"><!--TODO: Include adjectives: N.{2}P.*|AQ.{2}P. --><exception negate_pos="yes" postag="N.{2}P.*" postag_regexp="yes"/><exception regexp="yes">[Bb]otones|\p{Lu}\p{L}*</exception></token>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction="">Acércame <marker>la sillas</marker>, por favor.</example>

        <example>Acércame las sillas, por favor.</example>
      </rule>

      <!-- DEL_NOM_SING Concordancia (del pavos) -->

      <rule id="DEL_NOM_SING" name="Concordancia singular en «del» + nombre">
        <pattern case_sensitive="yes">
          <token regexp="yes">del|al</token>

          <token postag="N.{2}P.*" postag_regexp="yes"><!--TODO: Include adjectives: N.{2}P.*|AQ.{2}P. --><exception negate_pos="yes" postag="N.{2}P.*" postag_regexp="yes"/><exception regexp="yes">\p{Lu}\p{L}*</exception></token>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction="">Ha vuelto <marker>del parques</marker> pronto.</example>

        <example>Ha vuelto del parque pronto.</example>
      </rule>

      <!-- DET_NOM_PLUR Concordancia (los pavo) -->

      <rule id="DET_NOM_PLUR" name="Concordancia plural en Determinante + nombre">
        <pattern case_sensitive="yes">
          <token postag="D.{3}P.*" postag_regexp="yes"/>

          <token postag="N.{2}S.*" postag_regexp="yes"><!--TODO: Include adjectives: N.{2}S.*|AQ.{2}S. --><exception negate_pos="yes" postag="N.{2}S.*" postag_regexp="yes"/><exception regexp="yes">\p{Lu}\p{L}*</exception></token>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction="">Ordenamos <marker>las silla</marker> por colores.</example>

        <example>Ordenamos las sillas por colores.</example>
      </rule>

      <!-- NOM_ADJ_SINGULAR Concordancia (pavo rojos) -->

      <rule id="NOM_ADJ_SINGULAR" name="Concordancia singular Nombre + adjetivo">
        <pattern case_sensitive="yes">
          <marker>
            <token postag="N.{2}S.*" postag_regexp="yes" skip="1"><exception postag="C.*|SP.*" postag_regexp="yes" scope="previous"/><exception postag="[VRCD].*|SP.*" postag_regexp="yes"/><exception regexp="yes">mayoría|minoría|parte|número|mitad|vez|modo|manera|guisa|forma</exception><exception postag="N.*" postag_regexp="yes" scope="next"/><exception regexp="yes" scope="next">[^\p{L}].*|al|del|suficientemente</exception></token>

            <token postag="A.{3}P.*" postag_regexp="yes"><exception postag="[VRCD].*|SP.*" postag_regexp="yes" scope="previous"/><exception postag="D.*|SP.*" postag_regexp="yes"/><exception regexp="yes">\p{Lu}\p{L}+|juntos</exception></token>
          </marker>

          <token postag=".+" postag_regexp="yes"><exception postag="N.{2}P.*" postag_regexp="yes" scope="current"/></token>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction="">Hay <marker>silla rojas</marker> en esa tienda.</example>

        <example>Hay sillas verdes en esa tienda.</example>
      </rule>

      <!-- NOM_ADJ_PLURAL Concordancia (pavos rojo) -->

      <rule id="NOM_ADJ_PLURAL" name="Concordancia plural Nombre + adjetivo">
        <pattern case_sensitive="yes">
          <marker>
            <token postag="N.{2}P.*|P.{3}P.*" postag_regexp="yes" skip="1"><exception postag="SP.*" postag_regexp="yes" scope="previous"/><exception regexp="yes">\p{Lu}\p{L}*</exception><exception negate_pos="yes" postag="N.{2}P.*|P.{3}P.*" postag_regexp="yes"/><exception inflected="yes" postag="" regexp="yes">me|nos|mí|conmigo|ti|contigo|lo|le|les|se|consigo|la|do</exception><exception regexp="yes">botones|veces</exception><exception regexp="yes" scope="next">[^\p{L}].*|al|del</exception></token>

            <token postag="A.{3}S.*" postag_regexp="yes"><exception postag="[VRCD].*|SP.*" postag_regexp="yes" scope="previous"/><exception scope="previous">del</exception><exception postag="R.*|SP.*" postag_regexp="yes"/><exception regexp="yes">clave|guía|extra|\p{Lu}\p{L}+</exception></token>
          </marker>

          <token postag=".+" postag_regexp="yes"><exception postag="C.*" postag_regexp="yes" regexp="yes">[;,]</exception></token>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction="">Pintaremos las <marker>sillas verde</marker> de otro color.</example>

        <example>Pintaremos las sillas verdes de otro color.</example>
      </rule>

      <!-- LAS_CASAS Concordancia (las casa) -->

      <rule id="Las_Casa" name="las casa">
        <pattern>
          <token regexp="yes">las|los</token>

          <marker>
            <token>casa</token>
          </marker>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction="">Las <marker>casa</marker> de la colina.</example>

        <example>Las casas de la colina.</example>
      </rule>
    </rulegroup>

    <!-- CONC_GENERO Concordancias de género -->

    <rulegroup id="CONC_GENERO" name="Concordancias de género">
      <!-- Exclusiones deliberadas:
                Las formas estilísticas adjetivo + nombre (casos M->F y F->M)
                Razón: Son costosas (x2) y poco comunes para justificar su inclusión.
                TODO: Incluir una categoría por defecto desactivada con esas reglas.

                El grupo completo se ha copiado del de concordancias de género,
                sustituyendo S y P por F y M respectivamente y ajustando los textos
                y las posiciones.
         TODO: Simplificar con desambiguación.
         TODO: Realizar sugerencias múltiples.
            -->

      <short>Concordancia de género dudosa.</short>
      <!-- DET_NOM_FEM Concordancia (la pavo) -->

      <rule id="DET_NOM_FEM" name="Concordancia femenino en Determinante + nombre">
        <pattern case_sensitive="yes">
          <token postag="D.{2}F.*" postag_regexp="yes"/>

          <token postag="N.{1}M.*" postag_regexp="yes"><exception negate_pos="yes" postag="N.{1}M.*" postag_regexp="yes" scope="current"/><exception regexp="yes">botones|\p{Lu}\p{L}*</exception><exception inflected="yes" regexp="yes">la|do|número</exception></token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\1» y «\2».</message>

        <example correction="">Me gusta <marker>esa teléfono</marker> para ti.</example>

        <example>Me gusta ese coche para ti.</example>
      </rule>

      <!-- DET_FEM_NOM_FEM Palabras que empiezan por fonema A tónico. -->

      <rule id="DET_FEM_NOM_FEM" name="Palabras que empiezan por fonema A tónico">
        <pattern case_sensitive="no">
          <token>la</token>

          <!--Eliminado "alta" por tener valor femenino y masculino.-->

          <token regexp="yes">aura|ágata|ágora|águila|álgebra|áncora|ánfora|ánima|área|árnica|acta|afta|agua|aguasal|aguaviva|ala|alba|alga|algia|alma|alza|ama|anca|ancla|ansia|ara|arca|archa|aria|arma|arpa|arria|arte|asa|ascua|asma|aspa|asta|aula|ave|aya|haba|habla|hacha|hada|hambre|hampa|haya</token>
        </pattern>

        <message>Antes de una palabra que empieza por "a" o "ha" tónicas, se emplea el determinante masculino: <suggestion>el \2</suggestion>.</message>

        <short>Determinante incorrecto.</short>

        <example correction="el agua">Me gusta <marker>la agua</marker> que hay ahí.</example>

        <example>Me gusta el agua que hay ahí.</example>
      </rule>

      <!-- DET_NOM_MASC Concordancia (ese pava) -->

      <rule id="DET_NOM_MASC" name="Concordancia masculino en Determinante + nombre">
        <pattern case_sensitive="yes">
          <token postag="D[^P].{1}M.*" postag_regexp="yes"><exception regexp="yes">[Ee]l|(([Aa]l|[Nn]in)g)?[Uuú]n</exception><exception postag="R.*" postag_regexp="yes"/></token>

          <token postag="N.{1}F.*" postag_regexp="yes"><exception negate_pos="yes" postag="N.{1}F.*" postag_regexp="yes" scope="current"/><exception regexp="yes">\p{Lu}\p{L}*</exception></token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\1» y «\2».</message>

        <example correction="">Me gusta <marker>ese silla</marker> que hay ahí.</example>

        <example>Me gusta esa silla que hay ahí.</example>
      </rule>

      <!-- EL_NOM_MASC Concordancia (el pava) -->

      <!-- La última excepción es para evitar solapamiento con EL_AGRAVANTE -->

      <rule id="EL_NOM_MASC" name="Concordancia masculino en «el» + nombre">
        <pattern case_sensitive="yes">
          <token postag="DA0MS0"/>

          <token postag="N.{1}F.*" postag_regexp="yes"><exception negate_pos="yes" postag="N.{1}F.*" postag_regexp="yes" scope="current"/><exception regexp="yes">\p{Lu}\p{L}*|aura|ágata|ágora|águila|álgebra|áncora|ánfora|ánima|área|árnica|acta|afta|agua|aguasal|aguaviva|ala|alba|alga|algia|alma|alta|alza|ama</exception><exception regexp="yes">anca|ancla|ansia|ara|arca|archa|aria|arma|arpa|arria|arte|asa|ascua|asma|aspa|asta|aula|ave|aya|haba|habla|hacha|hada|hambre|hampa|haya</exception><exception regexp="yes">a(grav|tenu)ante</exception></token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\1» y «\2».</message>

        <example correction="">Me gusta <marker>el silla</marker> que hay ahí.</example>

        <example>Me gusta esa silla que hay ahí.</example>
      </rule>

      <!-- DEL_NOM_MASC Concordancia (del pava)-->

      <rule id="DEL_NOM_MASC" name="Concordancia masculino en «del» + nombre">
        <pattern case_sensitive="yes">
          <token regexp="yes">[Dd]el|[Aa]l</token>

          <token postag="N.{1}F.*" postag_regexp="yes"><exception postag="AQ.*|N.{1}M.*|SP.*" postag_regexp="yes" scope="current"/><exception regexp="yes">\p{Lu}\p{L}*|aura|ágata|ágora|águila|álgebra|áncora|ánfora|ánima|área|árnica|acta|afta|agua|aguasal|aguaviva|ala|alba|alga|algia|alma|alta|alza|ama</exception><exception regexp="yes">anca|ancla|ansia|ara|arca|archa|aria|arma|arpa|arria|arte|asa|ascua|asma|aspa|asta|aula|ave|aya|haba|habla|hacha|hada|hambre|hampa|haya</exception></token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\1» y «\2».</message>

        <example correction=""><marker>Del silla</marker></example>

        <example>Del paso</example>
      </rule>

      <!-- NOM_ADJ_FEM Concordancia (pava rojo) -->

      <rule id="NOM_ADJ_FEM" name="Concordancia femenino Nombre + adjetivo">
        <pattern case_sensitive="yes">
          <token/>

          <marker>
            <token postag="N.{1}F.*|PD0F.*" postag_regexp="yes" skip="1"><exception postag="SP.*|C." postag_regexp="yes" scope="previous"/><!--Previously excluded C.*|SP.*|R.* without negated POS--><exception negate_pos="yes" postag="N.{1}F.*|PD0F.*" postag_regexp="yes"/><exception regexp="yes">\p{Lu}\p{L}*|\w</exception><exception inflected="yes" regexp="yes">mayoría|minoría|mitad|parte|vez|era|eres</exception><exception postag="[NVRCD].*|SP.*|PR.*" postag_regexp="yes" scope="next"/><exception regexp="yes" scope="next">\W*</exception><exception regexp="yes" scope="next">del|al</exception></token>

            <token postag="A.{2}M.*" postag_regexp="yes"><exception regexp="yes">\p{Lu}\p{L}+|juntos</exception></token>
          </marker>

          <token postag=".+" postag_regexp="yes"><exception postag="N.{1}M.*" postag_regexp="yes" scope="current"/></token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\2» y «\3».</message>

        <example correction="">La <marker>silla feo</marker> está al fondo.</example>

        <example>La silla roja está al fondo</example>
      </rule>

      <!-- NOM_ADJ_MASC Concordancia (pavo roja) -->

      <rule id="NOM_ADJ_MASC" name="Concordancia masculino Nombre + adjetivo">
        <pattern case_sensitive="yes">
          <marker>
            <token postag="N.{1}M.*|P.{2}M.*" postag_regexp="yes" skip="1"><exception negate_pos="yes" postag="N.{1}M.*|P.{2}M.*" postag_regexp="yes"/><exception>dos</exception><exception regexp="yes" scope="next">[^\p{L}]+</exception><exception postag="[VCD].*|SP.*" postag_regexp="yes" scope="next"/></token>

            <token postag="A.{2}F.*" postag_regexp="yes"><exception regexp="yes">\p{Lu}\p{L}+</exception><exception postag="N.*" postag_regexp="yes"/></token>
          </marker>

          <token postag=".+" postag_regexp="yes"><exception postag="N.{1}F.*" postag_regexp="yes" scope="current"/></token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\1» y «\2».</message>

        <example correction="">El <marker>sillón roja</marker> está al fondo.</example>

        <example>El sillón rojo está al fondo.</example>
      </rule>

      <!-- CADA_UNA_DE_LOS Concordancia (Concordancia M/F) -->

      <rule id="CADA_UNA_DE_LOS" name="Concordancia «Cada una de los»">
        <pattern case_sensitive="no">
          <token postag="SENT_START"/>

          <token>cada</token>

          <token>una</token>

          <token>de</token>

          <token>los</token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\3» y «\5».</message>

        <short>Concordancia de género dudosa en la forma distributiva cada... de...</short>

        <example correction=""><marker>Cada una de los</marker> caballeros está ocupado.</example>

        <example>Cada uno de los caballeros está ocupado.</example>
      </rule>

      <!-- CADA_UNO_DE_LAS Concordancia (Concordancia F/M) -->

      <rule id="CADA_UNO_DE_LAS" name="Concordancia «Cada una de las»">
        <pattern case_sensitive="no">
          <token postag="SENT_START"/>

          <token>cada</token>

          <token>uno</token>

          <token>de</token>

          <token>las</token>
        </pattern>

        <message>Posible falta de concordancia de género entre «\3» y «\5».</message>

        <short>Concordancia de género dudosa en la forma distributiva cada... de...</short>

        <example correction=""><marker>Cada uno de las</marker> damas está ocupada.</example>

        <example>Cada una de las damas está ocupada.</example>
      </rule>

      <!-- EL_AGRAVANTE Concordancia (este atenuante) -->

      <!-- Esta regla solapaba a EL_NOM_MASC en algunos casos y se añade una excepción para evitarlo -->

      <rule id="EL_AGRAVANTE" name="El agravante y el atenuante">
          <pattern>
              <token postag="D..M.." postag_regexp="yes"/>

              <token inflected="yes" regexp="yes">a(grav|tenu)ante</token>
          </pattern>

          <message>En Derecho, «\2» tiene tratamiento femenino, ya que se omite la palabra «circunstancia».<suggestion><match no="1" postag="(D..)M(..)" postag_regexp="yes" postag_replace="$1F$2"/></suggestion></message>

          <example correction="la">Se hizo con <marker>el agravante</marker> de nocturnidad.</example>

          <example correction="la">En este caso concurre <marker>el atenuante</marker> del pronto pago.</example>
      </rule>
    </rulegroup>

    <!--Concordancias con verbos-->

    <!--CONC_V_PERSONA Concordancia de persona-->

    <rulegroup id="CONC_V_PERSONA" name="Concordancia de persona">
      <!--Concordancica de persona (pronombre personal nominativo + verbo)
         TODO: Simplificar con desambiguación
         TODO: Ofrecer sugerencias múltiples-->

      <short>Concordancia de persona dudosa.</short>
      <!-- PP_V_1 Concordancia (yo entregas)-->

      <rule id="PP_V_1" name="Concordancia 1ª persona">
        <pattern>
          <token postag="PP1(.{2}N|CN0|MP0).*" postag_regexp="yes"><exception postag="SP.*" postag_regexp="yes" scope="previous"/><exception postag="V.{3}1.*|C.*|SP.*" postag_regexp="yes"/></token>

          <token postag="V.{3}[23].*" postag_regexp="yes"><exception postag="V.{3}1.*|AQ.*" postag_regexp="yes"/></token>
        </pattern>

        <message>Posible falta de concordancia de persona entre «\1» y «\2».</message>

        <example correction=""><marker>Yo vienes</marker></example>

        <example>Yo vengo</example>
      </rule>

      <!-- PP_V_2 Concordancia (tú entrego)-->

      <rule id="PP_V_2" name="Concordancia 2ª persona">
        <pattern case_sensitive="no">
          <token postag="PP2(.{2}N|CN0|MP0).*" postag_regexp="yes"><exception postag="SP*" postag_regexp="yes" scope="previous"/></token>

          <token postag="V.{3}[13].*" postag_regexp="yes"><exception postag="AQ.*|SP.*" postag_regexp="yes"/><!--TODO: generalizar.--><exception regexp="yes">como|una|obra</exception></token>
        </pattern>

        <message>Posible falta de concordancia de persona entre «\1» y «\2».</message>

        <example correction=""><marker>Tú vengo</marker></example>

        <example>Tú vienes</example>
      </rule>

      <!-- PP_V_3 Concordancia (él entrego)-->

      <rule id="PP_V_3" name="Concordancia 3ª persona">
        <pattern case_sensitive="no">
          <token postag="PP3(.*000|CN0|MP0).*" postag_regexp="yes"><exception postag="SP.*" postag_regexp="yes" scope="previous"/></token>

          <token postag="V.{3}[12].*" postag_regexp="yes"><exception postag="V.{3}3.*|C.*|SP.*" postag_regexp="yes"/><exception postag="V.{3}3.*|AQ.*|[NCR].*" postag_regexp="yes"/></token>
        </pattern>

        <message>Posible falta de concordancia de persona entre «\1» y «\2».</message>

        <example correction=""><marker>Él vengo</marker></example>

        <example>Él viene</example>
      </rule>

      <!-- PP_V_SINGULAR Concordancia singular (él vienen)-->

      <rule id="PP_V_SINGULAR" name="Concordancia singular Nombre + verbo">
        <!-- Eliminados sustantivos y otros pronombres por elevado número de falsos positivos. -->

        <pattern>
          <token postag="PP.{2}S.*" postag_regexp="yes"><exception postag="SP.*|C.*|PT.*" postag_regexp="yes" scope="previous"/><exception negate_pos="yes" postag="PP.{2}S.*" postag_regexp="yes"/><exception postag="PP.C.[0D]00" postag_regexp="yes"/></token>

          <token postag="V.{4}P.*" postag_regexp="yes"/>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction=""><marker>Yo venimos</marker></example>

        <example>Yo vengo</example>
      </rule>

      <!-- PP_V_PLURAL Concordancia (ellos viene)-->

      <rule id="PP_V_PLURAL" name="Concordancia plural Nombre + verbo">
        <!-- Eliminados los sustantivos y otros pronombres por exceso de falsos positivos.-->

        <pattern>
          <token postag="PP.{2}P.*" postag_regexp="yes"><exception postag="SP.*|CS.*|PT.*" postag_regexp="yes" scope="previous"/> <exception postag="AQ.*|V.*|PP[12]C.000|PP3.{2}[AD]00" postag_regexp="yes"/></token>

          <token postag="V.{4}S.*" postag_regexp="yes"><exception negate_pos="yes" postag="V.*" postag_regexp="yes"/></token>
        </pattern>

        <message>Posible falta de concordancia de número entre «\1» y «\2».</message>

        <example correction="">sólo <marker>ellos vuela</marker> por el cielo</example>

        <example>aviones vuelan</example>
      </rule>
    </rulegroup>
  </category>

  <category id="CAT3" default="off" name="Concordancia predicativa" type="inconsistency">
    <!-- SUJ_PRED_ATRIB_SINGULAR Concordancia (pavo es rojos) -->

    <rule id="SUJ_PRED_ATRIB_SINGULAR" name="Concordancia de sujeto y predicado en singular en oraciones atributivas">
      <pattern case_sensitive="yes">
        <token postag="N.{2}S.*|P.{3}S.*" postag_regexp="yes" skip="1"><exception scope="previous">del|al</exception><exception postag="SP.*|C.*" postag_regexp="yes" scope="previous"/><exception postag="PP.C.[DO0]00|R.*|C.*|SP.*" postag_regexp="yes"/><exception regexp="yes">mayoría|minoría|parte|número</exception><exception postag="[NC].*" postag_regexp="yes" scope="next"/></token>

        <token inflected="yes" regexp="yes" skip="1"><exception regexp="yes" scope="previous">[^\w].*|se</exception><exception postag="C.*|SP.*" postag_regexp="yes" scope="previous"/><exception postag="C.*|SP.*" postag_regexp="yes" scope="next"/>ser|parecer</token>

        <token postag="N.{2}P.*|A.{3}P.*" postag_regexp="yes"><exception postag="V.*" scope="previous"/><exception postag="SP.*|[CDRV].*" postag_regexp="yes"/></token>
      </pattern>

      <message>Posible falta de concordancia de número entre «\1» y «\3».</message>

      <short>Concordancia de número dudosa.</short>

      <example correction="">Esa <marker>cortina parece suaves</marker></example>

      <example>Los aviones son azules</example>
    </rule>

    <!-- SUJ_PRED_ATRIB_PLURAL Concordancia (pavos es rojo) -->

    <rule id="SUJ_PRED_ATRIB_PLURAL" name="Concordancia de sujeto y predicado en número en oraciones atributivas">
      <pattern>
        <token postag="N.{2}P.*|P.{3}P" postag_regexp="yes" skip="1"><exception postag="SP.*" postag_regexp="yes" scope="previous"/><exception>botones</exception><exception postag="PP.C.[DO0]00" postag_regexp="yes"/><exception postag="[NC].*" postag_regexp="yes" scope="next"/></token>

        <token inflected="yes" regexp="yes" skip="1"><exception regexp="yes" scope="previous">[^\w].*|se</exception><exception postag="VM[NG]0000" postag_regexp="yes" scope="next"/>ser|estar|parecer</token>

        <token postag="N.{2}S.*|A.{3}S.*" postag_regexp="yes"><exception postag="SP.*|[CD].*" postag_regexp="yes" scope="previous"/><exception postag="SP.*|[CDRV].*" postag_regexp="yes"/></token>
      </pattern>

      <message>Posible falta de concordancia de número entre «\1» y «\3».</message>

      <short>Concordancia de número dudosa.</short>

      <example correction="">Las <marker>cortinas parecen suave</marker></example>

      <example>Los aviones son azules</example>
    </rule>

    <!-- SUJ_PRED_ATRIB_FEM Concordancia (pava es rojo)-->

    <rule id="SUJ_PRED_ATRIB_FEM" name="Concordancia de sujeto y predicado en femenino en oraciones atributivas">
      <!--*Quitados los pronombres: Eso es cal-->

      <pattern>
        <token postag="N.{1}F.*" postag_regexp="yes" skip="1"><exception postag="SP.*" postag_regexp="yes" scope="previous"/><exception postag="[RC].*" postag_regexp="yes"/><exception postag="[NC].*" postag_regexp="yes" scope="next"/></token>

        <token inflected="yes" regexp="yes" skip="2"><exception regexp="yes" scope="previous">[^\w].*|se</exception>ser|parecer</token>

        <token postag="A.{2}M.*" postag_regexp="yes"><exception postag="SP.*|[CDRV].*" postag_regexp="yes"/><exception regexp="yes">la|do</exception></token>
      </pattern>

      <message>Posible falta de concordancia de género entre «\1» y «\3».</message>

      <short>Concordancia de género dudosa.</short>

      <example correction="">La <marker>cortina es amarillo</marker></example>

      <example>Los aviones son amarillos</example>
    </rule>

    <!-- SUJ_PRED_ATRIB_MASC Concordancia (pavo es roja) -->

    <rule id="SUJ_PRED_ATRIB_MASC" name="Concordancia de sujeto y predicado en masculino en oraciones atributivas">
      <pattern>
        <token postag="N.{1}M.*" postag_regexp="yes" skip="1"><exception postag="RN"/><exception regexp="yes">botones|la|do</exception><exception postag="N.*|CS" postag_regexp="yes" scope="next"/></token>

        <token inflected="yes" regexp="yes" skip="2"><exception regexp="yes" scope="previous">[^\w].*|se</exception>ser|estar|parecer</token>

        <token postag="A.{2}F.*" postag_regexp="yes"><exception postag="SP.*|[CDRV].*" postag_regexp="yes"/></token>
      </pattern>

      <message>Posible falta de concordancia de género entre «\1» y «\3».</message>

      <short>Concordancia de género dudosa.</short>

      <example correction=""><marker>Este es amarilla</marker></example>

      <example>La avioneta será costosa</example>
    </rule>
  </category>

  <category id="CAT4" name="Estilo" type="style">
    <!-- LOOR : La forma preferida es OLOR (http://cvc.cervantes.es/alhabla/museo_horrores/museo_014.htm)-->

    <rule id="LOOR" name="Loor de multitudes">
      <pattern>
        <token>loor</token>

        <token>de</token>

        <token>multitudes</token>
      </pattern>

      <message>Se prefiere la expresion «<suggestion>olor de multitudes</suggestion>».</message>
      <url>http://cvc.cervantes.es/alhabla/museo_horrores/museo_014.htm</url>
      <short>Expresión incorrecta.</short>

      <example correction="olor de multitudes">Entraron en <marker>loor de multitudes</marker></example>

      <example>Entraron en olor de multiitudes</example>
    </rule>

    <!--ELLOS_ELLAS: El neutro en español se forma igual que el masculino (http://buscon.rae.es/dpdI/SrvltGUIBusDPD?origen=RAE&lema=g%E9nero2#22)-->

    <rulegroup id="ELLOS_ELLAS" name="Redundancias no sexistas incorrectas">

      <short>Redundancia. El neutro es suficiente.</short>

      <!-- TODAS_Y_TODOS : Primero ellas y luego ellos, sin partículas-->

      <rule id="TODAS_Y_TODOS" name="Redundancia neutro - femenino + masculino">
        <pattern>
          <token postag="(P.|N).FP.+" postag_regexp="yes"/>

          <token postag="CC"><exception>sino</exception></token>

          <token><match no="0" postag="(P.|N)(.)F(.+)" postag_regexp="yes" postag_replace="$1$2M$3"/></token>
        </pattern>

        <message>Posible redundancia. Si no se quiere remarcar la diferencia de género, es suficiente con <suggestion>\3</suggestion>.</message>
        <url>http://buscon.rae.es/dpdI/SrvltGUIBusDPD?origen=RAE&amp;lema=g%E9nero2#22</url>


        <example correction="todos">Hemos llegado <marker>todas y todos</marker></example>

        <example>Defenderemos a nuestros compañeros.</example>
      </rule>

      <!-- TODOS_Y_TODAS : Primero ellos y luego ellas, sin partículas-->

      <rule id="TODOS_Y_TODAS" name="Redundancia neutro - masculino + femenino">
        <pattern>
          <token postag="(P.|N).MP.+" postag_regexp="yes"/>

          <token postag="CC"><exception>sino</exception></token>

          <token><match no="0" postag="(P.|N)(.)[MC](.+)" postag_regexp="yes" postag_replace="$1$2F$3"/></token>
        </pattern>

        <message>Posible redundancia. Si no se quiere remarcar la diferencia de género, es suficiente con <suggestion>\1</suggestion>.</message>
        <url>http://buscon.rae.es/dpdI/SrvltGUIBusDPD?origen=RAE&amp;lema=g%E9nero2#22</url>

        <example correction="todos">Hemos llegado <marker>todos y todas</marker></example>

        <example>Defenderemos a nuestros compañeros.</example>
      </rule>

      <!--LAS_TIAS_Y_LOS_TIOS : Primero ellas y luego ellos, con preposiciones y artículos-->

      <rule id="LAS_TIAS_Y_LOS_TIOS" name="Redundancia neutro - femenino + masculino con partículas">
        <pattern>
          <token postag="[DS].+" postag_regexp="yes"><exception postag="P.*" postag_regexp="yes"/></token>

          <token postag="(P.|N).FP.+" postag_regexp="yes"/>

          <token postag="CC"><exception>sino</exception></token>

          <token postag="[DS].+" postag_regexp="yes"><exception postag="P.*" postag_regexp="yes"/></token>

          <token><match no="1" postag="(P.|N)(.)F(.+)" postag_regexp="yes" postag_replace="$1$2M$3"/></token>
        </pattern>

        <message>Posible redundancia. Si no se quiere remarcar la diferencia de género, es suficiente con <suggestion><match include_skipped="following" no="4"/> <match no="5"/></suggestion>.</message>
        <url>http://buscon.rae.es/dpdI/SrvltGUIBusDPD?origen=RAE&amp;lema=g%E9nero2#22</url>

        <example correction="los mozos">Mira cómo se divierten <marker>las mozas y los mozos</marker></example>

        <example>Queda sopa para todos los alumnos y para todas las jugadoras.</example>
      </rule>

      <!--LOS_TIOS_Y_LAS_TIAS : Primero ellos y luego ellas, con preposiciones y artículos-->

      <rule id="LOS_TIOS_Y_LAS_TIAS" name="Redundancia neutro - masculino + femenino con partículas">
        <pattern>
          <token postag="[DS].+" postag_regexp="yes"><exception postag="P.*" postag_regexp="yes"/></token>

          <token postag="(P.|N).[MC]P.+" postag_regexp="yes"/>

          <token postag="CC"><exception>sino</exception></token>

          <token postag="[DS].+" postag_regexp="yes" skip="1"><exception postag="P.*" postag_regexp="yes"/></token>

          <token><match no="1" postag="(P.|N)(.)[MC](.+)" postag_regexp="yes" postag_replace="$1$2F$3"/></token>
        </pattern>

        <message>Posible redundancia. Si no se quiere remarcar la diferencia de género, es suficiente con <suggestion><match include_skipped="following" no="1"/> <match no="2"/></suggestion>.</message>
        <url>http://buscon.rae.es/dpdI/SrvltGUIBusDPD?origen=RAE&amp;lema=g%E9nero2#22</url>

        <example correction="los mozos">Debemos ayudar a <marker>los mozos y las mozas</marker></example>

        <example>Debemos ayudar a los alumnos.</example>
      </rule>
    </rulegroup>

    <!-- EN_RELACION_A: La forma preferida es: en relación con o con relación a-->

    <rule id="EN_RELACION_A" name="en relación a">
      <pattern case_sensitive="no">
        <marker>
          <token>en</token>

          <token>relación</token>

          <token regexp="yes">a|al</token>
        </marker>
      </pattern>

      <message>En español, la expresión «en relación a / al» no existe. Puede cambiarse por <suggestion>en relación con</suggestion>, <suggestion>con relación a</suggestion> o <suggestion>en lo que se refiere a</suggestion>.</message>

      <short>En español, la expresión «en relación a» no esiste.</short>

      <example correction="en relación con|con relación a|en lo que se refiere a">Es muy austero <marker>en relación a</marker> su indumentaria</example>

      <example>Es muy austero en relación con su indumentaria</example>
    </rule>

    <!-- TODO: Following rules need simplification using Regex. Lots of falsee positives due to skip -1 attr.-->

    <!-- RELACIONADO_A: La forma preferida es: RELACIONADO CON-->

    <rule id="RELACIONADAOS_A" name="relacionada/o/s a">
      <pattern>
        <marker>
          <token regexp="yes">relacionad[oa]s{0,1}<exception scope="current"/></token>

          <token>a</token>
        </marker>
      </pattern>

      <message>En español, la expresión «\1 \2» no existe. Puede cambiarse por <suggestion>\1 con</suggestion>.</message>

      <short>En español, la expresión «\1 \2» no existe.</short>

      <example correction="relacionada con">Esa canción está <marker>relacionada a</marker> los Beatles.</example>

      <example>Esca canción está relacionada con los Beatles.</example>
    </rule>

    <rule id="RELACIONADAOS_AL" name="relacionada/o/s al">
      <pattern>
        <marker>
          <token regexp="yes">relacionad[oa]s{0,1}<exception scope="current"/></token>

          <token>al</token>
        </marker>
      </pattern>

      <message>En español, la expresión «\1 \2» no existe. Puede cambiarse por <suggestion>\1 con el</suggestion>.</message>

      <short>En español, la expresión «\1 \2» no existe.</short>

      <example correction="relacionada con el">Esa canción está <marker>relacionada al</marker> amor.</example>

      <example>Esca canción está relacionada con el amor.</example>
    </rule>
    
    <rulegroup id="CONTRACORRIENTE" name=" *contracorriente, *a contra corriente">
      <url>http://www.fundeu.es/recomendacion/a-contracorrienteo-contra-corriente/</url>
      <rule>
        <pattern>
          <token><exception regexp="yes">a|la</exception></token>
          <marker>
            <token>contracorriente</token>
          </marker>
        </pattern>
        <message>Expresión incorrecta.</message>
        <suggestion>contra corriente</suggestion>
        <suggestion>a contracorriente</suggestion>
        <example correction="contra corriente|a contracorriente">Ir <marker>contracorriente</marker></example>
        <example>a contracorriente</example>
      </rule>
      <rule>
        <pattern>
          <token>a</token>
          <token>contra</token>
          <token>corriente</token>
        </pattern>
        <message>Expresión incorrecta.</message>
        <suggestion>contra corriente</suggestion>
        <suggestion>a contracorriente</suggestion>
        <example correction="contra corriente|a contracorriente">Ir <marker>a contra corriente</marker></example>
      </rule>
    </rulegroup>
    
  </category>
</rules>
