PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \texttt und Zeilenumbruch



Abraxas
24-05-2006, 14:28
Hallo zusammen!

Gibt es eigentlich eine Möglichkeit, den Befehl \texttt so anzupassen, daß bei langen Begriffen ein Zeilenumbruch gemacht wird?

Ich möchte im Text bestimmte Begriffe, wie Anweisungen und Fachausdrücke fett und in Schreibmaschinenschrift hervorheben - nur hab´ ich da eben Probleme mit dem Zeilenumbruch.

Evtl. gibt´s ja auch eine Alternative...?

Mr.Butcher
24-05-2006, 14:39
5.3.6 Wieso werden Texte in `typewriter'-Schriften nicht getrennt? Gibt
es eine Möglichkeit, daß doch getrennt werden kann?

TeX trennt nur, wenn die aktuell verwendete Schrift einen Divis
(Trennungsstrich) besitzt. Dazu ist jeder Schrift ein Divis durch den
Parameter \hyphenchar<font> zugeordnet, der bei den meisten Schriften
auf den Wert `\-, also auf das Zeichen ``-'', gesetzt ist. Bei den
`typewriter'-Schriften ist dieser Wert aber auf -1 gesetzt, d.h. auf ein
nicht vorhandenes Zeichen. Damit ist die Trennung für diese Schriften
unterdrückt, was in den meisten Fällen auch sinnvoll ist.
Will man dennoch, daß TeX einen in `typewriter' gesetzten Textteil
automatisch trennt, so muß man den \hyphenchar für diese Schriften auf
`\- setzen. Dies geht in LaTeX am einfachsten, wenn man die Anweisung
\ttfamily umdefiniert:

\newcommand{\origttfamily}{}% sollte noch nicht definiert sein!
\let\origttfamily=\ttfamily % alte Definition von \ttfamily sichern
\renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=`\-}

Man könnte alternativ dazu auch die Dateien ``*cmtt*.fd'' ändern und die
Anweisung \hyphenchar\font\m@ne in \DeclareFontFamily entfernen. Dies
ist jedoch nicht ratsam, wenn man Texte an andere weitergeben will, da
man dann nicht vergessen darf, die so geänderten `*.fd'-Dateien
mitzugeben.
Für LaTeX 2.09 (oder analog auch für Plain-TeX) muß das Makro \tt
umdefiniert werden:

\newcommand{\origtt}{}
\let\origtt=\tt
\renewcommand{\tt}{\origtt \hyphenchar\font=`\-}

Wichtiger Hinweis: TeX kann eine Schrift unter unterschiedlichen Namen
laden, wobei TeX alle diese Schriften nur ein einziges Mal lädt und für
die anderen Schriften nur `Aliases' anlegt. Daher gibt es
\hyphenchar<font> nur einmal pro `echten' Font und \hyphenchar<font> ist
wie auch \fontdimen<font> ein besonderer Parameter: Alle Zuweisungen an
\hyphenchar<font> werden _immer_ global ausgeführt. Außerdem sieht sich
TeX diesen Parameter erst am Absatzende beim Umbruch dieses Absatzes an,
so daß mit obiger Änderung nicht möglich ist, die Trennung für einen in
`typewriter' gesetzten Textteil zu ermöglichen, für einen anderen im
selben Absatz zu verbieten.
Eine weitere Methode, Trennungen für `typewriter'-Schriften zu erlauben,
bietet das Paket `hyphenat':

\usepackage[htt]{hyphenat}

Darüber hinaus kann es auch benutzt werden, um Trennung selektiv zu
erlauben oder zu verbieten.

hyphenat: CTAN: macros/latex/contrib/hyphenat/

voss
24-05-2006, 14:49
Hallo zusammen!

Gibt es eigentlich eine Möglichkeit, den Befehl \texttt so anzupassen, daß bei langen Begriffen ein Zeilenumbruch gemacht wird?

Ich möchte im Text bestimmte Begriffe, wie Anweisungen und Fachausdrücke fett und in Schreibmaschinenschrift hervorheben - nur hab´ ich da eben Probleme mit dem Zeilenumbruch.

Evtl. gibt´s ja auch eine Alternative...?

\usepackage{luximono}

dann hast du auch gleich eine fette Schreibmaschinenschrift

Herbert

Abraxas
24-05-2006, 15:36
Danke mal für die Antworten!

Das hat zwar bis jetzt noch nicht so richtig funtioniert, aber ich werd´s mir nochmal genauer anschauen. Ich brauche das Ganze für eine Studienarbeit - und in der Diplomarbeitsordnung steht eigentlich auch, daß man für Hervorhebungen nur kusiv, fett oder Kapitälchen nehmen darf. Also hab´ ich mal kursiv genommen.

Hier scheint es allerdings auch keine Silbentrennung zu geben. Nehme ich \textit, dann trennt er grundsätzlich nicht - erst mit \emph kann ich Trennstriche mit \- einfügen. Ich muß das alles wohl nochmal genauer nachlesen.....

Naja, inzwischen mal schönes Wochenende :) !

Mr.Butcher
24-05-2006, 15:41
hm, das klingt für mich merkwürdig.
Hast du auch Blocksatz aktiviert (=Standard)?

Weil bei links- und rechtsbündig gibts auch keine automatische Trennung...

Und nur um sicher zu gehen:
\usepackage[ngerman]{babel} oder \usepackage{ngerman} brauchst du für aut. Trennung natürlich auch.

voss
24-05-2006, 15:58
hm, das klingt für mich merkwürdig.
Hast du auch Blocksatz aktiviert (=Standard)?

Weil bei links- und rechtsbündig gibts auch keine automatische Trennung...

Und nur um sicher zu gehen:
\usepackage[ngerman]{babel} oder \usepackage{ngerman} brauchst du für aut. Trennung natürlich auch.

- Trennung ist _standardmäßig_ aktiviert
- Es wird auch _ohne_ babel getrennt

Herbert