如何检查文本模式

如何检查文本模式

我需要检查在符号替换期间模式是否真的是文本。这来自这样的任务:我确实替换了下点符号(如 ạ),以避免在 pdflatex 中出现“ Unicode char \u8:ạ not set up for use with LaTeX”之类的错误。文本如下:

\documentclass[12pt]{article} 

\usepackage[utf8]{inputenc} 

\DeclareUnicodeCharacter{1EA1}{\d{a}}

\begin{document}


\end{document} 

我想要更正确的文本,并且不出现任何可能的糟糕情况:

1)但我不知道如何检查文本模式

2)ifmmode可以使用,但我不知道如何在数学模式下简单地替换下点符号。

有人可以帮忙吗?

答案1

对于数学模式下的“下点”重音,请使用以下accents包:

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage{amsmath,accents}

\DeclareUnicodeCharacter{1EA1}{%
  \ifmmode
    \underaccent{\dot}{a}%
  \else
    \d{a}%
  \fi
}

\begin{document}

ạ $ạ$

\end{document}

但是,我会避免在数学模式下使用它,因为“带有下点重音的 a”在概念上与带有下点的拉丁小写字母 A 字符不同。

在此处输入图片描述

如果您加载该fixltx2e包(当使用 LaTeX 版本 2015/01/01 时,它将是 TeX Live 2015 或 MiKTeX 的默认包),您可以使用以下命令简化代码\TextOrMath

%\RequirePackage{fixltx2e} % needed only for LaTeX prior to 2015/01/01

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage{amsmath,accents}

\DeclareUnicodeCharacter{1EA1}{%
  \TextOrMath{\d{a}}{\underaccent{\dot}{a}}%
}

\begin{document}

ạ $ạ$

\end{document}

相关内容