Ich experimentiere gerade mit dem Anlegen eigener Regeln.
Nachdem ich jetzt verschiedene Möglichkeiten versucht habe (ohne Erfolg), hoffe ich jetzt, dass ich hier Hilfe finde. Vermutlich ist es nur eine Kleinigkeit.
Folgende Regel benötige ich:
Wir behandeln Urteilstexte, welche meistens mit einer sogenannten Randnummer beginnen. Da die Texte im HTML-Format vorliegen gibt es vielleicht, auch andere Möglichkeiten (data statt text). Das würde ich aber nur im Notfall nutzen wollen!
Heißt im LT kommt gerade als text “12 Das ist eine Randnummer.” an. (2 Leerzeichen zwischen Zahl und Text. Problem LT meckert in der Normaleinstellung zum Einen über die zu vielen Leerzeichen und - viel schlimmer - über das großgeschriebene “Das”, da es nicht der Satzanfang ist.
Die Regel soll also alles anmeckern, was eine Zahl und einen Großbuchstaben (bei nicht Substantiven) enthält und ungleich 3 Leerzeichen zwischen Zahl und Großbuchstaben enthält.
<?xml version="1.0" encoding="UTF-8"?>
<rules lang="de" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd">
<category id="CASING" name="Groß-/Kleinschreibung">
<rule id="RANDNUMMER" name="Randnummern und Satzanfang">
<!--
<antipattern>
<token regexp="yes">[0..9]*</token>
<token regexp="yes" case_sensitive="yes" spacebefore="yes">\s{3}[A-ZÄÖÜ].*</token>
</antipattern>
-->
<pattern>
<token regexp="yes">[0..9]*</token>
<token> </token>
<token regexp="yes" case_sensitive="yes">[A-ZÄÖÜ].*</token>
</pattern>
<!--
<regexp>[0..9]\s*[A-ZÄÖÜ]</regexp>
-->
<example>5 Dies ist eine Randnummer.</example>
<example>Es gibt 5 <marker>Mal</marker> so viele Randnummer.</example>
</rule>
</category>
</rules>
Das ist meine Idee. Ich habe mal ein paar Experimente drin gelassen.
Meine Erwartung bei der Rule war, dass er nur Texte anmeckert, die genau EIN Leerzeichen enthält. Ich habe mit spacebefore - ohne Erfolg - experimentiert.
Mit regexp in Tokens die “\s” enthält. Kein Erfolg.
Ich hoffe irgendjemand kann mit einen Schubs in die richtige Richtung geben.
Schon mal Danke
rvpc
PS: Ich habe sogar eine eigene Rule programmiert. Die funktioniert laut Test hervorragend. Da weiß ich nur nicht, wie ich die in den HTTPServer hinzufügen kann!