замена в LaTeX - PullRequest
       15

замена в LaTeX

7 голосов
/ 20 ноября 2010

Мне было интересно, есть ли условная команда, которую я могу использовать в латексе (например, \ ifthenelse), которая позволила бы мне, в одном случае, использовать слово «а», а в другом - слово «an» на основео том, начинается ли следующее слово с гласной.

Ответы [ 3 ]

6 голосов
/ 20 ноября 2010

В общем, это не сработает, потому что решение использовать a или и основано не механически на букве, следующей за статьей, а на ее произношении.Таким образом, «дядя», но «университет» и «честь».

3 голосов
/ 20 ноября 2010

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 {} университета.

(отредактировано для учета замечаний по исключительным случаям.)

1 голос
/ 20 ноября 2010

Здесь у вас есть несколько примеров использования условных выражений в латексе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...