Формирование глянца ExPex

Формирование глянца ExPex

Я использую эти expexпакеты для своих примеров глянца, и они работают отлично, но:

Я хочу, чтобы мой \glaпример был в формате пишущей машинки ( \tt). И затем я хочу сделать глянцевыми только некоторые части моего примера (остальное не имеет значения), но когда я ввожу \noglossкоманду, текст внутри возвращается к римскому формату. А я хочу, чтобы все строки \glaбыли в формате пишущей машинки.

Вот мой пример:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{expex}
\newcommand{\pt}{\textsc{2sg.fam}~}
\begin{document}
\pex[labeltype=numeric,everygla=\tt]
\a
\begingl
\gla \nogloss{HEN :} \underline{t'as} encore besoin d'argent/ //
\glb \pt'avoir-\pt~ //
\endgl
\a
\begingl
\gla \nogloss{ANT : non j'ai rencontré quelqu'un que j'aime alors je voulais} \underline{te} la présenter //
\glb \pt~ //
\endgl
\a
\begingl
\gla \nogloss{HEN : ouais je vois oui encore une de} \underline{tes} mannequins sans cervelle//
\glb \pt~ //
\endgl
\xe
\end{document}

Как мне заставить LaTeX подчиняться моим приказам? Хаха :) Пожалуйста

решение1

Объяснение

Ваши приказы выполняются; просто это \nogloss{}не работает так, как вы думаете. Форматирование, которое вы указываете в , everyglaне применяется к материалу внутри \nogloss{}(хотя это явно не указано в документации). Это потому, что expexон разработан в первую очередь для использования для межстрочного глоссинга, когда каждое слово глоссируется, поэтому материал в \nogloss{}обычно представляет собой пунктуацию (например, скобки, многоточия и т. д.) или немые элементы (например, следы, пробелы, операторы и т. д.). Эти знаки препинания и немые элементы обычно форматируются иначе, чем обычный текст: даже если вы сохраняете курсивное форматирование строки по умолчанию gla, вы не захотите, чтобы помеченная скобка, например [ NP, была курсивом, поэтому \nogloss{}не обращает внимания на everygla.

Решения

Вот три решения для вашего случая.

Обратите внимание, что я удалил , ~который у вас был как внутри, так и после вашей \ptкоманды, потому что он добавлял ненужный интервал. Можете смело добавлять его обратно, если вам действительно нужен этот интервал. Я также изменилустаревший \tt\ttfamily( expexчасто использует устаревшие команды шрифтов в своих настройках по умолчанию и документации, но этого делать не следует) .

Решение 1

Поместите \ttfamilyв \nogloss. Вы могли бы подумать, что вы могли бы определить новую команду, например \newcommand{\nogl}[1]{\nogloss{\ttfamily #1}}, но, к сожалениюне получится вставить \noglossновую команду.

введите описание изображения здесь

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{expex}
\newcommand{\pt}{\textsc{2sg.fam}}
\begin{document}

\pex[labeltype=numeric,everygla=\ttfamily]
\a
\begingl
\gla \nogloss{\ttfamily HEN : } \underline{t'as} encore besoin d'argent/ //
\glb \pt'avoir-\pt //
\endgl
\a
\begingl
\gla \nogloss{\ttfamily ANT : non j'ai rencontré quelqu'un que j'aime alors je voulais} \underline{te} la présenter //
\glb \pt //
\endgl
\a
\begingl
\gla \nogloss{\ttfamily HEN : ouais je vois oui encore une de} \underline{tes} mannequins sans cervelle//
\glb \pt //
\endgl
\xe

\end{document}

Решение 2

Окружите ваш неглянцевый материал {}и добавьте соответствующий {}строке glb. Вот как нам приходилось делать это до того, как \nogloss{}стало доступно в expexверсии 5.0. Смотрите обсуждение в разделе 9.2.3 документации.

введите описание изображения здесь

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{expex}
\newcommand{\pt}{\textsc{2sg.fam}}
\begin{document}
\pex[labeltype=numeric,everygla=\ttfamily] % I changed the deprecated \tt to \ttfamily
\a
\begingl
\gla {HEN : } \underline{t'as} encore besoin d'argent/ //
\glb {} \pt'avoir-\pt //
\endgl
\a
\begingl
\gla {ANT : non j'ai rencontré quelqu'un que j'aime alors je voulais} \underline{te} la présenter //
\glb {} \pt //
\endgl
\a
\begingl
\gla {HEN : ouais je vois oui encore une de} \underline{tes} mannequins sans cervelle//
\glb {} \pt //
\endgl
\xe

\end{document}

Решение 3

Используйте новый nlevelстиль глоссирования (см. раздел 10 документации). , []которые соответствуют строке, glbявляются обязательными (стр. 44), но вам не нужно ставить один на каждое слово, только на каждое glword. Таким образом, вы можете просто разбить свои строки на три glwords: первый — все слова до вашего слова с глоссированием, второй — само слово с глоссированием, а третий — все слова после вашего слова с глоссированием.

введите описание изображения здесь

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{expex}
\newcommand{\pt}{\textsc{2sg.fam}}

\begin{document}

\pex[labeltype=numeric,glstyle=nlevel,glneveryline={\ttfamily}]
\a \begingl HEN :[] \underline{t'as}[\pt'avoir-\pt] encore besoin d'argent/[] \endgl % There are three sets of [], dividing the line into three glwords, only one of which is actually glossed.
\a \begingl ANT : non j'ai rencontré quelqu'un que j'aime alors je voulais[] \underline{te}[\pt] la présenter[] \endgl
\a \begingl HEN : ouais je vois oui encore une de[] \underline{tes}[\pt] mannequins sans cervelle[] \endgl
\xe
\end{document}

Связанный контент