PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Trennungsproblem hyphenation



Gotthard
08-06-2009, 11:03
Hi,

möchte das Wort Panhard&Levassor bei den Hyphenationsregeln "global" für meine Diss regeln. Wie mach ich das?

Es soll so getrennt werden: Pan-hard&-Le-vas-sor

Kann mir jemand helfen?

Roman

u_fischer
08-06-2009, 11:14
\documentclass{article}
\usepackage{xspace}
\newcommand\PanLev{Pan\-hard\&\-Le\-vas\-sor\xspace}
\textwidth=0.1cm
\begin{document}
a \PanLev \PanLev \PanLev \PanLev \PanLev \PanLev
\end{document}


Ulrike Fischer

Gotthard
08-06-2009, 12:16
Hi Ulrike,

das funktioniert so nicht. Habe Deinen Code oben in die Präambel geschrieben, das wird dann eben global übernommen.

Hier mal MB:


documentclass{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tocloft}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{graphicx}
\usepackage{capt-of}
\usepackage{here}
\usepackage{titlesec}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\usepackage[ngerman]{varioref}

\usepackage[commabeforerest,ibidem=name&title&auto,citefull=first,titleformat = {colonsep}]{jurabib} %ibidem=name&title&auto macht den Volltitel richtig
\usepackage[flushmargin,hang]{footmisc}

\let\oldfootnote\footnote
\renewcommand{\footnote}[1]{\oldfootnote{#1.}}%Erzeugt automatisch hinter jeder Fußnote einen Punkt

\jurabibsetup{commabeforerest,ibidem=name&title&auto,citefull=first,titleformat=colonsep, dotafter=bibentry}

\renewcommand*{\bibatsep}{,}
\renewcommand*{\bibbdsep}{}
\renewcommand*{\bibbtsep}{in: }
\renewcommand*{\bibjtsep}{in: }
\renewcommand*{\bibpldelim}{(}
\renewcommand*{\bibprdelim}{)}
\renewcommand*{\biblnfont}{}
\renewcommand*{\bibelnfont}{}
\renewcommand*{\bibfnfont}{}
\renewcommand*{\bibefnfont}{}
\renewcommand*{\samepageibidemname}{Ebd.}
\renewcommand*{\bibbtasep} {;}\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\hbadness=10000


\hyphenation{ESV-Pro-gramm RSV-Pro-gramm Je-nat-zy Fahr-dy-na-mik-re-ge-lung Koe-nig-Fach-sen-feld Kon-di-tions-si-cher-heit Kraft-fahr-zeug-aero-dy-na-mik Kraft-fahr-zeug-for-schung Kühl-an-lage Lan-ches-ter Lenk-roll-ra-di-us Mer-ce-des-Benz Pan-hard Le-vas-sor Pa-tent-Mo-tor-wa-gen Ei-gen-stän-dig-keit Au-to-mo-bils Un-ter-su-chungs-be-darf Fahr-ge-stell- Fahr-werks-ent-wick-lung Phoe-nix-Wa-gen Stand-ard-an-triebs-kon-zep-ti-on Verk-kehrs-un-fall-to-ten-zah-len wirt-schafts-his-to-ri-sche un-ter-neh-mens- Dampf-au-to-mo-bil-kons-truk-teure Kut-sche kon-zep-ti-o-nell vor-han-de-nen Fahr-bahn-un-e-ben-hei-ten Hoch-druck-luft-rei-fen Achs-schen-kel-len-kung Achs-schenkel}


\begin{document}
Panhard&Levassor
\end{document}



Hoffe, das ist jetzt minimal genug?

Roman

u_fischer
08-06-2009, 12:44
Hi Ulrike,

das funktioniert so nicht.



Selbstverständlich funktioniert das. Ich teste meine Beispiele. Hast du dir denn mein Beispiel wirklich angeschaut, ausprobiert und versucht zu verstehen, was es eigentlich tut?



Habe Deinen Code oben in die Präambel geschrieben, das wird dann eben global übernommen.


Ich habe keine Ahnung, was du mit "eben global übernommen" meinst. Aber was ich sehen kann, ist das dein Beispiel meinen Code überhaupt nicht enthält. Zudem enthält mein Code einen Teil, der in die Präambel gehört, aber auch Teile, die im Dokument verwendet werden.



Hoffe, das ist jetzt minimal genug?


Nein. Von den Paketen sind wahrscheinlich maximal inputenc, fontenc und babel von Bedeutung. Die ganzen jurabib-Definitionen sind unnötig. Der \hyphenation-Befehl enthält lauter unwichtige Einträge, und dein Dokument testet die Trennungen überhaupt nicht.

Ulrike Fischer

Gotthard
08-06-2009, 13:09
Ich habe Deinen Code in die Präambel eingestellt, weil ich Panhard&Levassor in meiner ganzen Diss sauber getrennt haben will. Das Problem war dann, dass das Dokument beim Kompilieren gar nicht mehr aufgehört hat.

Das kann ich mir schon zeitlich nicht leisten.

Hier noch mal ein Beispiel, das "minimal" lass ich beiseite.



\documentclass{scrbook}

\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}%legt den Schriftsatz fest.

\usepackage{xspace}
\newcommand\PanLev{Pan\-hard\&\-Le\-vas\-sor\xspace}
\textwidth=0.1cm

\hyphenation{Panhard&Levassor}

\begin{document}

Panhard&Levassor

\end{document}




Ich will, dass ich in der Präambel die Trennungsdefinition von Panhard&Levassor einmal festlege und basta.

Das Problem war jetzt, dass dann alle Wörter wahrscheinlich so getrennt wurden. Ergebnis waren zig Warnungen und "overfull boxes"...

Roman

bobmalaria
08-06-2009, 13:15
hi,

na du muust den code schon benutzen. du kannst nicht ulrikes code einfach in dein dokument schreiben, dann aber den definierten befehl nicht benutzen. es gibt im editor auch die wunderbare funktion suchen&ersetzen. damit kannst du alle deine einträge Panhard&Levassor einfach und schnell durch \PanLev ersetzen lassen.

dein dokument hat vielleicht so lange kompiliert weil das paket xspace nachgeladen wurde. nach dem das 1x passiert ist, gehts auch wieder so schnell wie zuvor.


\documentclass{scrbook}

\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}%legt den Schriftsatz fest.

