2010-11-20 75 views
7

我想知道是否有可用于乳胶的条件命令(例如,\ ifthenelse),在一种情况下,它允许我使用单词“a”并在另一个用途中使用基于下面的单词是否以元音开头来表示单词“an”。LaTeX中的a/an替换

+3

您可以在[TeX StackExchange](http://tex.stackexchange.com/)上找到整个社区,其中没有TeX相关问题太小。 – 2010-11-21 05:57:32

+0

现在在tex.sx上:http://tex.stackexchange.com/questions/6627/a-an-substitution-in-latex – 2010-12-07 07:14:39

回答

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} 

你不能手动执行这样的“一个”,但你应该能够通过写\ AOrAn {}大学来压制它。

(编辑取的话再特殊情况考虑进去。)

+0

对此没有任何好处。 'a'有效,但不是'an'。例如,它给了我一个东西,但不是一个苹果。 – 2010-12-06 17:33:41

+0

@Raffi Khatchadourian:有趣的是,在这里从上面复制粘贴的工作很好。 – 2010-12-06 19:59:12

+0

它可能与使用命令作为名词有关。例如,我的代码将会显示\ AOrAn \ Noun。 – 2010-12-09 15:04:39

1

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

6

这不是一般的工作,因为决定使用一个一个是基础,不是机械上的字母后面该文章,但在其发音。因此,'一个叔叔',但'大学'和'荣誉'。

+0

好点。我已经修正了这个结果,我们不得不包括荣誉元音和标志例外。 – 2010-11-20 20:52:45

+0

是的,的确如此,但它至少会减少必须进行更改的案例数量。 – 2010-12-06 17:33:04