8

Question:

How do I get the Armenian language to print out in a mixed language document?

Minimal Working Example (MWE):

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,french,armenian]{babel}

\begin{document}

Plus ça change, plus c'est la même chose!

\selectlanguage{english}

And an English paragraph, with a short text in

% Does not work (selectlanguage does not help either)
\foreignlanguage{armenian}{զրո}.

\end{document}

Desired output:

To get the Armenian characters to print out. French and English seems to work, but not Armenian.

4

1 Answer 1

8

There is no babel support for Armenian.

However, TeX Live and MiKTeX provide font support.

\documentclass{article}

\usepackage[OT6,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,french]{babel}

\newcommand{\armenian}{\fontencoding{OT6}\fontfamily{cmr}\selectfont}
\DeclareTextFontCommand{\textarmenian}{\armenian}

\begin{document}

Plus ça change, plus c'est la même chose!

\selectlanguage{english}

And an English paragraph, with a short text in
\textarmenian{զրո}.

\end{document}

enter image description here

As an addition, here's a set of macros for printing Armenian traditional numerals (up to 99999999). The input to \armeniannumeral can be an explicit number but also a counter, see example.

\documentclass{article}
\usepackage[OT6,T1]{fontenc}
\usepackage{xparse,etoolbox}

\NewDocumentCommand{\armenian}{}{\fontencoding{OT6}\fontfamily{cmr}\selectfont}
\DeclareTextFontCommand{\textarmenian}{\armenian}
\robustify\textarmenian

\ExplSyntaxOn
\NewDocumentCommand{\armeniannumeral}{m}
 {% #1 = an integer denotation (less than 10^8)
  \textarmenian
   {
    \kexx_armenian_numeral:n { #1 }
   }
 }

\cs_new_protected:Nn \kexx_armenian_numeral:n
 {
  \int_compare:nTF { #1 > 9999 }
   {
    $\overline{\kexx_armenian_numeral_print:f { \int_div_truncate:nn { #1 } { 10000 } } }$
    \kexx_armenian_numeral_print:f { \int_mod:nn { #1 } { 10000 } }
   }
   {
    \kexx_armenian_numeral_print:f { \int_eval:n { #1 } }
   }
 }

\cs_new_protected:Nn \kexx_armenian_numeral_print:n
 {
  \kexx_armenian_numeral_print_aux:f { \prg_replicate:nn { 4 - \tl_count:n { #1 } } { 0 } #1 }
 }
\cs_generate_variant:Nn \kexx_armenian_numeral_print:n { f }

\cs_new_protected:Nn \kexx_armenian_numeral_print_aux:n
 {
  \mbox { \kexx_armenian_numeral_print_final:nnnn #1 }
 }
\cs_generate_variant:Nn \kexx_armenian_numeral_print_aux:n { f }

\cs_new_protected:Nn \kexx_armenian_numeral_print_final:nnnn
 {
  \int_case:nn { #1 } % thousands
   {
    {1}{Ռ}
    {2}{Ս}
    {3}{Վ}
    {4}{Տ}
    {5}{Ր}
    {6}{Ց}
    {7}{Ւ}
    {8}{Փ}
    {9}{Ք}
   }
  \int_case:nn { #2 } % hundreds
   {
    {1}{Ճ}
    {2}{Մ}
    {3}{Յ}
    {4}{Ն}
    {5}{Շ}
    {6}{Ո}
    {7}{Չ}
    {8}{Պ}
    {9}{Ջ}
   }
  \int_case:nn { #3 } % tens
   {
    {1}{Ժ}
    {2}{Ի}
    {3}{Լ}
    {4}{Խ}
    {5}{Ծ}
    {6}{Կ}
    {7}{Հ}
    {8}{Ձ}
    {9}{Ղ}
   }
  \int_case:nn { #4 } % units
   {
    {1}{Ա}
    {2}{Բ}
    {3}{Գ}
    {4}{Դ}
    {5}{Ե}
    {6}{Զ}
    {7}{Է}
    {8}{Ը}
    {9}{Թ}
   }
 }
\ExplSyntaxOff

\begin{document}

\armeniannumeral{1}
\armeniannumeral{2}
\armeniannumeral{3}
\armeniannumeral{4}
\armeniannumeral{5}
\armeniannumeral{6}
\armeniannumeral{7}
\armeniannumeral{8}
\armeniannumeral{9}
\armeniannumeral{10}
\armeniannumeral{11}
\armeniannumeral{23}
\armeniannumeral{55}
\armeniannumeral{1034}
\armeniannumeral{8212}
\armeniannumeral{10000}
\armeniannumeral{99999999}

\setcounter{section}{123}

\armeniannumeral{\value{section}}

\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .