Seite 1 von 1

Bindestrich ohne Trennung in \newcommand

Verfasst: Sa 9. Jul 2011, 21:54
von guy.brush™
Hallo,

ich habe eine relativ kurze Frage. Und zwar möchte ich in manchen Gelegenheiten unterbinden, dass LaTeX an einem Bindestrich einen Zeilenumbruch macht. Dazu habe ich den Befehl "~ gefunden. Allerdings funktioniert das wohl nicht, wenn ich es in Befehlen verwende:
\documentclass{scrartcl}

% --------------------- Einbinden benötigter Pakete ---------------------
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\newcommand{\sigalg}{$\sigma$"~Algebra}			% \sigma-Algebra

\begin{document}

\sigalg

\end{document}

Wie kann ich das lösen bzw. gibt es eine in eigens definierten Befehlen verwendbare Version von "~?


Oh ... und hier behauptet jemand (letzter Post):
Wörter mit Bindestrichen werden nicht getrennt, das ist eine Vorgabe in TeX.
Äh ... das stimmt doch wohl nicht, oder?


Viele Grüße,

\\ guy.brush

Re: Bindestrich ohne Trennung in \newcommand

Verfasst: So 10. Jul 2011, 07:48
von sommerfee
guy.brush™ hat geschrieben: \newcommand{\sigalg}{$\sigma$"~Algebra} % \sigma-Algebra
Das babel-Paket aktiviert seine Makros wie "~ erst bei \begin{document}. Am einfachsten läßt sich das Problem wohl lösen, indem man Makrodefinitionen, die solche Sequenzen enthalten, erst nach \begin{document} definiert, also:
\documentclass{scrartcl} 

% --------------------- Einbinden benötigter Pakete --------------------- 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 

\begin{document} 

\newcommand{\sigalg}{$\sigma$"~Algebra}         % \sigma-Algebra 

\sigalg 

\end{document}
Alternativ kann man auch seine Befehlsdefinitionen mit \shorthandon{"} und \shorthandoff{"} klammern.

Siehe auch: http://www.golatex.de/babel-in-eigenen- ... t5117.html

Verfasst: So 10. Jul 2011, 10:25
von klaus#
Oh ... und hier behauptet jemand (letzter Post):
Zitat:

Wörter mit Bindestrichen werden nicht getrennt, das ist eine Vorgabe in TeX.

Äh ... das stimmt doch wohl nicht, oder?
Im Prinzip schon, wenn man im Quelltext
Müller-Lüdenscheid
schreibt, wird das nicht getrennt.

Um alle Trennungen zu erlauben muss man im Quelltext
Müller"=Lüdenscheid
eingeben.

Soll nur an einer bestimmten Stelle getrennt werden, wird mit diese Stelle im Quelltext mit \- markiert, also
Müller-Lüden\-scheid

Verfasst: So 10. Jul 2011, 11:49
von guy.brush™
Hallo,

vielen Dank! Also:
\documentclass{scrartcl}

% --------------------- Einbinden benötigter Pakete ---------------------
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\shorthandon{"}
\newcommand{\sigalg}{$\sigma$"~Algebra}         % \sigma-Algebra
% weitere Befehle, in denen ich "~ oder Ähnliches verwende
\shorthandoff{"}

% und ggf. später nochmal on und off, falls ich das nochmal brauche

\begin{document}

\sigalg

\noindent Dies ist irgendein lustiger Semi-Satz, der nur dazu dient, Bindestriche ins Jenseits-von-Malibu
zu versetzen und dort Kreuzfeuer-der-Einsamkeit zu spielen.

\end{document} 
Solche Begriffe erst nach \begin{document} zu definieren, mag ich jetzt nicht so sehr, da ich meine mehreren Header-Dateien alle ausgelagert habe und sie via \input in der Präambel einfüge.

Gehe ich auch richtig davon aus, dass, falls wie oben erwähnt angewandt, ich keine Komplikationen mit \shorthandon und \shorthandoff zu erwarten habe?


@klaus#: Hm ... das verwirrt mich jetzt aber. Also in folgenden Fällen trennt LaTeX auf jedenfall am Bindestrich über Zeilenenden hinweg:
$\emptyset$-Stetigkeit
also wohl auch bei Dingen wie
$\sigma$-Algebra
$n$-te Ente
Deswegen bastel ich gerade nachträglich ja noch "~ ein.

Ich habe zwar gerade kein Beispiel, aber ich meine eigentlich, dass LaTeX bei mir auch schon bei Dingen wie
Wort-Wort2-Wort3
am "-" getrennt hat. Ich probiere dahingehend nach dem Frühstücken einmal ein bisschen was aus.

Aber wieso trennt der Kerl (= LateX) dann bei solchen Sachen in Verbindung mit Mathe-Kram?


PS: Keine Sorge, in meinem Vorlesungsmitschrieb schreibe ich im Normalfall nicht etwas wie $\emptyset$-Stetigkeit, sondern schon Nullstetigkeit. Ich verweise nur darauf hin, dass man es im Handschrift oft $\emptyset$-Stetigkeit schreibt. Aber genau der Fall ist halt aufgetreten, dass er dort getrennt hat.

Edit: Ich habe in das Minimalbeispiel aus diesem Post hier ein Beispiel eingefügt, dort trennt er an einem "-".