PDA

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



TEXNeuling
11-09-2009, 11:41
Hallo,

ich schreibe momentan an einer Softwaredokumentation. In dieser stelle ich in den Text eingebettet verschiede Funktionen nach dem folgenden Muster vor:

\texttt{update(Image* rawImage, unsigned* bounds}

Leider führt LaTeX in dieser Umgebung keine automatischen Zeilenumbrüche durch. Ich habe es schon mit \texttt{update(""Image* rawImage,"" ...probiert. Leider komme ich dadurch aber zu keinem guten Ergebnis.

Habt ihr eine Idee, wie man den Zeilenumbruch an definierten Stellen realisieren könnte. (Automatisch durch Latex wäre natürlich noch besser.)

Gruß

bischi
11-09-2009, 11:42
Paket listings.

MfG Bischi

Stefan_K
11-09-2009, 11:46
Hallo,

auch in mit \texttt formatiertem Text kann LaTeX umbrechen. Evtl. sind darin enthaltene "Worte" schwer zu trennen, dann kannst Du \hyphenation (http://texblog.net/help/latex/ltx-244.html) oder Tools von babel/ngerman verwenden.
Zeig vielleicht an einem Minimalbeispiel eine konkrete Problemstelle.

Stefan

TEXNeuling
11-09-2009, 13:16
\usepackage{listings} klappt wunderbar!! Jedoch habe ich dafür zusätzlich das paket etex einbinden müssen. Andernfalls kommt der Fehler: ! No room for a new \dimen.

Vielen Dank nochmal

stef_t
16-01-2010, 03:31
Hallo,

ich habe hier ein ähnliches Problem wie TEXNeuling. LaTeX möchte meine Wörter in der \texttt{} Umgebung nicht trennen.



auch in mit \texttt formatiertem Text kann LaTeX umbrechen. Evtl. sind darin enthaltene "Worte" schwer zu trennen, dann kannst Du \hyphenation (http://texblog.net/help/latex/ltx-244.html) oder Tools von babel/ngerman verwenden.
Stefan

Leider bekomme ich das mit dem Befehl \hyphenation nicht hin. Kann mir das vielleicht jemand näher erläutern, denn laut Wikibooks (http://de.wikibooks.org/wiki/LaTeX-Wörterbuch:_Silbentrennung) füge ich eine optionale Trennung ja mit einem \- ein. Da beschwert sich LaTeX bei mir aber beim Kompilieren.



%%!TEX TS-program = pdflatexmk
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}

\hyphenation{Hyper-media Web-service-Re-pre-sen-ta-tion}


% ==================== DOCUMENT ==================== %
\begin{document}
WebserviceRepresentation WebserviceRepresentation \texttt{WebserviceRepresentation} WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} \texttt{WebserviceRepresentation} WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation WebserviceRepresentation
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\end{document}


Und das ist meine Fehlermeldung:



! Improper \hyphenation will be flushed.
\-->\discretionary
{-}{}{}
l.8 \hyphenation{Hyper-media Web\-
ser-vice-Re-pre-sen-ta-tion}
?


Ne Idee, warum der bei mir schon allein die Syntax nicht annimmt? Ist es denn allgemein möglich mit texttt{} Silben zu trennen?

Ich habe auch eine listings-Umgebung, aber die wollte ich wenn es geht auch nur für meine Code-Ausschnitte benutzen.

Wär cool, wenn ihr ne Idee habt,
viele Grüße,
Steffi

voss
16-01-2010, 08:22
Hallo,

ich habe hier ein ähnliches Problem wie TEXNeuling. LaTeX möchte meine Wörter in der \texttt{} Umgebung nicht trennen.



! Improper \hyphenation will be flushed.
\-->\discretionary
{-}{}{}
l.8 \hyphenation{Hyper-media Web\-
ser-vice-Re-pre-sen-ta-tion}
?


Ne Idee, warum der bei mir schon allein die Syntax nicht annimmt? Ist es denn allgemein möglich mit texttt{} Silben zu trennen?

Ich habe auch eine listings-Umgebung, aber die wollte ich wenn es geht auch nur für meine Code-Ausschnitte benutzen.


Dein Beispiel gibt bei mir keinen Fehler! Du hast wahrscheinlich

Web\-ser-vis-.... geschrieben.

TeX hat eine strikte interne Vorgabe, dass der Raum zwischen zwei
Wörtern eine gewisse Grenze nicht überschreiten darf. Sonst könnte
man ja auch Word verwenden :D

Setze den Absatz in


\begin{sloppypar}
...
\end{skoppypar}
womit man TeX sagt, dass er den Abstand verdoppeln darf.

Herbert

stef_t
16-01-2010, 09:08
Danke, das funktioniert schon mal!

So ganz glücklich macht mich das zwar noch nicht, weil ich einige Absätze mit einigen Wörtern in \texttt{} hab, da ich ein Klassendiagramm beschreibe.

Aber verstehe ich dich richtig, dass an der Stelle:
Web\-ser es auch bei dir eine Fehlermeldung gibt? Diese Definition habe ich in den wikibooks so gelesen. Gibt es da noch eine andere Möglichkeit? Ihn vielleicht zu zwingen, da zu trennen? Vielleicht macht die Camelcase-Schreibweise LaTeX ja auch unglücklich?

Danke dir, für die Lösung, werde das erstmal so machen, solange ich keine elegantere Lösung finde :)

voss
16-01-2010, 09:18
So ganz glücklich macht mich das zwar noch nicht, weil ich einige Absätze mit einigen Wörtern in \texttt{} hab, da ich ein Klassendiagramm beschreibe.

Aber verstehe ich dich richtig, dass an der Stelle:
Web\-ser es auch bei dir eine Fehlermeldung gibt? Diese Definition habe ich in den wikibooks so gelesen. Gibt es da noch eine andere Möglichkeit? Ihn vielleicht zu zwingen, da zu trennen? Vielleicht macht die Camelcase-Schreibweise LaTeX ja auch unglücklich?


Web\-ser wäre die richtige Schreibweise _im_ Text, aber
\hyphenation{Web-ser-...} _außerhalb_ des Textes, also in
der Präambel und wird ohne Backslash benutzt.
Und wenn du eine konkrete Trennung haben willst, musst du
Wörter eben in \hyphenation angeben, die von normalen deutschen
Wörtern abweichen.

Herbert

stef_t
16-01-2010, 12:39
Oh man, jetzt wo du es sagst, fällt mir auch endlich die Überschrift bei wikibooks ins Auge :D (Lokale Anweisungen zur Silbentrennung)

Das klappt jetzt also sehr gut, danke sehr! :)

Auch wenn es mich wundert, dass er die Angabe am Anfang nicht annimmt.

Ist der Befehl: "" damit ein Umbruch gemacht wird, ohne dass ein Bindestrich gesetzt wird, eigentlich auch wirklich zwei aufeinanderfolgende Gänsefüßchen? Weil der Befehl wird auch innerhalb des documents nicht angenommen.

Trotzdem schonmal danke, das hat schon sehr viel weiter geholfen!

voss
17-01-2010, 12:55
Ist der Befehl: "" damit ein Umbruch gemacht wird, ohne dass ein Bindestrich gesetzt wird, eigentlich auch wirklich zwei aufeinanderfolgende Gänsefüßchen? Weil der Befehl wird auch innerhalb des documents nicht angenommen.



\documentclass[ngerman,a5paper]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\begin{document}

Ein Beispiel für eine Trennung: WebServer getrennt \texttt{Web""Server}
und weiter geht es mit sinnlosem Text, der nur die Breite der
Zeile zeigen soll.

\end{document}


Herbert

stef_t
17-01-2010, 16:59
Ich hätte schwören können, vorher hat es bei mir nicht funktioniert. Jetzt tut es aber. Kann auch daran liegen, dass ich da mal ordentlich aufgeräumt habe an Zeug, dass ich nicht brauche.

Dann hoffe ich mal, dass mir das nicht eines Tages um die Ohren fliegt ;)

Vielen Dank nochmal, dieses Forum ist echt top, vor allen, da man hier nicht gleich angenöhlt wird :)