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
[Quelltext bearbeiten]Wiki-Sourcecode[S 1][S 2] | Substitution | Satzanfang möglich (erster Buchstabe groß) |
mögliche vorige Zeichen[S 3] | 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. | - |
- ↑ „¦“ steht hier symbolhaft für ein schmales Leerzeichen.
- ↑ Das gewöhnliche Leerzeichen „ “ steht hier symbolhaft für ein gewöhnliches Leerzeichen oder ein umbruchgeschütztes Leerzeichen ( ).
- ↑ stets
\n ([„
, falls nicht anders angegeben (\n ist ein Zeilenumbruch)
Regexps
[Quelltext bearbeiten]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:
<?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 = '<span style="margin-left:0.167em"><span style="display:none"> </span></span>';
# 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>
);
?>
Häufigkeiten von Abkürzungen
[Quelltext bearbeiten]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 |