In einem DIN A 5 Dokument füge ich oft von Hand eine Trennmöglichkeit ein, über linebreak. Gibt es eine Möglichkeit, in der Präambel automatisch nach / ein Linebreak zu definieren, ohne Extrabefehl? Hätte so eine Lösung evtl. ungewünschte Nebenwirkungen?

alt text

Hier das Minimalbeispiel mit und ohne:

Open in Online-Editor
\documentclass[a4paper,12pt]{article}
\usepackage[english,ngerman]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathpazo}
\newcommand{\sep}{\linebreak[1]}

\begin{document}
\section{ohne Trennmöglichkeit}
Facharbeiter/Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter/Facharbeiterin dringend gesucht

\section{mit Trennmöglichkeit}
Facharbeiter/\sep{}Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter/\sep{}Facharbeiterin dringend gesucht 
\end{document}

gefragt 10 Okt '16, 09:19

kai's gravatar image

kai
5483914
Akzeptiert-Rate: 33%

bearbeitet 10 Okt '16, 09:24


Zunächst sei empfohlen, utf8x nur dann zu verwenden, wenn es wirklich unbedingt notwendig ist und utf8 nicht genügt. Das nicht vom LaTeX-Team bereitgestellte utf8x aus dem Paket ucs hat nämlich einige Nebenwirkungen, die zu Problemen mit anderen Paketen führen können.

Dann seien die Shorthands von babel für die deutsche Sprache empfohlen, die in der sehr kurzen Anleitung zu babel-german zu finden sind. Das macht das ganze schon deutlich einfacher:

Open in Online-Editor
\documentclass[a4paper,12pt]{article}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
\section{ohne Umbruchmöglichkeit}
Facharbeiter/Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter/Facharbeiterin dringend gesucht

\section{mit Umbruchmöglichkeit}
Facharbeiter/""Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter/""Facharbeiterin dringend gesucht 
\end{document}

Ebenso könnte man einfach die im LaTeX-Kern definierte Anweisung \slash verwenden, die eigentlich in jeder ausführlichen LaTeX-Einführung dokumentiert sein sollte:

Open in Online-Editor
\documentclass[a4paper,12pt]{article}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
\section{ohne Umbruchmöglichkeit}
Facharbeiter/Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter/Facharbeiterin dringend gesucht

\section{mit babel-Umbruchmöglichkeit}
Facharbeiter/""Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter/""Facharbeiterin dringend gesucht

\section{mit \LaTeX-Kern-Umbruchmöglichkeit}
Facharbeiter\slash Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter\slash Facharbeiterin dringend gesucht 
\end{document}

Natürlich gibt es auch die Möglichkeit, / so umzudefinieren, dass danach automatisch ein Umbruch erfolgen kann. Dies kann aber an anderer Stelle, beispielsweise beim Setzen von Mathematik oder bei Berechnungen mit \glueexpr, \dimexpr und \numexpr oder bei Verwendung von calc zu Problemen führen. Während man die Probleme im Mathemodus noch recht einfach in den Griff bekommen kann, ist das bei den Problemen bei den Expressions nicht so einfach der Fall. Da entsprechende Berechnungen auch intern in anderen Paketen auftreten können, rate ich daher davon ab / aktiv zu machen und umzudefinieren. Das folgende Beispiel zeigt eines der Probleme und ist daher ausdrücklich nicht zur Nachahmung empfohlen:

Open in Online-Editor
\documentclass[a4paper,12pt]{article}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

% ACHTUNG: So sollte man das besser nicht machen, wie am Ende
%          des Dokuments gezeigt wird!
\begingroup
  \catcode`/=\active
  \AtBeginDocument{%
    \catcode`/=\active
    \let/\slash
  }
\endgroup

\begin{document}
\section{mit automatischer Umbruchmöglichkeit}
Facharbeiter/Facharbeiterin wirklich sehr dringend gesucht 
Facharbeiter/Facharbeiterin dringend gesucht

% Die folgende Zeile funktioniert ohne die Umdefinierung von /
% einwandfrei. Mit der Umdefinierung aber nicht mehr.
\the\dimexpr 20pt/10\relax
\end{document}
Permanenter link

beantwortet 10 Okt '16, 09:36

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 11 Okt '16, 09:01

Vielen Dank für die verschiedenen Möglichkeiten, saputello! Ich nutze utf8x und babel sonst nicht, habe nur die Overleaf-Datei für ein Minimalbeispiel gekürzt.

"" geht im konkreten Fall aus anderen Gründen leider nicht, in den Texten gibt es eigentlich keine Mathematik-Teile oder Berechnungen (web-Adressen in url{http://www.url.de}-Form werden anscheinend nicht problematisch), darum werde ich mal das dritte Beispiel testen, genau das war meine Frage, herzlichen Dank nochmal! Aber im Zweifelsfall bleibe ich wohl doch bei einer „händischen“ Lösung...

(10 Okt '16, 10:40) kai

@kai utf8x solltest Du eben besser nicht nützen. Probier erst einmal, ob utf8 genügt.

Warum geht "" bei Dir nicht?

Dinge wie \dimexpr werden übrigens auch in den KOMA-Script-Klassen bzw. den davon verwendeten KOMA-Script-Paketen verwendet. Vielleicht hätte ich die Umdefinierung von / besser gar nicht vorgeführt. Die Wahrscheinlichkeit, dass einem die irgendwann um die Ohren fliegt ist verm. recht groß.

(10 Okt '16, 15:04) saputello

In ConTeXt MKIV verwendet man \setbreakpoints[compound].

Open in Online-Editor
\showframe
\starttext

\startsection[title={ohne Trennmöglichkeit}]
  Dies sind absolut sinnlose Füllwörter, damit die Zeile ganz voll wird
  Facharbeiter/Facharbeiterin
\stopsection

\setbreakpoints[compound]

\startsection[title={mit Trennmöglichkeit}]
  Dies sind absolut sinnlose Füllwörter, damit die Zeile ganz voll wird
  Facharbeiter/Facharbeiterin
\stopsection

\stoptext

alt text

Permanenter link

beantwortet 10 Okt '16, 10:45

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 10 Okt '16, 10:45

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×16
×1

gestellte Frage: 10 Okt '16, 09:19

Frage wurde gesehen: 7,209 Mal

zuletzt geändert: 11 Okt '16, 09:01