在 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}

用法:在語言範例中,不是每行一個命令,而是一個巨集涵蓋所有行類型:行間行由其他地方未使用的字串分隔(預設*/),自由格式文字行也由另一個字串分隔其他地方使用(預設glt)。

資料結構是:一個或多個行間行,每行後面跟著零個或多個自由格式文字行。

「傳統」語言範例(如果可以這樣稱呼的話)的結構如下:一行、兩行或三行行間,最後一行行間後面跟隨零或一個自由格式文字行。

如果文字中存在分隔符,則xx可以透過選項為每個範例設定不同的分隔符(例如,)。

此巨集也可以用在需要普通文字的地方,例如註腳、內嵌文字等。

怎麼運作的:將單字裝箱,然後將單字框堆疊到單字堆疊中,單字堆疊的寬度設定為堆疊中最寬單字盒的寬度,再加上一點額外的寬度以提高可讀性。 Expl3 用於此目的。

空間用作分隔符號。所有行間行必須具有相同數量的空格,以便單字對齊。要將兩個或多個視為一個整體,請將它們支撐起來{}

可以使用附加到單字的基本 Markdown(以保留空格)單獨格式化(或插入程式碼),然後正規表示式回 Latex 命令。例如,text:command變成text\command.如需更多範例,請參閱參考手冊。

線路可以格式化以增加易讀性。請參閱 MWE 以了解一些範例。

詞庫也可以格式化,例如突出顯示特殊功能。

其他功能是 ruby​​ 文本,從 xpinyin.def 資料庫中選擇所需的聲調標記,並產生詞性詞彙表。

p1

融入文字流:新增不同格式的標點符號。

p2

掛鉤文字流:新增 tikzmark 錨點以進行覆蓋。

p3

定義自訂行分隔符號。

p5

詞庫變得可見。

p7

突出顯示單字堆疊。


螢幕1

螢幕2

Termux:Android 平板電腦上的「微型」編輯器螢幕。

宏的支援代碼太大,不適合這個答案。假定安裝了「完整」TexLive。r過去任何字體訊息(或編輯字體名稱)作為解決方法,直到我/你將它們設定為條件或以其他方式對它們進行硬編碼。 ((理想情況下應該有一個函數來實現這一點。嗯......))

複製in-glinlines2.texin-glossing.tex來自https://github.com/texcicada/expl3

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

相關內容