Bindestrich ohne Trennung in \newcommand

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


guy.brush™
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 8. Aug 2010, 19:43
Wohnort: Earth

Bindestrich ohne Trennung in \newcommand

Beitrag 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
Arch Linux - KDE - TeXLive - Kile - \me = Advanced Newbie

Interessensschwerpunkte: Mathematik- und Formelsatz sowie mathematische (Mikro-)Typographie
Offenes Problem: negierte \xarrow-Pfeile beliebiger Länge

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Re: Bindestrich ohne Trennung in \newcommand

Beitrag 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

klaus#
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: So 18. Apr 2010, 18:27

Beitrag 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

guy.brush™
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 8. Aug 2010, 19:43
Wohnort: Earth

Beitrag 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 "-".
Arch Linux - KDE - TeXLive - Kile - \me = Advanced Newbie

Interessensschwerpunkte: Mathematik- und Formelsatz sowie mathematische (Mikro-)Typographie
Offenes Problem: negierte \xarrow-Pfeile beliebiger Länge

Antworten