
Ich verwende das Paket, xpinyin
um Pinyin anzuzeigen, eine chinesische Lautschrift über chinesischen Schriftzeichen. Das scheint gut zu funktionieren, aber ich möchte die Schriftart der Lautschrift ändern. Ich habe Code imPaketdokumentation, obwohl dieses nur auf Chinesisch ist:
\xpinyinsetup{ratio=0.5, vsep=1em, multiple={\color{red}}, font=Liberation Sans}
Das Chinesisch in der Dokumentation ist für mich immer noch zu anspruchsvoll, daher vermute ich einfach, dass es Folgendes bewirkt:
- Machen Sie die Pinyin-Hal so groß wie die Hauptschriftart
- vertikaler Abstand von 1em, Pinyin ist durch 1em vom darunterliegenden chinesischen Zeichen getrennt
- Wenn es für ein Zeichen mehrere Pinyins gibt (多音字), wird das wahrscheinlichste Pinyin verwendet und rot markiert.
- Verwenden Sie die Schriftart
Liberation Sans
Ich weiß allerdings nicht, ob man einfach ein Leerzeichen zwischen Liberation
und lassen kann Sans
. Das Hauptproblem ist das folgende Ergebnis:
(In diesem Bild habe ich verwendet, Arial
weil der Name kurz genug ist, um lesbar zu sein.) Also dachte ich: „Das muss ein Schriftartproblem sein.“ Ich habe versucht, die Liberation Sans
Schriftart in Libre Office zu verwenden, um zu prüfen, ob die fehlenden Gesangsstimmen mit Tönen angezeigt werden konnten. Dort konnte sie angezeigt werden, ohne dass eine Änderung der Schriftart angezeigt wurde, aber ich weiß nicht, ob diese Information verborgen ist und ob die Schriftart diese Gesangsstimmen vielleicht wirklich nicht anzeigen kann.
Beachten Sie auch, wie der Schriftname irgendwie in die Lautschrift eingefügt wurde. Dies könnte beabsichtigt sein, obwohl es eher wie ein Fehler aussieht. Ich verstehe die Dokumentation jedoch nicht.
Wie kann ich erreichen, dass xpinyin richtig angezeigt wird, ohne dass der Schriftname in der Lautschrift des ersten Zeichens steht?
Hier einige Beispielcodes:
\documentclass[10pt, a4paper, parskip=full]{article} % twoside can be added if two sided margin layout is desired
\usepackage[a4paper,vmargin={30mm, 20mm},hmargin={30mm, 25mm},includeheadfoot]{geometry}
\usepackage{amsmath}
\usepackage[UTF8]{ctex}
\usepackage{xpinyin}
\xpinyinsetup{ratio=0.5, vsep=1em, multiple={\color{red}}, font=Liberation Sans}
\usepackage{fontspec,xunicode}
\setCJKmainfont[]{WenQuanYi Micro Hei}
\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase} % what does this do? -- influences how quotes are rendered
\setmainfont[Scale=1]{Open Sans}
\setmonofont{Liberation Mono}
\DeclareMathSizes{10}{10}{8}{7}
\usepackage[english, ngerman]{babel}
\selectlanguage{ngerman}
\begin{document}
\begin{pinyinscope}
我有一个送给你的礼物.
\end{pinyinscope}
\end{document}
Antwort1
Ich habe einen Workaround gefunden und vielleicht kann dies als Lösung angesehen werden:
\usepackage{xpinyin}
\xpinyinsetup{ratio={.7}, hsep={.5em plus .1em}, vsep={1.1em}, multiple={\color{red}}}
% redefine the pinyinscope environment, so that it uses a font which can display all pinyin syllables and vocals with diacritics
\newenvironment{pinyinscopeboxed}%
{\setmainfont{DejaVu Sans}\begin{pinyinscope}}%
{\end{pinyinscope}\setmainfont{Open Sans}}
Dadurch wird die Schriftart in eine Schriftart geändert, die alle diakritischen Zeichen von Pinyin anzeigen kann, wenn die Umgebung pinyinscopeboxed
beginnt, und in eine andere Schriftart zurückgeändert, wenn die Umgebung endet. Die spezifische Schriftart müsste wie gewünscht konfiguriert werden und könnte wahrscheinlich verbessert werden, indem man irgendwie eine Variable verwendet, die die Hauptschriftart enthält, bevor man sie ändert, und diese Variable dann zum Zurückwechseln verwendet, aber ich weiß noch nicht, wie das geht. Ich wäre dankbar für Vorschläge, wie das geht oder wie die Lösung allgemein verbessert werden kann.
Dadurch wird auch das fehlerhafte Verhalten vermieden, das dazu führt, dass der Schriftname in den Rubys angezeigt wird, weil die font
Option nicht verwendet wird xpinyin
.
BEARBEITEN#1
Qing Lee hat mir gezeigt, wie das richtig geht.
Erneuern Sie nicht die Umgebung, sondern Sie können stattdessen Folgendes tun, wenn Sie das fontspec
Paket verwenden:
\usepackage{fontspec}
\newfontfamily{\DVS}{DejaVu Sans}
\usepackage{xpinyin}
\xpinyinsetup{ratio={.7}, hsep={.5em plus .1em}, vsep={1.1em}, multiple={\color{red}}, pysep={.2em}, font=\DVS}
(Andere Werte dienen font=
nur zur Veranschaulichung.)