PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : enumerate, texttt und blocksatz



Kara
22-04-2006, 09:59
Hallo,

ich war mal wieder über meinen PDF-Ausdruck erstaunt und konnte das Problem durch keines meiner Bücher usw. lösen... ich möchte Hypothesen mit enumerate darstellen und über texttt hervorheben (emph und textbf stehen jeweils für andere Hervorhebungen, daher texttt - sieht auch eigentlich sehr schön aus)...
das Problem ist, dass der Zeilenumbruch irgendwo hinter dem eigentlichen rechten Seitenrand passiert. Das Problem gibts nur, wenn ich texttt verwende, hfill hat auch nichts geändert.

Hier mein Minimalbeispiel (wenn auch nur reinkopiert, ich hab noch immer nicht kapiert, wie ihr die schönen blauen Boxen hier reinbekommt):

\documentclass[pdftex,12pt,a4paper,headsepline,tablecaptionabove]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[A4,portrait]{vmargin}

\begin{document}

Zunächst schreibe ich normalen Text, in dem der Hintergrund der Hypothesen erläutert wird. der Text erscheint in normalem Blocksatz, bis an das rechte Zeilenende sollen auch die mit texttt hervorgehobenen Hypothesen gehen. Aber mein Versuch sieht so aus:

\begin{enumerate}
\item{\texttt{Dies hier ist meine erste Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.}} \\
\item{\texttt{Dies hier ist meine zweite Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.}} \\
\end{enumerate}

Ohne texttt erscheinen die Hypothesen folgendermaßen:

\begin{enumerate}
\item[3.]{Dies hier ist meine dritte Hypothese, die ziemlich lang ist und trotzdem an der richtigen Stelle umgebrochen wird.} \\
\item[4.]{Dies hier ist meine vierte Hypothese, die ziemlich lang ist und trotzdem an der richtigen Stelle umgebrochen wird.} \\
\end{enumerate}

hfill brachte leider auch nichts:

\hfill{
\begin{enumerate}
\item[5.]{\texttt{Dies hier ist meine fünfte Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.}} \\
\item[6.]{\texttt{Dies hier ist meine sechste Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.}} \\
\end{enumerate}}

\end{document}

Kennt jemand eine Lösung dafür?

Vielen Dank!!!

countbela666
22-04-2006, 10:27
Hallo Kara,

eine vollkommene Lösung dieses Problems ist gar nicht so ganz einfach, da eine Typewriterschrift nicht umsonst auch Monospace-Font heißt und somit beim Blocksatz und beim Zeilenumbruch Probleme macht (die Wortzwischenräume bleiben in der Breite fest, somit kann eine Zeile so gut wie nie korrekt auffgefüllt werden). Weiteres Hindernis ist die Tatsache, dass in Typewriterschriften nicht getrennt wird, da diese meist keinen Trennungsstrich enthalten. Dies kann jedoch mit dem Paket hyphenat umgangen werden (s. auch FAQ 5.3.6 (http://www.dante.de/faq/de-tex-faq/html/makros1.html#34)). Trotzdem ragen einige Zeilen dann immer noch in den Rand hinein. Um dies zu verhindern, könntest du dir den \item-Befehl so zurechtbasteln, dass der Inhalt eines Listenpunktes in eine Box gesetzt wird, deren Breite ein wenig geringer als der eigentlich dafür vorgesehene Platz ist. Hier mal dein MB ein wenig abgewandelt:

\documentclass[pdftex,12pt,a4paper,headsepline,tablecaptionabove]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[A4,portrait]{vmargin}

\usepackage{calc,ifthen}
\usepackage[htt]{hyphenat}
%%%%%% neues Makro als Ersatz für \item\parbox\texttt %%%%%%
\providecommand{\myitem}[2][__empty__]{%
\ifthenelse{\equal{#1}{__empty__}}{%
\item\parbox[t]{\textwidth-\leftmargin}{\texttt{#2}}%
}{%
\item[#1]\parbox[t]{\textwidth-\leftmargin}{\texttt{#2}}%
}
}

\begin{document}

Zunächst schreibe ich normalen Text, in dem der Hintergrund der Hypothesen erläutert wird. der Text erscheint in normalem Blocksatz, bis an das rechte Zeilenende sollen auch die mit texttt hervorgehobenen Hypothesen gehen. Aber mein Versuch sieht so aus:

\begin{enumerate}
\myitem{Dies hier ist meine erste Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.} \\
\myitem{Dies hier ist meine zweite Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.} \\
\end{enumerate}

Ohne texttt erscheinen die Hypothesen folgendermaßen:

\begin{enumerate}
\item[3.]{Dies hier ist meine dritte Hypothese, die ziemlich lang ist und trotzdem an der richtigen Stelle umgebrochen wird.} \\
\item[4.]{Dies hier ist meine vierte Hypothese, die ziemlich lang ist und trotzdem an der richtigen Stelle umgebrochen wird.} \\
\end{enumerate}

hfill brachte leider auch nichts:

\hfill{
\begin{enumerate}
\myitem[5.]{Dies hier ist meine fünfte Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.} \\
\myitem[6.]{Dies hier ist meine sechste Hypothese, die ziemlich lang ist und daher deutlich mehr als eine Zeile in Anspruch nimmt, sie wird aber über den Rand hinaus geschrieben.} \\
\end{enumerate}}

\end{document}Dennoch ist ein richtiger Blocksatz meines Wissens mit einer Typewriterschrift unmöglich.

Grüße,
Marcel

daswaldhorn
22-04-2006, 10:43
Hallo Kara,

als kleine Ergänzung:
(wenn auch nur reinkopiert, ich hab noch immer nicht kapiert, wie ihr die schönen blauen Boxen hier reinbekommt)Klicke im Eingabefeld des Forums auf die Raute, damit erhälst du eine Code-Umgebung ([ code ]Minimalbeispiel[ /code ], die Leerzeichen hab ich jetzt nur gemacht, damit du es auch hier lesen kannst). In diese schreibst du dein Minimalbeispiel und schon hast du die schöne blaue Box :)
Probier es einfach aus, du hast ja einen Vorschau-Knopf.

Grüße, Carsten

Kara
22-04-2006, 10:53
Danke, hat funktioniert, das sieht schon gleich viel besser aus...