2010-11-20 43 views
7

Tôi đã tự hỏi nếu có một lệnh điều kiện mà tôi có thể sử dụng trong latex (ví dụ, \ ifthenelse) mà sẽ cho phép tôi, trong một trường hợp, sử dụng từ 'a' và sử dụng khác từ 'an' dựa trên việc từ đó có bắt đầu bằng nguyên âm hay không.a/a thay thế trong LaTeX

+3

Bạn có thể tìm thấy toàn bộ cộng đồng trên [TeX StackExchange] (http://tex.stackexchange.com/), nơi không có câu hỏi liên quan đến TeX quá nhỏ. –

+0

Bây giờ trên tex.sx: http://tex.stackexchange.com/questions/6627/a-an-substitution-in-latex –

Trả lời

3

TeX cung cấp đồng bằng \ nếu so sánh chữ cái. Sau đây sẽ làm việc, trừ khi bạn làm một cái gì đó như \ AOrAn \ myapplecommand, mà sẽ cho kết quả bất ngờ.

\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} 

Bạn không thể thực thi "an" một cách thủ công như thế này, nhưng bạn có thể chặn bằng cách viết trường đại học \ AOrAn {}.

(Edited để có nhận xét lại trường hợp ngoại lệ vào tài khoản.)

+0

Không tốt về điều này. 'a' hoạt động nhưng không phải là 'an'. Ví dụ, nó mang lại cho tôi một thứ nhưng không phải là một quả táo. –

+0

@Raffi Khatchadourian: vui nhộn, hoạt động tốt ở đây dưới dạng sao chép và dán từ trên cao. –

+0

Có thể có liên quan đến việc sử dụng lệnh làm danh từ. Ví dụ: mã của tôi sẽ đọc \ AOrAn \ Danh từ. –

1

Here bạn có một số ví dụ để sử dụng điều kiện trong Latex.

6

này sẽ không làm việc nói chung, bởi vì quyết định sử dụng một hoặc một dựa, không một cách máy móc vào chữ cái mà sau bài viết, nhưng về cách phát âm của nó. Vì vậy, 'một chú', nhưng 'một trường đại học' và 'một danh dự'.

+0

Điểm tốt. Tôi đã sửa đổi để có hiệu lực đó, chúng tôi sẽ phải bao gồm h một nguyên âm danh dự và cờ ngoại lệ. –

+0

Có, đó là sự thật, nhưng ít nhất nó sẽ giảm số lượng các trường hợp cần thay đổi. –

Các vấn đề liên quan