元音和谐与参考数字

元音和谐与参考数字

我正在准备一份土耳其语文件,它是黏着语二维元音和谐。这意味着有很多后缀,它们会根据与发音相关的单词改变形式。自动参考编号与土耳其语的这一方面完全不兼容。

这是一个简单的例子。假设我想说“根据定理 3.1...”,翻译成土耳其语就是“定理 3.1'e göre...”。获取此输出的代码显然是

Teorem \ref{theorem_tag}'e göre... 

但是如果数字发生变化,比如说数字变成了 3.6,那么输出就会变成“Teorem 3.6'e göre...”,这是错误的。由于元音和谐和其他一些机制,它应该是“Teorem 3.6'ya göre...”。

是否有可能实现一个\ref_suffix{theorem_tag}{'a}输出后缀正确形式的命令?元音和谐、清音化和其他后缀变化规则在算法上非常简单,并且不存在任何不规则性,至少在数字的情况下是这样。

编辑:根据 egreg 的要求,以下是土耳其语中元音和谐的规则。符号:设 X 和 Y 为元音集。X -> Y 形式的规则表示,如果一个音节的元音来自 X,则下一个音节的元音应该来自 Y。规则如下

{a,ı,o,u} -> {a,ı,o,u},

{a,e,ı,i} -> {a,e,ı,i},

{o,ö​​,u,ü} -> {a,e,u,ü}。

答案1

您可以使用 if-then 控制结构根据定理计数器的值来调整后缀的形式,例如使用包如果那么。这是 MWE:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{amsthm}
\usepackage{ifthen}

\newtheorem{theorem}{Teorem}

\newcommand{\harmony}[1]{%
  \ifthenelse{\equal{\ref{#1}}{1}}{\ref{#1}'e}{}%
  \ifthenelse{\equal{\ref{#1}}{6}}{\ref{#1}'ya}{}%
}

\begin{document}

Teorem \harmony{thm} göre, so-and-so. Teorem \harmony{thm'} göre, this-and-that.

\begin{theorem}\label{thm}
  Lorem ipsum
\end{theorem}

\setcounter{theorem}{5}

\begin{theorem}\label{thm'}
  Lorem ipsum
\end{theorem}


\end{document}

显然,这只有在您可以为定理总数设置一个合理的低上限(在这种情况下,解决方案并不是真正通用/有效的)或土耳其数字系统相对于元音和谐非常系统化(不幸的是,我不懂土耳其语)的情况下才可行。原则上,ifthen 包允许在条件前提中进行比equal我在此处使用的宏更复杂的比较。

相关内容