\usepackage{xspace}
\newcommand\PanLev{Pan\-hard\&\-Le\-vas\-sor\xspace}
\textwidth=0.1cm

\%hyphenation{Panhard&Levassor} %brauchst du nicht mehr

\begin{document}

%Panhard&Levassor
durch \PanLev ersetzt (suchen und ersetzen im editor)

\end{document}

also anstatt immer Panhard&Levassor zu schreiben schreibst du in zukunft \PanLev. du musst also sogar weniger schreiben :)
verstanden?

Gotthard
08-06-2009, 13:34
Ich habe es jetzt noch einmal ausprobiert. Das Kompilieren dauert an...

es liegt an dem Befehl \textwidth=0.1cm

alles andere funktioniert.

Ich habe dutzende von Ausdrücken, die ich trennen muss.

An
\usepackage{xspace} liegt es nicht. Auch nicht am Befehl
\newcommand\PanLev{Pan\-hard\&\-Le\-vas\-sor\xspace}

sobald ich \textwidht=0.1cm verwende, klappt nix mehr.

Roman

u_fischer
08-06-2009, 13:55
sobald ich \textwidht=0.1cm verwende, klappt nix mehr.

Tja, dann versuche mal rauszufinden, was \textwidth=0.1cm tut und warum ich es in meinem Beispiel benutzt habe. Dazu probiere mal mein Beispiel aus, schaue dir das Ergebnis an. Dann füge vor \textwidth ein %-Zeichen ein, kompiliere erneut und schau nach, was sich ändert. Entscheide danach, ob du die Zeile übernehmen willst oder nicht.

Ulrike Fischer

Gotthard
08-06-2009, 14:10
hab das \textwidht mal auf 14.0 cm gestellt. Soviel ich jetzt rausgefunden hab, steht das ja für die Textbreite auf der Seite (trivial ausgedrückt).

Wozu ist das im Zusammenhang mit der Trennung wichtig?

Wofür ist es gut?

Roman

bobmalaria
08-06-2009, 14:18
hi,

du brauchst das überhaupt nicht. ulrike hat es verwendet um in ihrem beispiel eine trennung der worte zu erzwingen indem sie die seite ganz schmal macht.

das war also rein zu demonstrationszwecken. also lösche diese zeile, denn sie hat mit deinem dokument nichts zu tun.

deine textbreite wird von der dokumentenklasse eingestellt.

gruss

u_fischer
08-06-2009, 14:21
Lass den \textwidth-Befehl ganz weg. Den habe ich doch nur benutzt, um möglichst kurze Zeilen zu erzeugen und damit zum Testen möglichst viele Trennungen zu erzwingen.

Ulrike Fischer

Gotthard
08-06-2009, 14:28
Dachte ich mir schon, dass Du mich necken willst :-)

Danke, eine Trennstelle ergibt sich jetzt und die schaut klasse aus. Alle anderen hyphenation-Definitionen hab ich stehen lassen.

Roman

Kennst Du einen Citavi-Crack? Wollte meine Citavi-Sachen über biblatex einbinden, aber das geht nicht.

u_fischer
08-06-2009, 14:35
Kennst Du einen Citavi-Crack? Wollte meine Citavi-Sachen über biblatex einbinden, aber das geht nicht.

Nein, aber in de.comp.text.tex gibt es einige, die sich mit biblatex gut auskennen.

Ulrike Fischer

localghost
08-06-2009, 17:34
[...] möchte das Wort Panhard&Levassor bei den Hyphenationsregeln "global" für meine Diss regeln. Wie mach ich das?

Es soll so getrennt werden: Pan-hard&-Le-vas-sor [...]

Probiere mal eine spezielle Eingabe im Quelltext.

Panhard&""Levassor
Ist zwar nicht global, aber mit wenig Aufwand beim Tippen verbunden.


MfG
Thorsten¹