Leerzeichen in Zitat verschwindet bei Nutzung von mathfont

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Leerzeichen in Zitat verschwindet bei Nutzung von mathfont

Update

von roibot » Fr 19. Jul 2019, 17:50

Dem Autor ist das Problem bekannt und er empfiehlt folgenden Code als Fix, bis in ein paar Monaten ein Update seines Pakets erscheint.
\let\ampersand\&
\def\&{\ampersand{}}
Allerdings ist das Paket mathfont auch ohne den Fehler nur mit Bedacht zu empfehlen, wie der Link von Ulrike Fischer zeigt.

von roibot » Di 16. Jul 2019, 12:56

Vielen Dank für eure Antworten. Ich habe dem Autor von mathfont geschrieben und setze erstmal auf unicode-math, auch wenn ich da leider nicht genau die selbe Schrift wie für den Text verwenden kann.

von u_fischer » Di 16. Jul 2019, 09:38

von Gast » Di 16. Jul 2019, 07:38

Schon das folgende Beispiel zeigt, dass mathfont einfach an \& herumbastelt und den Befehl so umdefiniert, dass das Leerzeichen nach dem & verschwindet.
\documentclass[12pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{csquotes}

\usepackage[no-math]{fontspec}
\setmainfont{Times New Roman}

\usepackage{mathfont}
\mathfont{Times New Roman}

\begin{document}
Chuck \& Tester
\end{document}
Tatsächlich schreibt die Dokumentation von mathfont dazu
Finally, a technical point: when mathfont acts on the symbols characters, it redefines the four macros \#, \$, \%, and \& as robust commands more complicated than a single \char, so constructs like \number\# will need to be rewritten as \number`\#.
Ob dieser Nebeneffekt (im Text-Modus!) gewünscht oder vom Entwickler bewusst in Kauf genommen wird, weiß ich nicht. Da hilft nur, beim Entwickler nachzufragen und ihn auf diese sehr ungünstige Änderung des Verhaltens im Vergleich zu "Standard-LaTeX" aufmerksam zu machen.

Abhilfe schafft
\&{}
im Text oder bei biblatex
\&\addspace
statt dem sonst üblichen \&\space.
\documentclass[12pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[style=apa, backend=biber]{biblatex}

\usepackage[no-math]{fontspec}
\setmainfont{Times New Roman}

\usepackage{mathfont}
\mathfont{Times New Roman}

\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\value{liststop}>2}
       {\finalandcomma\addspace\&\addspace}
       {\addspace\&\addspace}}}

\DeclareDelimFormat[bib,biblist]{finalnamedelim:apa:family-given}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\finalandcomma\addspace\&\addspace}}

\DeclareDelimFormat[parencite,nptextcite,fullcite,fullcitebib]{finalnamedelim}
  {\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\&\addspace}

\addbibresource{biblatex-examples.bib}

\begin{document}
Chuck \&{} Tester \parencite{sigfridsson}.
\printbibliography
\end{document}

Leerzeichen in Zitat verschwindet bei Nutzung von mathfont

von roibot » Mo 15. Jul 2019, 23:23

Guten Abend zusammen,

ich habe gerade ein sehr eigenartiges Problem, zu dem ich keinerlei Informationen finden konnte. Wenn ich das Paket mathfont mit einer eigenen Schrift lade, verschwindet das Leerzeichen vor dem & in Zitaten in Klammern. Ohne die Schrift wird das Leerzeichen korrekt ausgegeben.
% !TeX program = lualatex

\documentclass[12pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[style=apa, backend=biber]{biblatex}

\usepackage[no-math]{fontspec}
\setmainfont{Times New Roman}

\usepackage{mathfont}
\mathfont{Times New Roman}

\begin{filecontents}{test.bib}
@article{greenwade93,
    author  = "Greenwade, George D and Tester, Someone",
    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
    year    = "1993",
    journal = "TUGBoat",
    volume  = "14",
    number  = "3",
    pages   = "342--351"}
\end{filecontents}
\addbibresource{test.bib}

\begin{document}
Not right \parencite{greenwade93}.
\printbibliography
\end{document}
Ich habe das Beispiel in Overleaf nicht zum Laufen bekommen, da scheint mathfont zu fehlen. Lokal mit MacTeX-2019 funktioniert es. So wie das Beispiel steht, wird der Fehler sichtbar. Wenn mathfont auskommentiert wird, ist alles korrekt.

Wieso verschwindet das Leerzeichen vor dem &, wenn ich mathfont mit einer eigenen Schrift lade?

Viele Grüße
roibot

Nach oben