Ich lese eine Zeitung online, kopiere eine Textpassage und füge sie in mein LaTeX-Dokument ein. Manchmal erfolgt keine Fehlermeldung, aber beim Durchlesen des mit pdflatex erzeugten PDFs erscheinen einige skurrile Buchstaben (zum Beispiel ein großes E mit Trema). Und die Nummerierung am linken Rand stimmt nicht mit den Zeilen überein.

Ich vermute, dass beim Kopieren auch Steuerzeichen mitkopiert werden und so diese Fehler verursachen.

Habe folgendes versucht: Den Text in notepad++ eingefügt, markiert und dann oben im Menübalken bei "Kodierung" UTF-8 angeklickt. Dann erneut kopiert und in mein LaTeX-Dokument eingefügt. Hat aber keine Lösung gebracht.

Update:

  1. Meine Tex-live Installation ist schon einige Jahre installiert plus TexWorks editor.
  2. Habe nochmals überprüft was erwähnt wurde. Hat nichts gebracht.
  3. BTW wie kann man die installierte Tex-live Installation auf die volle Funktionfähigkeit testen?
  4. Zeilennumerierung: am Beispiel erkennt man, dass offenbar Steuerelemente übernommen wurde.

Kann man dieses Problem lösen?

\documentclass[a4paper,16pt]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\pagestyle{empty}
\setlength{\parindent}{0cm}
\begin{document}
\thispagestyle{empty}

"Ich benutze die Analogie von Star Wars", sagte er. "Das Virus ist die dunkle Seite. Wir haben ein zelluläres Abwehrsystem aus Hunderten von antiviralen Proteinen" - Jedi-Ritter - "um uns zu verteidigen. Unser Labor untersucht einen bestimmten Jedi, der eine bestimmte Waffe benutzt, und wie das Virus zurückschlägt.
Carolyn Machamer, eine Zellbiologin an der Johns Hopkins School of Medicine, untersucht die späteren Stadien dieses Prozesses, um zu erfahren, wie es dem Virus gelingt, sich in einer Wirtszelle zu bewegen, sich in ihr zu assemblieren und sie zu verlassen. Zu den Forschungsthemen, die auf ihrer Universitätswebseite aufgeführt sind, gehören Coronaviren, aber auch "intrazellulärer Proteinhandel" und "Exozytose großer Fracht".

\end{document}
Dieser Frage ist "Community Wiki" markiert.

gefragt 16 Jun '20, 23:37

fabo's gravatar image

fabo
111
Akzeptiert-Rate: 0%

bearbeitet 18 Jun '20, 15:04

esdd's gravatar image

esdd
17.7k254256

2

(1) pdfLaTeX (die LaTeX-Engine, die in wohl meisten Fällen noch immer voreingestellt ist) kann nur mit einem bestimmten Teil von UTF-8 umgehen. Dieser Teil sollte für deutsche Texte eigentlich genug sein, aber es kommt durchaus manchmal vor, dass man einen Fehler der Art Unicode character (U+....) not set up for use with LaTeX. bekommt. (2) Überprüfe, ob LaTeX UTF-8 als Eingabe erwartet: In einem modernen LaTeX (nach April 2018) ist das der Standard. In älterem LaTeX brauchte mal explizit \usepackage[utf8]{inputenc}. ...

