Wikipedia:Typografie/Automatische Leerzeichen
Vielleicht werden nach Behebung der Software-Bugs phab:T20443 und phab:T15619 verschiedene Leerzeichen automatisch gesetzt werden können. Beim Prozentzeichen ist dies bereits jetzt der Fall („50 %“ im Wiki-Sourcecode wird im HTML-Sourcecode zu „50 %“, sodass ein Browser zwischen „50“ und dem Prozentzeichen nicht umbricht). Künftig soll dieser Automatismus verbessert und ausgeweitet werden. Es ist jedoch unklar, ob und wann das passieren wird.
Auf dieser Seite werden Fälle aufgelistet, in denen künftig bei der Anzeige automatisiert schmale umbruchgeschützte Leerzeichen dargestellt werden sollen. Der Wiki-Sourcecode bräuchte dadurch nicht mehr geändert zu werden, um eine typografisch schönere Ausgabe zu erhalten.
Bitte beachte auch die Diskussionsseite zu dieser Seite.
Substitutionstabelle
| Wiki-Sourcecode<ref group="S">„¦“ steht hier symbolhaft für ein schmales Leerzeichen.</ref><ref group="S">Das gewöhnliche Leerzeichen „ “ steht hier symbolhaft für ein gewöhnliches Leerzeichen oder ein umbruchgeschütztes Leerzeichen ( ).</ref> | Substitution | Satzanfang möglich (erster Buchstabe groß) |
mögliche vorige Zeichen<ref group="S">stets \n ([„, falls nicht anders angegeben (\n ist ein Zeilenumbruch)</ref>
|
mögliche nachfolgende Zeichen |
|---|---|---|---|---|
| „a.a.O.“ oder „a. a. O.“ | a.¦a.¦O. | ja | \n )],;:?!'"‘’‚“”«»‹›
| |
| „a.D.“ oder „a. D.“ | a.¦D. | nein | \n )],;:?!“”
| |
| „d.h.“ oder „d. h.“ | d.¦h. | ja | \n )],:“”
| |
| „d.i.“ oder „d. i.“ | d.¦i. | ja | \n )],:“”
| |
| „d.Ä.“ oder „d. Ä.“ | d.¦Ä. | nein | ||
| „d.J." oder „d. J.“ | d.¦J. | nein | ||
| „d.R.“ oder „d. R.“ | d.¦R. | nein | ||
| „e.V.“ oder „e. V.“ | e.¦V. | nein | ||
| „h.c." oder „h. c.“ | h.¦c. | nein | ||
| „i.A.“ oder „i. A.“ | i.¦A. | ja | ||
| „i.d.R.“ oder „i. d. R.“ | i.¦d.¦R. | ja | ||
| „i.R.“ oder „i. R.“ | i.¦R. | |||
| „i.V.“ oder „i. V.“ | i.¦V. | ja | ||
| „i.V.m“ oder „i. V. m.“ | i.¦V.¦m. | zu selten | ||
| „n.Chr.“ oder „n. Chr.“ | n.¦Chr. | nein | ||
| „o.Ä.“ oder „o. Ä.“ | o.¦Ä. | nein | ||
| „o.g.“ oder „o. g.“ | o.¦g. | Ja | \n )],:“”
| |
| „o.J.“ oder „o. J.“ | o.¦J. | nein | ||
| „s.o.“ oder „s. o.“ | s.¦o. | nein | ||
| „s.u.“ oder „s. u.“ | s.¦u. | nein | ||
| „u.a.m.“ oder „u. a. m.“ | u.¦a.¦m. | nein | ||
| „u.a.“ oder „u. a.“ | u.¦a. | ja | ||
| „u.Ä.“ oder „u. Ä.“ | u.¦Ä. | nein | ||
| „u.U.“ oder „u. U.“ | u.¦U. | zu selten | ,
| |
| „u.v.a.m.“ oder „u. v. a. m.“ | u.¦v.¦a.¦m. | nein | \n )],:“”
| |
| „u.v.a.“ oder „u. v. a.“ | u.¦v.¦a. | nein | \n )],:“”
| |
| „v.a.“ oder „v. a.“ | v.¦a. | ja | \n )],:“”
| |
| „v.Chr.“ oder „v. Chr.“ | v.¦Chr. | nein | ||
| „z.B.“ oder „z. B.“ | z.¦B. | ja | \n ,:)
| |
| „z.T.“ oder „z. T.“ | z.¦T. | ja | ,
| |
| „z.Z.“ oder „z. Z.“ | z.¦Z. | ja | ||
| „z.Zt.“ oder „z. Zt.“ | z.¦Zt. | ja | ,
| |
| „Art.1“ oder „Art. 1“ | Art.¦1 | - | ||
| „Abs.1“ oder „Abs. 1“ | Abs.¦1 | - | ||
| „S.1“ oder „S. 1“ | S.¦1 | - | ||
| „S.10ff.“ oder „S. 10ff.“ oder „S.10 ff.“ oder „S. 10 ff.“ | S.¦10 ff. | - | ||
| „(† 1865“ | (†¦1865 | - | ||
| „(* 1634“ | (*¦1634 | - | ||
| „12. August“ | 12.¦August | - | ||
| „12. Jh.“ | 12.¦Jh. | - |
<references group="S" />
Regexps
Reguläre Ausdrücke für die Umsetzung des Automatismus:
These are the regular expressions (in php) concerning the implementation of the automatic insertion of narrow non-breaking spaces:
<syntaxhighlight lang="php"> <?php
- last character before an abbr.
$wb = '[ \n([\x{201E}]';
# first character after an abbr.
$we = '[ )\x5D,;:?!\'"\x{2018}-\x{201A}\x{201C}-\x{201D}\xAB\xBB\x{2039}\x{203A}]';
# some space character
$s_re = '(?:&(?:nbsp|#160);|\x20)';
# narrow non-breaking space
$nns = '';
# replacements
$fixtags = array(
"/${wb}a\.\K$s_re?a\.$s_re?(?=O\.$we)/u" => "${nns}a.$nns", # a.a.O. "/${wb}a\.\K$s_re?(?=D\.$we)/u" => $nns, # a.D. "/${wb}[dD]\.\K$s_re?(?=h\.[ ,])/u" => $nns, # d.h. "/${wb}[iI]\.\K$s_re?d\.$s_re?(?=R\.$we)/u" => "${nns}d.$nns", # i.d.R. "/${wb}d\.\K$s_re?(?=[iJR\\xC4]\.$we)/u" => $nns, # d.i., d.J, d.R, d.Ä "/${wb}e\.\K$s_re?(?=V\.$we)/u" => $nns, # e.V. "/${wb}h\.\K$s_re?(?=c\.$we)/u" => $nns, # h.c. "/${wb}i\.\K$s_re?V\.$s_re?(?=m\.$we)/u" => "${nns}V.$nns", # i.V.m. "/${wb}i\.\K$s_re?(?=[ARV]\.$we)/u" => $nns, # i.A., i.R, i.V. "/${wb}[nv]\.\K$s_re?(?=Chr\.$we)/u" => $nns, # n.Chr., v.Chr. "/${wb}o\.\K$s_re?(?=[J\\xC4\\xE4]\.$we)/u" => $nns, # o.J., o.Ä, o.ä. "/${wb}[sS]\.\K$s_re?(?=[ou]\.$we)/u" => $nns, # s.o., s.u. "/${wb}u\.\K$s_re?a\.$s_re?(?=m\.$we)/u" => "${nns}a.$nns", # u.a.m. "/${wb}u\.\K$s_re?v\.$s_re?a\.$s_re?(?=m\.$we)/u" => "${nns}v.${nns}a.", # u.v.a.m. "/${wb}u\.\K$s_re?v\.$s_re?(?=a\.$we)/u" => "${nns}v.$nns", # u.v.a. "/${wb}u\.\K$s_re?(?=[\\xC4\\xE4]\.$we)/u" => $nns, # u.Ä., u.ä. "/${wb}[uU]\.\K$s_re?(?=a\.$we)/u" => $nns, # u.a. "/${wb}u\.\K$s_re?(?=U\.[ ,])/u" => $nns, # u.U. "/${wb}[vV]\.\K$s_re?(?=a\.$we)/u" => $nns, # v.a. "/${wb}[zZ]\.\K$s_re?(?=(?:[BT]|Zt?)\.[ ,])/u" => $nns, # z.B., z.T., z.Zt. "/(?:\(|,$s_re)[*\x{2020}]\K$s_re?(?=\d+[ ,)])/u" => $nns, # († 1865), (* 1634), ... "/${wb}(?:A(?:rt|bs)|S)\.\K$s_re?(?=\d+$s_re?ff\.$we)/u" => "$nns$1$nns", # Art. 1 ff., Abs. 1 ff., S. 1 ff. "/${wb}(?:A(?:rt|bs)|S)\.\K$s_re?(?=\d)/u" => $nns, # Art. 1, Abs. 1, S. 1 "/${wb}[1-3]?\d\.\K$s_re(?=(?:Januar|J\\xE4nner|Februar|M\\xE4rz|April|Mai|Ju[nl]i|August|September|Oktober|November|Dezember)\b)/u" => $nns, # 12. August, ... "/${wb}\d+\.\K$s_re(?=(?:Jh\.|Jahrhundert\b))/u" => $nns, # 13. Jh., ... "/\b\d+\K$s_re?(?=(?:[\\x24\\xA2\\xA5\x{09F3}\x{0E3F}\x{17DB}\x{20A0}-\x{20B5}\x{2133}\x{2116}]|DM|US[D\\x24]|EUR|CHF|CAD|AUD|GBP|\\xB0[CFR]|[stHNT]|[KMGT]iB|[kMGT]?(?:B|Wh?)|[cdhkm\\xB5\x{03BC}]?m|[cdh]?l|m?(?:mol|W)|Bq|Cd|Pa|pF|sm|kn|ha|Ar|eV|Ws|[km\\xB5\x{03BC}]?(?:Sv|[VAFg])|[mk]?\x{03A9}|VA?)\b)/u" => $nns, # <number> <[prefix]unit|currency>
);
?> </syntaxhighlight>
Häufigkeiten von Abkürzungen
Basierend auf einem Dump der Artikel der deutschsprachigen Wikipedia ergeben sich folgende Häufigkeiten für die oben genannten Abkürzungen.
| Abk. | #Vorkommnisse | #Vorkommnisse (erstes Zeichen case-insensitive) |
|---|---|---|
| z.B. | 177.529 | 178.332 |
| u.a. | 166.383 | 167.105 |
| v.Chr. | 119.595 | 119.603 |
| e.V. | 78.183 | 78.519 |
| d.h. | 34.266 | 34.931 |
| n.Chr. | 21.738 | 21.739 |
| z.T. | 6.278 | 6.312 |
| a.D. | 4.535 | 6.197 |
| o.J. | 5.698 | 5.907 |
| a.a.O. | 5.512 | 5.551 |
| v.a. | 4.921 | 4.947 |
| d.J. | 2.925 | 3.714 |
| d.Ä. | 3.455 | 3.459 |
| s.u. | 2.975 | 3.007 |
| s.o. | 2.455 | 2.460 |
| h.c. | 2.185 | 2.192 |
| i.d.R. | 1.628 | 1.640 |
| d.R. | 488 | 1.330 |
| d.i. | 958 | 966 |
| u.U. | 885 | 890 |
| i.R. | 704 | 840 |
| u.v.a. | 734 | 735 |
| i.A. | 406 | 683 |
| z.Zt. | 548 | 557 |
| u.a.m. | 477 | 477 |
| z.Z. | 423 | 455 |
| i.V.m | 359 | 359 |
| i.V. | 267 | 389 |
| o.Ä. | 336 | 339 |
| u.Ä. | 335 | 335 |
| folgende Abkürzungen werden nur selten verwendet: | ||
| i.d.F. | 153 | 153 |
| i.S.d. | 144 | 144 |
| v.u.Z. | 138 | 142 |
| z.S. | 83 | 94 |
| m.W.v. | 8 | 8 |