我已经就另一个问题提出了问题(请参阅这里),有人建议使用tipauni
而不是tipa
。多亏了这个建议,我最初的问题(IPA 符号的字体)已经解决了。但是,现在许多变音符号打印不正确(例如,打印在字母下方而不是上方,如下例中,长音符或卡龙符号打印在字母上方)。我自己定义的另外两个符号(其中一个\uhalb
在 MWE 中)不再打印。有人知道是什么原因导致了这个问题吗?
这是 MWE
\documentclass[twoside, fontsize=10.2pt, listof=nochaptergap]{scrbook}
%======================================
% === Papierformat ===
\usepackage[paperwidth=17cm, paperheight=24cm, %seitengrösse
outer=2.7cm, inner=2.4cm, top=2.5cm,bottom=2.5cm, %seitenränder
headsep=0.62cm]{geometry} %abstand von kopfzeile zu text
\setlength{\textheight}{19cm} \setlength{\textwidth}{11.9cm} %satzspiegel definieren
% === Schriftart ===
\usepackage{fontspec}
\setmainfont{Times New Roman}
% === Einzüge ===
\setlength\parindent{6mm}
%======================================
% === language packages ===
\usepackage[ngerman]{babel}
%======================================
% === testing ===
\usepackage{showframe}
\usepackage{blindtext}
%======================================
% === Querverweise ===
\usepackage{hyperref} % muss vor leipzig geladen werden
\hypersetup{colorlinks=false, linkcolor=black,unicode=true,
citecolor=blue, filecolor=blue, urlcolor=blue, pdfauthor=Hasse, pdfkeywords=}
\urlstyle{same}
%======================================
% === Glossar ===
\usepackage[nomain,style=long,nonumberlist,toc,xindy,nopostdot,sort=def,acronym]{glossaries}% package for creating a glossary and package for leipzig glosses (nomain, weil es in einem separaten file ist)
\usepackage{glossary-mcols} %dann wird glossar in zwei spalten gedruckt
% # \input{glossary.tex}
\usepackage[block]{leipzig}
\makeglossaries
\renewcommand{\leipzigname}{Glossierung}%die Leipzigliste umbenennen
%%customised glossings
\renewleipzig{abl}{abl}{Ablativ}
\renewleipzig{acc}{acc}{Akkusativ}
% some more customised glossings
%======================================
% === linguistic examples ===
%
\usepackage{microtype,booktabs}
\usepackage{langsci-gb4e} %https://ctan.math.illinois.edu/macros/xetex/latex/langsci/documentation/langsci-gb4.pdf
\renewcommand{\eachwordone}{\itshape} %italics in first line
%======================================
% === linguistic specific packages ===
\usepackage[english]{varioref}
\usepackage[T2A,T1,T3]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[documentfont=Times New Roman]{tipauni}
% === new tipa symbols ===
\newcommand\uhalb{\ipabar{u}{.7ex}{.5}{}{.5}}
\newcommand\aganz{\ipabar{a}{.5ex}{0.8}{}{}}
%======================================
%======================================
%======================================
\begin{document}
\setcounter{page}{5}
\blindtext
\textipa{an @ \v{s}tei, \i n @ m\={u}r}
\blindtext
\end{document}
答案1
如果您只是想划掉一个字符,那么您实际上并不需要所有复杂的功能\ipabar
。
在 Unicode 中已经有 U+0289 拉丁小写字母 U BAR,因此您可能需要使用它。
\documentclass{article}
\usepackage{fontspec}
\usepackage[documentfont=Times New Roman]{tipauni}
% === new tipa symbols ===
\makeatletter
\DeclareRobustCommand{\myipabar}[2]{% #1 = letter, #2 = height
\makebox[0pt][l]{%
\sbox\z@{\string#1}%
\vrule width \wd\z@
height \dimexpr#2\ht\z@+0.05ex\relax
depth -\dimexpr#2\ht\[email protected]\relax
}#1%
}
\makeatother
\DeclareRobustCommand\uhalb{\myipabar{u}{.7}}
\DeclareRobustCommand\aganz{\myipabar{a}{.5}}
\begin{document}
\textipa{an @ \v{s}tei, \i n @ m\={u}r}
\textipa{\uhalb \aganz}
\textipa{ʉ}
\end{document}
如果需要删除斜体字符,则会稍微复杂一些。