(17 Jun '20, 06:52) moewe
2

... (Wenn inputenc geladen und eine andere Codierung als utf8 angegeben wird, dann erwartet LaTeX auf jeden Fall kein UTF-8.). (3) Überprüfe, ob die .tex-Datei wirklich als UTF-8 gespeichert wurde. Zumindest in Notepad++ gibt es einen Unterschied, ob Du die Datei nur als UTF-8-codiert betrachtest (über den oberen Teil des "Kodierung"-Menüs) oder zu UTF-8 konvertierst (unterer Teil des "Kodierung"-Menüs) und speicherst. Wenn ich es richtig verstanden habe, hast Du bis jetzt nur den kopierten Text in Notepad++ zwischenbetrachtet. ...

(17 Jun '20, 06:58) moewe
2

... Öffne mal die .tex-Datei mit Notepad++ und überprüfe dort die Kodierung. Eventuell ist Dein Editor auf etwas anderes als UTF-8 eingestellt.

(17 Jun '20, 06:59) moewe

Darüber hinaus gibt es übrigens tatsächlich so etwas wie UTF8-Steuerzeichen, beispielsweise Softhyphens aber auch viele andere, die zu Problemen führen können. Ich habe auch schon erlebt, dass auf Seiten absichtlich nicht darstellbare UTF8-Codes angegeben waren, um das Kopieren zu erschweren. Das ist allerdings inzwischen eher selten, weil die Erzeuger eingesehen habe, dass man sich nicht auf irgendwelche Eigenschaften eines bestimmten Browsers verlassen darf.

(17 Jun '20, 09:54) gast3

BTW: Was für eine Nummerierung am linken Rand? Kannst du bitte ein vollständiges Minimalbeispiel angeben?

(17 Jun '20, 10:02) gast3

Auch die Font-Codierung kann in seltenen Fällen zu Darstellungsfehlern führen. Klassisch ist da der Fall:

\documentclass{article}
\begin{document}
\meaning\texttt vs. \texttt{\meaning\texttt}
\end{document}
(17 Jun '20, 10:04) gast3
1

Ooohh. Soweit ich sehen kann hat das absolut gar nichts mit UTF-8 und Codierung zu tun, sondern der Bösewicht ist das ". Bei der Nutzung von babel mit ngerman wird " zu einem (aktiven) "Shorthand", mit dem man bestimmte Zeichen einfacher einfügen kann als gewohnt. So schrieb man früher (also ganz früher) \"a für "ä". Mit den Shorthands kann man das auf "a verkürzen. Das heißt aber im Grunde, dass das Zeichen " nicht als normales Anführungszeichen verwendet werden darf, da es sonst unter Umständen folgenden Zeichen Umlautpunkte aufs Dach setzt. Siehe "Exozytose".

(17 Jun '20, 17:35) moewe
1

Eigentlich wurde " in LaTeX noch nie als Anführungszeichen empfohlen. Im Englischen schreibt man ``text''. Mit babel kann man im Deutschen z.B. "`Text"' schreiben (oder \glqq Text\grqq{}). Viel schöner setzt man meiner Meinung nach aber Anführungszeichen mit dem Paket csquotes: Einfach mit \usepackage{csquotes} laden und Anführungszeichen mit \enquote{Text} einfügen.

(17 Jun '20, 17:35) moewe

erstes Problem gelöst: im Hinterkopf hatte ich die Vorstellung, das Packet babel löst diese Probleme automatisch (Wunschdenken). Habe nochmal im Buch von Klaus Braune et. al., das Kapitel 8 "Sprachunterstützung mit babel" sowie Kapitel 15.3 Anführungszeichen, Zitate, nachgelesen. da steht fast alles drin, ausgenommen dein (moewe) erwähntes {csquotes}-Packet. zweites Problem: Zeilennumerierung. Für den ganzen Text wie er oben steht, müssten 7 aufeinanderfolgende Nummern erscheinen. Aber für den ganzen obigen Text sind es nur zwei. Da ist noch ein Hacken!

(17 Jun '20, 23:00) fabo

Falls Du mit der Zeilennummerierung am linken Rand die Zeilennummern im Editor meinst, dann liegt das daran, dass der komplette Absatz ohne feste Zeilenumbruch eingefügt wurde. Das kannst Du bei TeXworks unter »Format« und dann »Fester Zeilenumbruch ...« ändern. Es gibt auch in den TeXworks Einstellungen im Reiter »Editor« eine entsprechende Voreinstellung. (Disclaimer: Ich nutze einen anderen Editor, habe deshalb keine weiteren Erfahrungen mit TeXworks).

(18 Jun '20, 09:25) esdd

kannst du bitte zeigen wie das geht. ( > Editiere deshalb Deine Frage und baue das Minimalbeispiel dort ein. Zum Formatieren des Codes markiere diesen und verwende den Button mit den Nullen und Einsen.)

Habe ich etwa keine verständliche Frage gestellt und Minimalbsp. eingefügt?

(18 Jun '20, 14:14) fabo

Ich habe das Minimalbeispiel in die Frage eingefügt. Vielleicht kann @moewe aus seinen Kommentaren eine Antwort machen.

(18 Jun '20, 15:11) esdd

@fabo Bitte verwende Kommentare oder editiere die Frage, wenn Du etwas ergänzen oder erläutern willst. Beispielsweise ist noch immer offen, welche Zeilennummern Du meinst (siehe auch meinen Kommentar weiter oben). Im erstellten pdf sind jedenfalls gar keine Zeilennummern vorhanden. Das Buch von Klaus Braune et. al. ist von 2006 oder 2007? Seitdem hat sich viel getan und es ist vieles einfacher geworden.

(18 Jun '20, 15:16) esdd
Ergebnis 5 von 13 show 8 more comments

Die Frage mit der Zeilennummerierung werde ich zunächst ignorieren, da zumindest im Minimalbeispiel gar keine Zeilennummerierung erzeugt wird und daher nicht ganz klar ist, worum es überhaupt geht. (esdds Vermutung, dass es um die Zeilennummern des Editors gehen könnte ist durchaus plausibel).

\documentclass[a4paper,16pt]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\pagestyle{empty}
\setlength{\parindent}{0cm}
\begin{document}
\thispagestyle{empty}

"Ich benutze die Analogie von Star Wars", sagte er. "Das Virus ist die dunkle Seite. Wir haben ein zelluläres Abwehrsystem aus Hunderten von antiviralen Proteinen" - Jedi-Ritter - "um uns zu verteidigen. Unser Labor untersucht einen bestimmten Jedi, der eine bestimmte Waffe benutzt, und wie das Virus zurückschlägt.
Carolyn Machamer, eine Zellbiologin an der Johns Hopkins School of Medicine, untersucht die späteren Stadien dieses Prozesses, um zu erfahren, wie es dem Virus gelingt, sich in einer Wirtszelle zu bewegen, sich in ihr zu assemblieren und sie zu verlassen. Zu den Forschungsthemen, die auf ihrer Universitätswebseite aufgeführt sind, gehören Coronaviren, aber auch "intrazellulärer Proteinhandel" und "Exozytose großer Fracht".

\end{document}

produziert bei mir

Ïch benutze die Analogie von Star Wars"

Es zeigen sich tatsächlich ein paar Umlaute, die wir nicht erwartet haben.

Bei genauerer Betrachtung zeigt sich, dass die ungewollten Umlaute immer nur dort stehen, wo im Quellcode ein Anführungszeichen mit " gesetzt wurde. Das liegt daran, dass " bei der Verwendung von babel-(n)german zu einem (aktiven) Shorthand wird. " kann dann als Befehlskürzel verwendet werden, um bestimmte Zeichen/Befehle einzufügen. Die ganze Liste ist der ngerman-babel-Moduldokumentation ngermanb.pdf zu entnehmen (Tab. 1 auf Seite 2). So sorgt " vor einem Vokal dafür, dass dieser Vokal Umlautpunkte bekommt. Aus "U wird also "Ü" in der Ausgabe. Das sparte früher als Umlaute wie Ü noch nicht in von LaTeX und dem Editor unterstützen Codierungssätzen verfügbar waren etwas Zeit, da nicht zum Backslash gegriffen werden musste um \"U für das "Ü" zu schreiben, "U war mit babel genug. Heutzutage, wo (fast) alle Welt UTF-8 unterstützt und nutzt, kommt " für Umlaute wohl nur noch selten zum Einsatz, aber es gibt noch immer praktische "-Kombinationen wie "=.

Das Zeichen " allein wurde in LaTeX aber noch nie echt für Anführungszeichen verwendet. Typographisch schöne amerikanische/englische Anführungszeichen gibt es mit

``lorem ipsum `dolor' sit amet''

Im Deutschen nimmt man (mit babels (n)german)

 "`lorem ipsum dolor sit amet"'

oder etwas weniger handlich

 \glqq lorem ipsum \glq dolor\grq{} sit amet\grqq{}

(Es gibt auch Befehle für Guillemets. Wenn wirklich ein gerades doppeltes Anführunsgzeichen oben gewünscht ist, gibt es \dq. Mehr dazu in der bereits verlinkten Dokumentation des babel-Moduls.)

Ich würde mich aber gar nicht mit diesen Befehlen für Anführungszeichen aufhalten. Stattdessen empfehle ich das Paket csquotes mit dessen Befehl \enquote{...} typographisch korrekte Anführungszeichen in der Dokumentensprache erzeugt werden können. Der Befehl kann geschachtelt werden und wechselt dann von sich aus zwischen doppelten und einfachen Anführungszeichen.

\enquote{lorem ipsum \enquote{dolor} sit amet}

Das Paket bietet noch mehr Möglichkeiten und Befehle. Ein kurzes Blick in die Dokumentation kann also nicht schaden.

Dein Code könnte also wie folgt aussehen.

\documentclass[a4paper,16pt,parskip=half]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{csquotes}

\begin{document}

\enquote{Ich benutze die Analogie von Star Wars}, sagte er.
\enquote{Das Virus ist die dunkle Seite.
Wir haben ein zelluläres Abwehrsystem aus Hunderten von antiviralen Proteinen} -- Jedi-Ritter --
\enquote{um uns zu verteidigen.
Unser Labor untersucht einen bestimmten Jedi,
der eine bestimmte Waffe benutzt, und wie das Virus zurückschlägt.}

Carolyn Machamer, eine Zellbiologin an der Johns Hopkins School of Medicine,
untersucht die späteren Stadien dieses Prozesses, um zu erfahren,
wie es dem Virus gelingt, sich in einer Wirtszelle zu bewegen,
sich in ihr zu assemblieren und sie zu verlassen.
Zu den Forschungsthemen, die auf ihrer Universitätswebseite aufgeführt sind,
gehören Coronaviren, aber auch \enquote{intrazellulärer Proteinhandel}
und \enquote{Exozytose großer Fracht}.

\end{document}

„Ich benutze die Analogie von Star Wars“, sagte er.

Das \setlength{\parindent}{0cm} habe ich durch die Klassenoption parksip=half ersetzt. Warum es keine gute Idee ist, einfach so \parindent auf null zu setzen, ist sehr schön bei https://komascript.de/faq_parindent, https://texwelt.de/fragen/9/warum-sollte-man-parindent-nicht-benutzten und https://texwelt.de/fragen/23712/wie-stelle-ich-den-absatzeinzug-korrekt-ab erklärt.

Ich habe außerdem hier noch lmodern hinzugefügt, da ich das "ß" sonst etwas unschön finde. Aber das ist zu einem gewissen Grad sicher eine Geschmacksfrage.

Permanenter link

beantwortet 18 Jun '20, 17:48

moewe's gravatar image

moewe
3.7k36
Akzeptiert-Rate: 42%

bearbeitet 18 Jun '20, 17:50

1) " ist beim Paket babel also ein aktives Zeichen wie der Backslash und dient dazu in Deutsch Umlaute und andere Sonderzeichen und Ligaturen darzustellen. (?) Ok. Danke für die Lektion!

P.S. Sollte ein Anfänger das Zoll- oder Bogensekundenzeichen schreiben müssen: zum Beispiel: 3,5" wird er eingeben müssen: 3,5(^{\prime\prime}) dann ...

2) Problem mit der Zeilennumerierung: Editor "TeXworks" bietet die Möglichkeit beim Menü "Format" die 'Zeilennummern' zu aktivieren. Das ist hilfreich bei Fehlerangaben auf der Konsole. ich dachte jede Zeile hätte eine Nummer, was aber offenbar nicht nötig ist. Warum weiss ich nicht.

(18 Jun '20, 22:53) fabo

@fabo Ich habe Deinen Beitrag in einen Kommentar umgewandelt, da er keine Anwort auf Deine Frage ist.

(18 Jun '20, 23:16) esdd
2

@fabo Der Anfänger darf auch von dem Befehlsangebot des Pakets siunitx Gebrauch machen:

\documentclass{standalone}
\usepackage[locale=DE]{siunitx}

\begin{document}
\SI{3.5}{\arcsecond}
\end{document}
(19 Jun '20, 00:05) Bartman

@fabo 1) Ja, man kann sich das in etwa so vorstellen. Der Backslash ist aber TeXnisch gesehen kein aktives Zeichen (Kategorie 13, active), sondern ein Zeichen der Kategorie 0 (escape). Ein Beispiel für ein anderes aktives Zeichen wäre ~. Das verhält sich aber nicht ganz so wie ", da es nicht als Makro mit Argument auftritt. Etwas korrekter wäre es, " als ein Makro zu verstehen, das ein Argument bekommt (bei "a ist das Argument das a) und damit bestimmte Dinge macht (z.B. Umlautpunkte draufsetzen oder einfach ohne Änderungen ausgeben).

(19 Jun '20, 07:43) moewe

Zu dem PS: ja-ish, esdd hat schon eine wesentlich bessere Methode mit siunitx aufgezeigt, die ich auch empfohlen hätte, daher belasse ich es bei dem Hinweis, dass zumindest laut meiner Recherche " in vielen Quellen nicht als korrektes Zeichen für Zoll gesehen wird, dort wird eigentlich immer die prime empfohlen (https://english.stackexchange.com/q/32463/ und Links). Aber wie in der Antwort gesagt, das gerade doppelte Anführungszeichen bekommst Du mit \dq (nur babel-(n)german) oder \textquotedbl (das einfache entsprechend mit \textquotesingle).

(19 Jun '20, 07:50) moewe

2) Jeder Codezeile kann man eine Zeilennummer zuweisen, die hat aber nichts mit der Zeilennummer des entsprechenden Textes im Dokument zu tun. Eine Zeile im Code (im .tex-Dokument) ist zuende, wenn am Ende ein/zwei Steuerzeichen stehen (welche Steuerzeichen hängt vom Betriebssystem ab). An der Stelle wird Dein Editor einen Umbruch machen und eine neue Zeile beginnen. Die neue Zeile hat dann eine eigene (um eins höhere) Zeilennummer. Das ist auch die Zeilennummer, die TeX beim Zählen herausbekommen wird. ...

(19 Jun '20, 07:55) moewe

... Wenn eine Zeile zu lang ist, um ganz auf den Bildschirm zu passen, hat ein Editor zwei Möglichkeiten: Entweder die Zeile läuft nach rechts weiter und Du musst scrollen, um alles zu sehen. Oder der Editor erzeugt in seinem Fenster einen Umbruch, ohne die Zeilennummer für den Text nach dem Zmbruch zu ändern. Dann sieht das unter Umständen so aus, als handele es sich um eine echte neue Zeile, es ist aber nur ein "gefakter Umbruch", um alles in das Fenster zu bekommen. ...

(19 Jun '20, 07:58) moewe

... Der von dir gezeigte Text besteht aus zwei Zeilen. Die zweite Zeile beginnt mit "Carolyn Machamer". In meinem Vorschlag, bin ich wesentlich freizügiger mit der Anwendung von Umbrüchen gewesen und habe aus den zwei Zeilen 14 Zeilen gemacht. Das hat den Vorteil, dass der Überblick besser ist, und die Fehlermeldungen (zumindest potentiell) genauere Zeilenangaben liefern können. ...

(19 Jun '20, 08:03) moewe

... Ich war vielleicht etwas zu aggressiv mit den Umbrüchen in dem Beispiel. Aber es ist sinnvoll, sich eine ungefähre maximale Zeilenlänge vorzugeben [z.B. die Editorzeilenläge] und dann logische Sinnabschnitte/Satzteile großzügig so zu trennen, dass die maximale Länger nicht überschritten wird.

(19 Jun '20, 08:07) moewe
Ergebnis 5 von 9 show 4 more comments
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:

×24
×18
×7
×6

gestellte Frage: 16 Jun '20, 23:37

Frage wurde gesehen: 4,393 Mal

zuletzt geändert: 19 Jun '20, 08:07