PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hereinragen von Wörtern in den Rand auf jeden Fall vermeiden



hupfdule
30-06-2009, 12:42
Hi,

ich suche eine Möglichkeit das Trennen von Wörtern gewaltsam zu erzwingen. Als Beispiel folgendes Dokument:


\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{tabularx}


\begin{document}
\blindtext

\begin{table}
\begin{tabularx}{\textwidth}{|>{\centering}p{2cm}|c|X|}
\hline
eins & zwei & drei\tabularnewline
\hline
output.queue.format.exception & blabla & \blindtext\tabularnewline
\hline
\end{tabularx}

\caption{test}

\end{table}


\end{document}


Hier wäre es sinnvoll, dass immer an den Punkten bei output.queue.format.exception getrennt würde. Gibt es eine Möglichkeit das global einzustellen (also Trennen an Punkten immer erlauben)?

Weiter gäbe es noch die Variante, dass ein solches Wort weder Punkte, noch Bindestriche, noch sonst etwas enthält. Hier wäre mir am liebsten, dass einfach irgendwo innerhalb des Wortes umbrochen wird. Es soll auf jeden Fall vermieden werden, dass die Ziele über ihren Rand hinaus ragt (wie es in obigem Beispiel der Fall ist).

Sind solche Dinge möglich?

voss
30-06-2009, 13:21
ich suche eine Möglichkeit das Trennen von Wörtern gewaltsam zu erzwingen. Als Beispiel folgendes Dokument:

Hier wäre es sinnvoll, dass immer an den Punkten bei output.queue.format.exception getrennt würde. Gibt es eine Möglichkeit das global einzustellen (also Trennen an Punkten immer erlauben)?

Weiter gäbe es noch die Variante, dass ein solches Wort weder Punkte, noch Bindestriche, noch sonst etwas enthält. Hier wäre mir am liebsten, dass einfach irgendwo innerhalb des Wortes umbrochen wird. Es soll auf jeden Fall vermieden werden, dass die Ziele über ihren Rand hinaus ragt (wie es in obigem Beispiel der Fall ist).

Sind solche Dinge möglich?
Irgendwo Trennen geht nicht so einfach. An einem bestimmten Zeichen schon.



\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{tabularx}
\usepackage{ragged2e}

\begin{document}
\blindtext

\begin{tabularx}{\textwidth}{|>{\hyphenchar\font46\Centering}p{2cm}|c|X|}\hline
eins & zwei & drei\tabularnewline\hline
output.queue.format.exception & blabla & \blindtext\tabularnewline\hline
\end{tabularx}

\end{document}


Herbert

hupfdule
30-06-2009, 13:52
Naja, so ganz ist das leider nicht, was ich will. Damit ist ja nur noch der Punkt das Trennzeichen. Und wird auch noch so eingefügt. Ich würde gerne zusätzliche Zeichen definieren, an denen getrennt werden darf.
Das ist nicht möglich?

u_fischer
30-06-2009, 15:05
Überall trennen geht z.B. so:


\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{tabularx}
\makeatletter
\def\breakall{% Note the name restoration!!!
%\leftskip\z@skip \rightskip\z@\@plus\p@ \sloppy
\hbadness\@MM
\@tempcnta\z@ \chardef\c`\c % in knuth patterns, c allows hyphens
\loop \lccode\@tempcnta\c \advance\@tempcnta\@ne%
\ifnum\@tempcnta<\@cclvi \repeat%
\lefthyphenmin\@ne \righthyphenmin\@ne%
\hyphenpenalty=10 % easy hyphenation
\doublehyphendemerits\language% some low number
\language\z@ % default English language
% --- Put \hyphenchar setting here (depends on font encoding)
\hyphenchar\font23 %<---space
\let\language\doublehyphendemerits% Prevent language changes
\uchyph\@ne% allow hypehantion of capitals
\everypar{\nobreak\hskip\z@skip}% allow first word hyphenation
}%
\def\endbreakall{% Note the name change
\par % format paragraph before forgetting settings!
}

\begin{document}
\blindtext

\begin{table}
\begin{tabularx}{\textwidth}{|>{\centering}p{2cm}|c|X|}
\hline
eins & zwei & drei\tabularnewline
\hline
\breakall output.queue.format.exception\endbreakall & blabla & \blindtext\tabularnewline
\hline
\end{tabularx}

\caption{test}

\end{table}


\end{document}

Wenn du weitere Varianten willst, empfehle ich dir in comp.text.tex nach "hyphenchar Arseneau" zu suchen.

Ulrike Fischer

hupfdule
30-06-2009, 15:37
Danke, das hilft mir schon deutlich weiter!
Werd mal noch in der Newsgroup stöbern.