2011-01-04 12 views
5

Ich möchte LaTeX global daran hindern, 'Objective-C' zu trennen. Ich kenne den Befehl \ Silbentrennung, aber ich sehe nicht, wie ich ihn nutzen kann. Wenn ich 'Objective-C' an diesen Befehl übergebe, wird der Bindestrich als ein Hinweis behandelt, um das Wort dort zu trennen.Wie verhindert man, dass LaTeX Wörter mit einem Bindestrich trennt?

Eine Lösung, die ich gefunden habe, ist Objective-C in eine mbox, jedes Mal wenn ich es verwende. Allerdings enthält das Dokument, das ich schreibe, diesen Namen sehr, und es ist hässlich, es jedes Mal in eine mbox einzufügen (wie man einen Befehl definiert und diesen immer wieder im Quellcode verwendet).

Ich würde mich über irgendwelche Vorschläge freuen!

Best, JP

+1

Empfehlen Sie Fragen auf http://tex.stackexchange.com/ –

Antwort

8

Warum einen neuen Befehl hässlich ist die Definition? Es ist wie \ LaTeX \ sich selbst definiert.

\def\ObjectiveC{\mbox{Objective-C}} 
+0

Vielen Dank! Ich denke, es gibt leider keinen anderen Weg. – BVC

+0

+1 schöne präzise Begründung –

2

Wie vorgeschlagen here, können Sie einen Befehl wie folgt definieren könnte:

\newcommand\dash{\nobreakdash-\hspace{0pt}} 

und wie diese

Consider the $n$\dash dimensional manifold ... 

auch verwenden, können Sie die babel Paket zur Anwendung kommt "~ als ein geschützter Bindestrich Ich bin mir nicht sicher, ob die Verwendung von babel ratsam ist, wenn Sie in Englisch schreiben.

+0

Vielen Dank für Ihre Vorschläge! All das funktioniert, kann aber nicht global definiert werden, wie die \ mbox-Lösung :( – BVC

2

Verwenden Sie \nobreakdash. Das erzeugt LyX, wenn ich einen nonbreakingdash einfüge und ihn in tex umwandle.