PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gesperrte Leerzeichen



pigsun
03-05-2007, 15:41
Hallo zusammen,

wie kann man in Tex ein gesperrtes Leerzeichen erzeugen?
Also zum Beispiel zwischen Abkürzungen wie "z. B.", dass hier kein Zeilenumbruch stattfindet. Oder auch bei "§ 1".

Hat jemand eine Idee?

Grüße
Anja

countbela666
03-05-2007, 15:48
Hallo, Anja,

ein geschütztes Leerzeichen erhältst du mit der Tilde (~), für Zwischenräume in Abkürzungen sollte allerdings ein Spatium eingesetzt werden, also ein horizontaler Abstand etwas geringer als der normale Wortzwischenraum. Diesen erzeugst du mit \,

Grüße
Marcel

pigsun
03-05-2007, 15:53
super! vielen dank für die schnelle hilfe!

trinix
04-05-2007, 09:32
...für Zwischenräume in Abkürzungen sollte allerdings ein Spatium eingesetzt werden, also ein horizontaler Abstand etwas geringer als der normale Wortzwischenraum. Diesen erzeugst du mit \,
Ist dieser Abstand dann eigentlich auch gesperrt oder könnte bei z.\,B. ein Zeilenumbruch zwischen z und B auftreten?
Wenn ja, kann oder sollte dies überhaupt mit beispielsweise \mbox{z.\,B.} verhindert werden?

trinix

Salnic
04-05-2007, 10:03
> Ist dieser Abstand [\,] dann eigentlich auch gesperrt

ja, siehe Beispiel.


\documentclass{report}
\usepackage{showframe}
\begin{document}
Das is ein wirklich ganz sinnloser Text, der fast eine ganze Zeile lang ist, z. B. kann man das mit vielen sinnlosen Wörtern schaffen.\par
Das is ein wirklich ganz sinnloser Text, der fast eine ganze Zeile lang ist, z.\,B. kann man das mit vielen sinnlosen Wörtern schaffen.\par
\end{document}

> sollte dies überhaupt [...] verhindert werden?
Auf jeden Fall darf nicht zwischen z. und B. ein Seitenumbruch stattfinden. Noch schlimmer ist die Trennung zwischen Zahlen und Einheiten! Oder in Datumsangaben.

Salnic

trinix
04-05-2007, 11:32
Besten Dank... ;)

Ich verwende für die Abstände vor Einheiten immer [\,] - sehr gut, dass dieser nun auch gesperrt ist.

beginner1307
04-05-2007, 22:00
\newcommand{\abk}[1]{#1\xdot}
\DeclareRobustCommand\xdot{\futurelet\token\Xdot}
\def\Xdot{\ifx\token\bgroup.\else\ifx\token\egroup .\else
\ifx\token\/.\else\ifx\token\ .\else\ifx\token!.\else
\ifx\token,.\else\ifx\token:.\else\ifx\token;.\els e
\ifx\token?.\else\ifx\token/.\else\ifx\token'.\else
\ifx\token).\else\ifx\token-.\else\ifx\token+.\else
\ifx\token~.\else
\ifx\token.\else.\ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}

\newcommand{\ZB}{\abk{Z.\,B}}
\newcommand{\zB}{\abk{z.\,B}}
\newcommand{\Dh}{\abk{D.\,h}}
\newcommand{\dht}{\abk{d.\,h}}

Habe ich hier irgendwo mal im Forum gefunden und funktioniert ganz hervorragend! :)

voss
04-05-2007, 22:07
\newcommand{\abk}[1]{#1\xdot}
\DeclareRobustCommand\xdot{\futurelet\token\Xdot}
\def\Xdot{\ifx\token\bgroup.\else\ifx\token\egroup .\else
\ifx\token\/.\else\ifx\token\ .\else\ifx\token!.\else
\ifx\token,.\else\ifx\token:.\else\ifx\token;.\els e
\ifx\token?.\else\ifx\token/.\else\ifx\token'.\else
\ifx\token).\else\ifx\token-.\else\ifx\token+.\else
\ifx\token~.\else
\ifx\token.\else.\ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}

\newcommand{\ZB}{\abk{Z.\,B}}
\newcommand{\zB}{\abk{z.\,B}}
\newcommand{\Dh}{\abk{D.\,h}}
\newcommand{\dht}{\abk{d.\,h}}

Habe ich hier irgendwo mal im Forum gefunden und funktioniert ganz hervorragend! :)


dafür nimmt man das Paket xspace ...

Herbert