在LaTeX中进行替换

时间:2010-11-20 16:26:15

标签: latex

我想知道是否有一个可以在乳胶中使用的条件命令(例如,\ ifthenelse)允许我在一种情况下使用单词'a'而在另一种情况下使用单词'an'为基础关于以下单词是否以元音开头。

3 个答案:

答案 0 :(得分:6)

这一般不起作用,因为使用 a 的决定是基于文章后面的字母而不是机械上的,而是基于其发音。因此,“叔叔”,但“大学”和“荣誉”。

答案 1 :(得分:3)

TeX提供了一个普通\如果比较字母。以下内容将起作用,除非您执行类似\ AOrAn \ myapplecommand的操作,否则会产生意外结果。

\documentclass{article}
\makeatletter
\newcommand\AOrAn[1]{%
  a%
  \@for\@vowel:=a,e,i,o,u,y,A,E,I,O,U,Y\do{%
    \expandafter\ifx\@vowel#1%
      n%
    \fi
  } % keep this space
  #1%
}

\makeatother
\begin{document}
\AOrAn apple, \AOrAn orange, \AOrAn banana.


an apple, an orange, a banana.
\end{document}

您无法手动强制执行此类“an”,但您应该可以通过编写\ AOrAn {}大学来抑制它。

(编辑将评论特殊情况考虑在内。)

答案 2 :(得分:1)

Here你有一些在Latex中使用条件的例子。