i mit Trema

Weitere Software zur Bearbeitung wie epstopdf, pdffonts, pdfcrop uvm.
willithefox
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Do 22. Sep 2011, 12:06
Wohnort: Berlin

i mit Trema

Beitrag von willithefox »

Will man mit LaTeX ein "i mit Trema" erstellen, verwendet man \"{i}. Das ist im Allgemeinen auch problemlos.

Nun verwende ich via BiBDesk einen Literatureintrag mit solch einem \"{i}. Und nun beobachte ich beim Kompilieren Fehlermeldungen, die ich nicht unter Kontrolle bekomme. Am Ende entsteht ein "i ohne i-Punkt".

Ich arbeite mit Textmaterial 2.0.6, TeXLive 2020 und BiBDesk auf einem Mac.

Kennt jemand einen Weg, wie man das Problem lösen kann?


willithefox
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Do 22. Sep 2011, 12:06
Wohnort: Berlin

Re: i mit Trema

Beitrag von willithefox »

Sorry, ich meinte nicht TextMaterial 2.0.6, sondern TextMat 2.0.6.


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2660
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: i mit Trema

Beitrag von KOMA »

Ich sehe da kein Problem:

Code: Alles auswählen

\begin{filecontents}{\jobname.bib}
@article { testthei,
  author={Ich},
  title={Ein Titel mit \"{i}},
  journal={Wie das alles so mit {\LaTeX} geht},
  year=2020
}    
\end{filecontents} \documentclass{article} \usepackage[ngerman]{babel} \usepackage{csquotes} \usepackage{biblatex} \addbibresource{\jobname.bib} \begin{document} Ein \"{i} im Text und \autocite{testthei}. \printbibliography \end{document}

Sieht dann wie im Anhang aus, was IMHO korrekt ist.

Aber natürlich weiß ich weder, was Du gemacht hast, noch was BibDesk (das ich nie verwende) produziert hat. Wenn BibDesk keine vernünftige bib-Datei produziert, dann liegt der Fehler dort. Dann konfiguriere das Programm entweder entsprechend oder verwende eines, das eine korrekte bib-Datei produzieren kann, oder korrigiere die exportierte bib-Datei selbst.

Übrigens geht mit aktuellen LaTeX auch einfach:

Code: Alles auswählen

\begin{filecontents}[force]{\jobname.bib}
@article { testthei,
  author={Ich},
  title={Ein Titel mit ï},
  journal={Wie das alles so mit {\LaTeX} geht},
  year=2020
}    
\end{filecontents} \documentclass{article} \usepackage[ngerman]{babel} \usepackage{csquotes} \usepackage{biblatex} \addbibresource{\jobname.bib} \begin{document} Ein ï im Text und \autocite{testthei}. \printbibliography \end{document}
Dateianhänge
test_iinderliteratur.png
test_iinderliteratur.png (10.51 KiB) 1016 mal betrachtet

willithefox
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Do 22. Sep 2011, 12:06
Wohnort: Berlin

Re: i mit Trema

Beitrag von willithefox »

Danke für den Hinweis. Mein Problem liegt offenbar an der begrenzten Leistungsfähigkeit von BiBDesk.


gast

Re: i mit Trema

Beitrag von gast »

Hast du denn UTF8 als Encoding für BibDesk eingestellt? Wie oben gezeigt, ist es bei Verwendung von biblatex und biber kein Problem UTF8-kodierte bib-Dateien zu verarbeiten.


willithefox
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Do 22. Sep 2011, 12:06
Wohnort: Berlin

Re: i mit Trema

Beitrag von willithefox »

Ja, ich mache das Encoding mit UTF8. Das Problem scheint BiBDesk zu sein. Merkwürdigerweise macht nur dieses \"{i} Probleme. Ich habe noch eine Menge anderer Sonderbuchstaben (wie bspw \^{i} oder \v{s}) in meiner Literaturdatenbank, die alle problemlos durchgehen.


gast

Re: i mit Trema

Beitrag von gast »

?? Wenn BibDesk UTF8 exportiert, sollte es kein \"{i}, sondern ï schreiben. Und wenn es das tut, gibt es auch kein Problem, wie obiges Beispiel zeigt.


willithefox
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Do 22. Sep 2011, 12:06
Wohnort: Berlin

Re: i mit Trema

Beitrag von willithefox »

Mein Eintrag in die BiBDesk war fehlerhaft. Ich hatte nicht \"{i}, sondern ï eingetragen. Nachdem ich das repariert habe, läuft alles einwandfrei. Ich bitte um Entschuldigung.


gast

Re: i mit Trema

Beitrag von gast »

Wie bereits gesagt: Bei Verwendung eines aktuellen LaTeX mit biblatex und biber kann man unbesorgt ï schreiben, wie das zweite Beispiel oben zeigt.


MoeWe
Forum-Guru
Forum-Guru
Beiträge: 266
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: i mit Trema

Beitrag von MoeWe »

'I's mit Akzenten sorgen immer mal wieder für große Freude in Verbindung mit Biber. Allerdings sind mir bis jetzt nur Fälle bekannt, in denen die Dinge falsch liefen, wenn dabei das 'dotless i' \i zum Einsatz kam, weil Biber dann bei der Umwandlung zu Unicode etwas störrisch ist. Siehe z.B. https://tex.stackexchange.com/q/469555/35864 mit einigen Links und etwas Hintergrund.

Grob gesagt, gibt es theoretisch zumindest zwei Möglichkeiten, ein 'i' mit Akzent zu bauen: Man nimmt ein 'dotted i', packt den Akzent drauf und muss dann extra arbeiten um zu verhindern, dass der Punkt vom 'i' und der Akzent zusammen komisch aussehen, oder man vertritt gleich den Standpunkt, dass es sich eigentlich um ein 'dotless ı' mit Akzent handelt. Soweit ich weiß, war es früher in (La)TeX so, dass man den zweiten Weg mit dem 'dotless ı' gegangen ist: Ein i mit Akzent wurde mit \i gebaut, z.B. \"{\i} oder \'{\i}. Schon seit längerer Zeit ist es aber auch in LaTeX möglich, viele 'i'-basierte Buchstaben mit 'i' zu bauen: \"i und \'i gehen auch. Siehe z.B. https://tex.stackexchange.com/q/385242/35864.

Biber kann mit Unicode umgehen und muss zum richtigen Sortieren LaTeX-Makro-Gebilde wie \"i in das passende Unicode-Zeichen übersetzten. In Unicode sind die meisten 'i'-basierten Buchstaben mit eigenem Slot auf 'i' und nicht 'ı' aufgebaut. (Ich hatte dazu mal eine Referenz https://web.archive.org/web/20190112020 ... rk.html#22, aber die ist in der aktuellen Version weg. Eventuell sieht man das also inzwischen anders, aber soweit ich sehen kann ist die Situation noch immer wie beschrieben.) So wird z.B. \'i von Biber zu í (í, U+0069 + U+0301, also i + ´-Akzent) übersetzt, was wiederum äquivalent zu í (í, U+00ED) ist (äquivalent im Sinne einer Normalisierung, Stichwort NFC/NFD). Aber \'\i wird zu ı́ (ı́, U+0131 + U+0301, also ı + ´-Akzent), das nicht äquivalent zu í (í, U+00ED) ist.

Jetzt kommt hinzu, dass pdfLaTeX nur mit einem Teil von Unicode umgehen kann, insbesondere werden combining accents nicht unterstützt (das liegt daran, dass sie bei Unicode hinter dem Basis-Zeichen kommen, für TeX müssten sie aber vor dem Basis-Zeichen kommen, damit man damit gut umgehen kann). Die Folge ist, dass Biber \'{\i} zu U+0131 + U+0301 macht, womit pdfLaTeX nicht umgehen kann, aber \'i wird zu U+00ED und das geht. Für vollständige Unicode-Unterstützung in LaTeX braucht man eine der Unicode-Engines (LuaLaTeX oder XeLaTeX). Mit pdfLaTeX bekommt man nur einen Teil (den man unter Umständen mit \DeclareUnicodeCharacter oder \newunicodechar erweitern kann).

In meinen Tests gehen sowohl ï als auch {\"i} in der .bib-Datei. Im normalen LaTeX-Text gehen ï, \"{i} und \"{\i}

Code: Alles auswählen

% !TeX program = pdfLaTeX
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\begin{filecontents}{\jobname.bib}
@book{appleby,
  author  = {Humphrey Applebï and Humphrey Appleb{\" i}},
  title   = {On the Importance of the Civil Service},
  date    = {1980},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
Lorem ïpsum \"{i}psum \"{\i}psum

\cite{appleby}
\printbibliography
\end{document}

Wie zu erwarten geht \"{\i} in der .bib-Datei nicht. Ist daher im Beispiel nicht gezeigt, man bekäme einen Fehler

Code: Alles auswählen

! Package inputenc Error: Unicode character ̈ (U+0308)
(inputenc)                not set up for use with LaTeX.

der Akzent ̈ vom ı würde ignoriert, und in der Ausgäbe wäre nur das 'ı' zu sehen.

BibTeX kann mit nicht-US-ASCII-Buchstaben nicht richtig umgehen (es gibt zwar BibTeX8 für 8-Bit-Codierungen, aber das ignorieren wir jetzt mal, heutzutage sollte man eh besser Unicode wollen). Oft ist das nicht schlimm, da BibTeX diese Buchstaben einfach ignoriert, aber in einigen Fällen ist es unvorteilhaft wenn das passiert. Daher sollten nicht-US-ASCII-Buchstaben bei der Verwendung von BibTeX mit Makros geschrieben werden. Damit BibTeX mit diesen LaTeX-Escapes richtig umgehen kann, müssen die Buchstaben immer noch in ein zusätzliches Paar geschweifte Klammern gesetzt werden ( (https://tex.stackexchange.com/q/546794/35864)). Aus ï wird das LaTeX-Escape \"i und daraus in BibTeX {\"i}. Im normalen LaTeX-Text sind die äußeren Klammern nicht nötig. Da diese Klammern zumindest theoretisch sogar Probleme beim Kerning verursachen können, werden sie von Biber in der nächsten Version entfernt, nachdem die Umwandlung zu Unicode stattgefunden hat (https://github.com/plk/biber/issues/316, ich meine, Biber hast das schon früher probiert, aber die Sache mit geschweiften Klammern in .bib-Dateien scheint eine unendliche Geschichte zu sein).

Bei biblatex+Biber ist es am schönsten, die Unicode-Version der gewünschten Buchstaben direkt zu verwenden. Hier also ï (U+00EF). Wenn das in BibDesk nicht geht und zu den von Dir beschriebenen Symptomen (Fehler und im Dokument nur ein 'ı') führt, dann ist meine Vermutung, dass BibDesk hinter Deinem Rücken das ï in ein BibTeX-konformes {\"\i} escaped, dass dann von Biber wie oben beschrieben in eine für LaTeX nicht nutzbaren Unicode-Sequenz umgewandelt wird. Ich kenne BibDesk nicht, unterstelle jetzt aber mal, dass diese Software eine Option hat, einen biblatex-Modus einzustellen, in dem die Umwandlung von nicht-US-ASCII-Zeichen zu Makros unterbunden wird, oder dass man das auf anderem Weg abstellen kann.


Antworten