2010-11-20 76 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