아랍어 표기 정렬 - ʾ 및 ʿ

아랍어 표기 정렬 - ʾ 및 ʿ

아랍어 문자를 전사하여 언어적 예를 조판할 때함자그리고아인, ʾ 및 ʿ 각각 아래 줄의 문자 그대로의 번역과의 정렬이 어색해 보입니다. 예(1)을 참조하세요. 이는 목록 및 표 형식 환경에도 적용됩니다. 표 1의 정렬은 좋지 않습니다.

이 문제를 해결하는 방법은 를 사용하여 \llap{ʾ}이 문자를 왼쪽으로 밀고 단어를 두 번째 문자에 맞추는 것입니다. 이것은 (제 생각에는) 훨씬 더 보기 좋은 예(2)와 표 2를 제공합니다.

이제 내 질문입니다. 이것을 자동화하는 방법이 있나요? 나는 특정 환경에서 ʾ와 ʿ라는 두 문자가 \llap{ʾ}and \llap{ʿ}앞에 공백(가능하다면 탭 문자도 있음)이 오기를 원합니다 example. 주로 . 이 솔루션은 표 1의 코드에서처럼 항목 앞에 공백을 추가하여 테이블에 적용됩니다. 이러한 문자를 활성화하는 것이 가능할 것이라고 생각합니다. (제가 아는 한, 제가 사용하고 있는 XeLaTeX에서는 유니코드 문자를 활성화하는 것이 가능합니다.) 에 대해 알고 있지만 \@ifnextchar여기에 필요한 것은 \@ifprevchar.

편집: 환경의 예제 전사에 개별 단어를 넣을 수 있는 솔루션이 필요합니다 \textbf{}.

\documentclass{article}
\usepackage{fontspec}
%\usepackage[utf8]{inputenc}
\usepackage{array}

\usepackage{covington}


\begin{document}


\begin{example}
\gll bi-lātīk ʾanā ʾaktub ʾaḥla nuṣūṣ
with-latex I write prittyest texts
\glt `With \LaTeX{} I can write the prettiest texts.'
\glend
\end{example}

\begin{example}
\gll bi-lātīk \llap{ʾ}anā \llap{ʾ}aktub \llap{ʾ}aḥla nuṣūṣ
with-latex I write prittyest texts
\glt `With \LaTeX{} I can write the prettiest texts.'
\glend
\end{example}

\begin{table}[h!]
\centering
\caption{Ugly alignment}
\begin{tabular}{>{\itshape}ll}
 ʾanna & comp.\\
 ʾinna & `verily'\\
 lākinna & `but'\\
 laʿalla & `perhaps'\\
 layta & `if only'\\
\end{tabular}
\end{table}


\begin{table}[h!]
\centering
\caption{Nice alignment}
\begin{tabular}{>{\itshape}ll}
\llap{ʾ}anna & comp.\\
\llap{ʾ}inna & `verily'\\
lākinna & `but'\\
laʿalla & `perhaps'\\
layta & `if only'\\
\end{tabular}
\end{table}

\end{document}

여기에 이미지 설명을 입력하세요

답변1

쉽지는 않지만 적어도 tabularand example또는 에 대해서는 실행 가능합니다 examples. 열 테이블에서 글꼴 변경을 지정하는 방법에 유의하세요.

\documentclass{article}
\usepackage{fontspec}

\usepackage{etoolbox,array,collcell}

\usepackage{covington}

\makeatletter
\newrobustcmd{\checkforstart}{%
  \@ifnextchar ʾ{\llap}{\checkforayn}%
}
\newcommand{\checkforayn}{%
  \@ifnextchar ʿ{\llap}{}%
}
\makeatother

\newcolumntype{H}[1]{>{#1\collectcell\docheckforstart}l<{\endcollectcell}}
\newcommand{\docheckforstart}[1]{\checkforstart #1}


\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% For technical reasons this can't go in the preamble, sorry
\catcode`\^^M=12
\patchcmd{\getwords}{\strut}{\strut\checkforstart}{}{}%
\catcode`\^^M=5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{example}
\gll bi-lātīk ʾanā ʾaktub ʾaḥla nuṣūṣ ʿTEST
with-latex I write prittyest texts TEST
\glt `With \LaTeX{} I can write the prettiest texts.'
\glend
\end{example}

\begin{example}
\gll bi-lātīk \llap{ʾ}anā \llap{ʾ}aktub \llap{ʾ}aḥla nuṣūṣ ʿTEST
with-latex I write prittyest texts TEST
\glt `With \LaTeX{} I can write the prettiest texts.'
\glend
\end{example}

\begin{tabular}{H{\itshape} l}
ʾanna & comp.\\
ʾinna & `verily'\\
lākinna & `but'\\
laʿalla & `perhaps'\\
layta & `if only'\\
\end{tabular}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보