首先,我读过这个问题: emp 包的正确使用。
但...
如何在 mpost 中使用变音符号?例如 ā、ä、ā、ä、ǟ、ḑ、ē、ī...
该项目是在 overleaf.com 上创建的。
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[shellescape,latex]{gmp}
\gmpoptions{everymp={input expressg;}}
\begin{document}
\begin{figure}[htp]
\centering
\begin{mpost}
z0 = origin;
drawroundedbox(0, 2.5cm, 3cm, 5mm)(
\btex {\begin{tabular}{@{}c@{}} ā, ä, ā, ä, ǟ, ḑ, ē, ī... \end{tabular}} etex
);
\end{mpost}
\end{figure}
\end{document}
它什么也没产生。
我用的是这个地点测试 MetaPost。
答案1
根据您的选择,简单的
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\begin{document}
ā, ä, ā, ä, ǟ, ḑ, ē, ī
\end{document}
会引发相同的错误,因为即使加载了,选项ā ǟ ḑ ē ī
也不支持它们。因此,它们在环境中不起作用也就不足为奇了。另一方面utf8
\usepackage[T1]{fontenc}
mpost
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[shellescape,latex]{gmp}
\gmpoptions{everymp={input expressg;}}
\usempxpackage[T1]{fontenc}
\usempxpackage[utf8]{inputenc}
\begin{document}
\begin{figure}[htp]
\centering
\begin{mpost}
z0 = origin;
drawroundedbox(0, 2.5cm, 3cm, 5mm)(
\btex {\begin{tabular}{@{}c@{}} ä, ă, ö \end{tabular}} etex
);
\end{mpost}
\end{figure}
\end{document}
完美运作,生产
这是通过教会 LaTeX 如何处理未知字符来实现的:
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[shellescape,latex]{gmp}
\gmpoptions{everymp={input expressg;}}
\usempxpackage[T1]{fontenc}
\usempxpackage[utf8]{inputenc}
\usempxpackage{newunicodechar}
\mpxcommands{%
\newunicodechar{ā}{\=a}%
\newunicodechar{ē}{\=e}%
\newunicodechar{ī}{\={\i}}%
\newunicodechar{ḑ}{\d{d}}%
\newunicodechar{ǟ}{\={ä}}%
}
\begin{document}
\begin{figure}[htp]
\centering
\begin{mpost}
z0 = origin;
drawroundedbox(0, 2.5cm, 3cm, 5mm)(
\btex {\begin{tabular}{@{}c@{}} ā, ä, ā, ä, ǟ, ḑ, ē, ī \end{tabular}} etex
);
\end{mpost}
\end{figure}
\end{document}
当然,如果您希望在普通文本中也使用这些字符,那么也应该对主文档做出相同的声明。