Text außerhalb der Ränder

Text außerhalb der Ränder

Ich weiß nicht, warum, aber eine Zeile in meinem Text liegt außerhalb des Randbereichs.

Bild

Wie kann ich dieses Problem vermeiden?

Ich verwende classicthesisTeXworks.

Bearbeiten: mit dem Befehl

\overfullrule=5pt

Ich sehe ein schwarzes Quadrat, wo dieses Problem auftritt.

Hier einMWEUndmyclassicthesis-preamble

\documentclass{scrreprt}

\usepackage[english]{babel}

\usepackage{myclassicthesis-preamble}
\usepackage{classicthesis}
\usepackage{microtype}

\renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\small\textsc{#1}}

\overfullrule=5pt

\begin{document}

\begin{description}
\item[Service Delivery Framework] The infrastructure to create, publish, manage and consume FI services across their life cycle, addressing all technical and business aspects.
\item[Interface to the Network and Devices] The open interfaces to networks and devices, harmonizing the connectivity needs of services built on top of the platform.
\end{description}

Lastly, on the \emph{political dimension}, legal and legislative barriers presently hinder the efficient cross-border establishment of new innovative solutions due to complex or incompatible ICT policies in Europe.

\end{document}

Zwei mögliche Probleme: Diese Zeile

\renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\small\textsc{#1}}

und die Änderung in myclassicthesis-preamble(Zeilen 63-70)

\PassOptionsToPackage{
            eulerchapternumbers,
            beramono,
            eulermath,          
            pdfspacing,         
            floatperchapter          
            }
{classicthesis}

insbesondere die Option pdfspacing.

Antwort1

presentlyAus zwei Gründen trennt TeX keine Silben :

  1. das Wort presentkann nicht automatisch getrennt werden, da es seine Silben ändert, wenn es ein Verb oder ein Nomen ist (genau wie record);

  2. Das Minimum der richtigen Silbentrennung ist im Englischen auf drei festgelegt, das heißt, in TeX dürfen nicht weniger als drei Zeichen eines getrennten Wortes in der neuen Zeile stehen.

Wenn wir setzen \righthyphenmin=2, dann \showhyphens{presently}ergibt sich present-lywie erwartet. Wird geladen ushyphenmaxüberhyphsubstwird presentlyaus demselben Grund nicht mit Bindestrich geschrieben wie \righthyphenmin=3. Die Aussage \hyphenation{pres-ent-ly}in der Präambel würde die Trennung als erlauben pres-ently(aber nicht present-ly, weil zwei Buchstaben zu wenig sind.).

In einer Notfallsituation kann die Silbentrennung durch Eingabe zugelassen werden present\-ly, wodurch das standardmäßige Minimum überschrieben wird.

Das Format vonklassischetheseist ziemlich streng und Ihr Text zeigt die Probleme, die bei langen Beschreibungsbezeichnungen auftreten können. Es gibt nicht viel zu tun, außer den Text zu ändern, wenn möglich. Ich würde es \sloppyso weit wie möglich vermeiden, da dadurch Absätze mit ungünstigen Abständen entstehen können.

Eine bessere Strategie ist die Verwendung von \emergencystretch: mit den folgenden Modifikationen

\begingroup\emergencystretch=.3em
\begin{description}

\item[Service Delivery Framework] The infrastructure to create, publish, manage and consume
FI services across their life cycle, addressing all technical and business aspects.

\item[Interface to the Network and Devices] The open interfaces to networks and devices,
harmonizing the connectivity needs of services built on top of the platform.

\end{description}

\endgroup

Lastly, on the \emph{political dimension}, legal and legislative barriers present\-ly hinder
the efficient cross-border establishment of new innovative solutions due to complex or
incompatible ICT policies in Europe.

Der Text wird ohne übervolle Kästchen und ohne allzu ungleichmäßige Abstände gesetzt.

Man sollte auch beachten, dassMikrotypie Istwird automatisch geladen durchklassischethese(Zeile 219 classicthesis.stysagt \RequirePackage{microtype).

Antwort2

Edit: Es scheint, als ob Sie in Ihrem Dokument einige besonders unglückliche Stellen haben, an denen nur ein \sloppyhilft. Dennoch finden Sie hier einige Informationen, die Ihnen helfen könnten, die Silbentrennung ein wenig besser zu verstehen und weniger dieser Stellen zu finden. Beachten Sie, dass das Folgendegilt nur für amerikanische Trennmuster, die von (La)TeX standardmäßig geladen wird und von babelden Optionen geladen wird english, americanund usenglish, die sindalles das selbe.

Wie bereits erwähnt, kann TeX keine Silbentrennung vornehmen.gegenwärtigDies kann man sehen, indem man ein Dokument zusammenstellt, das enthält \showhyphens{presently}; anschließend die Trennstellen vongegenwärtigwird in die .log-Datei geschrieben – es stellt sich heraus, dass es keine gibt. Wie @percusse bemerkte, \hyphenation{pre-sent-ly}wird das Hinzufügen zu Ihrer Präambel das Problem für dieses Wort lösen, aber Sie haben bemerkt, dass es noch mehr gibt. Hier ist also, was Sie sonst noch tun könnten:

Laden Sie die neuesten Silbentrennungsmuster

Einfügen

\RequirePackage[english=usenglishmax]{hyphsubst}

sogarVorum \documentclass{...}aktualisierte Silbentrennungsmuster für \usepackage[english]{babel}(amerikanische Muster) zu laden.

Einfügen der bekannten Silbentrennungsausnahmen per Hand

DerProtokoll der Silbentrennungsausnahmen(November 2010) ist „die regelmäßige Aktualisierung der Liste der Wörter, die TeX nicht richtig trennt“ (ebenda, S. 1001). Auf Seite 1005 wird bestätigt, dass TeX nicht weiß, wie man Silben trennt.gegenwärtig, und listet die gewünschte Silbentrennung auf pres-ent-ly.

Hier ist der relevante Absatz zur Verwendung dieser Liste von Silbentrennungsausnahmen:

Umwandlung dieser Liste in maschinenlesbare Silbentrennungsausnahmen

Werner Lemberg hat ein Skript erstellt, das diesen Artikel in einen echten Block umwandelt \hyphenation, der entweder direkt oder durch Eingabe einer Datei in ein Dokument eingefügt werden kann. Seine Arbeit erforderte einige Änderungen an den Makros, die zur Formatierung der Liste verwendet wurden, aber das Erscheinungsbild der Liste ändert sich nicht. Viele flektierte Formen werden automatisch eingefügt, einige davon sind in der gedruckten Version sichtbar, viele jedoch stillschweigend. Das Skript, hyphenex.sh, ist ein einfaches Shell-Skript und wurde auf CTAN veröffentlicht, intex-archive/info/digests/tugboat/hyphenex/ Die Ausgabe des Skripts wird im selben Bereich wie veröffentlicht ushyphex.tex.

(ebenda, S. 1001)

Abgesehen davon unterstütze ich Peters Vorschlag, das microtypePaket zu verwenden, das die Silbentrennung allgemein verbessert und Ihrem Dokument einen gleichmäßigeren Graufaktor verleiht.

Antwort3

Ohne einMWEes ist schwierig, das mit Sicherheit zu wissen.

Der übliche Grund dafür ist, dass TeX nicht alle Regeln für den Abstand gemäß den Nachrichten einhalten konnte Overfull \hbox. Eine Möglichkeit, dies zu beheben, besteht darin, hinzuzufügen, \sloppywas die Regeln für den Abstand zwischen Wörtern lockert. Siehe die Antworten aufWarum wird Text über die angegebene Zeilenbreite hinaus platziert?für eine ausführlichere Erklärung.

Oder Sie könnten \usepackage{microtype}die Präambel ergänzen. Siehe dieDokumentation zum Microtype-Paket für mehr Details.

Antwort4

Vielleicht weiß LaTeX nicht, wie man „presently“ trennt? In diesem Fall können Sie ihm einfach sagen, wie es geht, indem Sie es als schreiben pres\-ent\-ly.

verwandte Informationen