PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Textumgebung mit halben Leerzeichen



AureusPhoenix
19-10-2010, 10:49
Hi Leute,
hat einer von euch ne Ahnung ob es eine Textumgebung gibt, in der automatisch alle leerzeichen durch halbe Leerzeichen (also \,) ersetzt werden?

Bzw. kann mir jemand nen Tipp geben, wie ich mir eine solche Umgebung selbst definieren könnte?

Schonmal DANKE!

u_fischer
19-10-2010, 12:46
\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\newcommand\activatespace{\catcode`\ =\active}
\begingroup
\activatespace
\gdef\usemyspecialspace{%
\activatespace
\def {\,}}
\endgroup


\newenvironment{specialspace}
{\usemyspecialspace}
{}

\begin{document}
abc abc abc

\begin{specialspace}
abc abc abc
\end{specialspace}

\end{document}


Funktioniert aber nur mit Leerzeichen, die direkt eingegeben werden, nicht mit solchen, die in Makros stecken, deren \catcode liegt schon fest. Zeilenumbrüche gibt es natürlich dann nicht mehr.

AureusPhoenix
19-10-2010, 14:53
Cool, danke!
An diese Catcode-Sache hatte ich auch schon gedacht. Hab damit aber zu wenig erfahrung. Ich glaub ich hab jetzt wenigstens versanden, wie das ding funktioniert.

Nur so nebenbei ... was tun \begingroup und \endgroup eigentlich genau? Hat es irgendwelche Vorteile die zu benutzen?

u_fischer
19-10-2010, 15:08
Nur so nebenbei ... was tun \begingroup und \endgroup eigentlich genau? Hat es irgendwelche Vorteile die zu benutzen?

Naja, ich habe die nicht zum Spaß drin. Du kannst ja mal versuchen, was passiert, wenn du sie weglässt. (In diesem Fall sollen sie die Wirkung des \activatespace begrenzen, d.h. nach der \gdef-Definition den \catcode vom Leerzeichen wieder auf den Normalwert setzen.)

voss
19-10-2010, 15:44
hat einer von euch ne Ahnung ob es eine Textumgebung gibt, in der automatisch alle leerzeichen durch halbe Leerzeichen (also \,) ersetzt werden?

Bzw. kann mir jemand nen Tipp geben, wie ich mir eine solche Umgebung selbst definieren könnte?



\documentclass[12pt,a4paper]{article}

\begin{document}
abc abc abc

\fontdimen2\font=1.8pt
abc abc abc

\end{document}

Herbert

u_fischer
19-10-2010, 16:02
\fontdimen2\font=1.8pt

Das ist ja eine clevere Idee. Viel sauberer als mit aktivem Leerzeichen.

ellocco
21-10-2010, 07:49
Meine Frage geht in eine ähnliche Richtung, ich möchte nicht alle
Leerzeichen halbieren, sondern ich möchte neben dem normalen Leerzeichen
ein schmales Leerzeichen, daß sich aber am Zeilenende bzw. Zeilenanfang
wie ein normales Leerzeichen verhält, daß heist, ein halbes Leerzeichen,
das bei einem Zeilenumbruch verschwindet.
Ich benutze z.B. vor Klammererläuterungen gerne halbe Leerzeichen,
bislang arbeite ich dann immer mit "\,".

Schweinebacke
21-10-2010, 08:55
\hspace{0.3em}% Wert beliebig anpassbarNäheres zu \hspace steht in jeder vollständigen LaTeX Anfängeranleitung.

Vor Klammern gehört allerdings ein normales Leerzeichen.

ellocco
21-10-2010, 10:30
Stimmt, darum gibt es ja die star-Variante \hspace*{}, -
danke für den Tip!