在 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 中的一些示例。

词栈也可以被格式化,例如用于突出显示某个特殊功能。

其他功能包括注音文本、从 xpinyin.def 数据库中选择所需的声调标记以及生成词性词汇表。

p1

融入文本流:添加不同格式的标点符号。

p2

挂钩文本流:添加 tikzmark 锚点来进行覆盖。

p3

定义自定义行分隔符。

p5

Wordstacks 变得可见。

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

相关内容