MetaPost 和 gmp 包。如何在 mpost 中使用变音符号?

MetaPost 和 gmp 包。如何在 mpost 中使用变音符号?

首先,我读过这个问题: 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}

在此处输入图片描述

当然,如果您希望在普通文本中也使用这些字符,那么也应该对主文档做出相同的声明。

相关内容