gb4e インターライングロスでキリル文字とラテン文字を組み合わせる

gb4e インターライングロスでキリル文字とラテン文字を組み合わせる

gb4e の行間注釈でキリル文字とラテン文字のテキストを結合したいのですが、常にエラーが発生します。

これは私のTex文書です:

\documentclass{article}

\usepackage{gb4e}

\begin{document}

\begin{exe}

\ex
\gll Путин опроверг дискриминацию геев в России \\
putin oproverg diskriminatsiju gejev v rossii \\
putin membantah-V-LAMP-PERF diskriminasi-AKU gay-GEN di rusia-PREP \\
\trans Putin membantah adanya diskriminasi terhadap kelompok gay di Rusia

\end{exe}

\end{document}

そして、このエラーが発生しました:

This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./gloss.tex
LaTeX2e <2023-11-01> patch level 1
L3 programming layer <2024-02-20>
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/article.cls
Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2024/texmf-dist/tex/latex/gb4e/gb4e.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/gb4e/cgloss4e.sty))
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
(./gloss.aux)

./gloss.tex:11: LaTeX Error: Unicode character П (U+041F)
               not set up for use with LaTeX.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.11 ...oproverg dis
./gloss.tex:11: LaTeX Error: Unicode character у (U+0443)
               not set up for use with LaTeX.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.11 ...oproverg diskriminatsiju gejev v rossii \\
                                                  
? kriminatsiju gejev v rossii \\
                                                  
? 

ドキュメントを改善する方法はありますか?

私はMacでTeXShopを使用しています。

答え1

ロシア語 を読み込む必要がありますbabel。ただし、\gllは入力をスペースで分割するため、 を実行することはできず\foreignlanguage{russian}{<sentence>}、各単語を個別に処理する必要があります。

私の意見では、短いコマンドを使用する方が良いです。

\documentclass{article}
\usepackage[russian,indonesian]{babel}

\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}

\usepackage{gb4e}

\begin{document}

\begin{exe}

\ex
\gll \?{Путин} \?{опроверг} \?{дискриминацию} \?{геев} \?{в} \?{России} \\
putin oproverg diskriminatsiju gejev v rossii \\
putin membantah-V-LAMP-PERF diskriminasi-AKU gay-GEN di rusia-PREP \\
\trans Putin membantah adanya diskriminasi terhadap kelompok gay di Rusia

\end{exe}

\end{document}

ここに画像の説明を入力してください

答え2

書式設定の例

カスタム マクロを使用\glinlines{}すると、スペースを区切りとして保持しながら、行全体に書式を適用できます。

ムウェ



\documentclass{article}
%\usepackage[russian,indonesian]{babel}
 
%\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}

\usepackage{xcolor,luacolor,lua-ul}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\setsansfont{Noto Sans}
\setmonofont{Noto Sans Mono}
\input{in-glinlines2.tex}
\setmainlanguage{indonesian}
\setotherlanguage{russian}
\usepackage{tikz} % before gb4e
\usepackage{gb4e}


\begin{document}

\glsetfirstlineformat{\selectlanguage{russian}\large}
\glsetsecondlineformat{\sffamily\color{brown}}
\mfssetposformat{\scshape \bfseries\sffamily}

 before::

\begin{document}

\begin{exe}

\ex
\glinlines{%
    Путин опроверг дискриминацию геев в России:ldots
*/ putin oproverg diskriminatsiju gejev v rossii\ldots
*/ putin membantah.V.Lamp.Perf diskriminasi.Aku gay.Gen di rusia.Prep\ldots
glt \itshape ’Putin membantah adanya diskriminasi terhadap kelompok gay di Rusia'
}
\end{exe}

::after

\end{document}

使用法: 言語の例では、行ごとに 1 つのコマンドを使用する代わりに、1 つのマクロですべての行の種類をカバーします。行間行は、他の場所で使用されていない文字列で区切られ (デフォルト*/)、自由形式のテキスト行は、他の場所で使用されていない別の文字列で区切られます (デフォルトglt)。

データ構造は、1 行以上の行間行と、各行の後に 0 行以上の自由形式のテキスト行が続くというものです。

「伝統的な」言語の例 (そう呼べるのであれば) は、1 行、2 行、または 3 行の行間で構成され、最後の行間行の後に 0 行または 1 行の自由形式のテキスト行が続きます。

テキスト内に区切り文字が存在する場合、xxオプションを使用して例ごとに異なる区切り文字 (例: ) を設定できます。

このマクロは、脚注やインライン テキストなど、通常のテキストが想定される場所であればどこでも使用できます。

使い方: 単語がボックスで囲まれ、単語ボックスがスタックされて単語スタックが作成されます。単語スタックの幅は、スタック内の最も広い単語ボックスの幅に、読みやすくするための少しの幅を加えた値に設定されます。これには、Expl3 が使用されます。

スペースは区切り文字として使用されます。単語を揃えるためには、すべての行間に同じ数のスペースが必要です。2 つ以上の行を 1 つの単位として扱うには、括弧で囲みます{}

言葉単語に付加された基本的なマークダウンを使用して(スペースを保持するため)個別にフォーマット(またはコード挿入)し、その後、正規表現で LaTeX コマンドに戻すことができます。たとえば、 はtext:commandになりますtext\command。さらに多くの例については、リファレンス マニュアルを参照してください。

ライン読みやすさを向上させるためにフォーマットすることができます。例については MWE を参照してください。

ワードスタックたとえば、特別な機能を強調するためにフォーマットすることもできます。

他の機能としては、ルビテキスト、xpinyin.def データベースから目的の声調記号を選択すること、品詞用語集を作成することなどがあります。

1ページ目

テキストフローへのフック: 異なる形式の句読点を追加します。

2ページ目

テキスト フローへのフック: オーバーレイを実行するために tikzmark アンカー ポイントを追加します。

3ページ

カスタム行区切り文字を定義します。

p5

ワードスタックが可視化されました。

p7

ワードスタックを強調表示します。


画面1

画面2

Termux: Android タブレット上の「マイクロ」エディター画面。

マクロのサポート コードは大きすぎて、この回答には収まりません。TexLive の「完全な」インストールが前提です。rフォント メッセージを上書き (またはフォント名を編集) して回避し、条件付きにするか、ハードコードを解除してください。((理想的には、このための関数があるはずです。うーん...))

コピーin-glinlines2.texin-glossing.texhttps://github.com/texcicada/expl3

参考PDF:https://github.com/texcicada/expl3/blob/main/glinlines-demo2.pdf

関連情報