
Estoy usando los expex
paquetes para mis ejemplos de glosado y está funcionando muy bien, pero:
Quiero que mi \gla
ejemplo esté en formato de máquina de escribir ( \tt
). Y luego quiero glosar solo algunas partes de mi ejemplo (el resto es irrelevante) pero cuando pongo \nogloss
el comando, el texto dentro vuelve al formato romano. Y lo que quiero es que toda la \gla
línea esté en fuente de máquina de escribir.
Entonces este es mi ejemplo:
\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}
¿Cómo puedo hacer que LaTeX obedezca mis órdenes? jaja :) Bastante por favor
Respuesta1
Explicación
Tus órdenes están siendo obedecidas; es sólo que eso \nogloss{}
no funciona como crees. El formato que especifique everygla
no se aplica al material incluido \nogloss{}
(aunque esto no se menciona explícitamente en la documentación). Esto se debe a que expex
está diseñado principalmente para usarse en glosados interlineales donde se glosa cada palabra, por lo que el material suele \nogloss{}
ser puntuación (p. ej., corchetes, elipses, etc.) o elementos silenciosos (p. ej., rastros, espacios en blanco, operadores, etc.) . Estos signos de puntuación y elementos silenciosos suelen tener un formato diferente al del texto normal: incluso si mantiene el formato de cursiva predeterminado de la gla
línea, no querrá que un corchete etiquetado como [ NP esté en cursiva, por lo que \nogloss{}
no presta atención a everygla
.
Soluciones
Aquí hay tres soluciones para su caso.
Tenga en cuenta que eliminé el ~
que tenía dentro y después de su \pt
comando porque agregaba espacios innecesarios. Siéntase libre de volver a agregarlo si realmente desea ese espacio. También cambié elobsoleto \tt
to \ttfamily
( expex
a menudo usa comandos de fuentes obsoletos en sus valores predeterminados y documentación, pero no debería hacerlo).
Solución 1
Poner \ttfamily
dentro \nogloss
. Podrías imaginar que podrías definir un nuevo comando como \newcommand{\nogl}[1]{\nogloss{\ttfamily #1}}
, pero desafortunadamenteno funciona poner \nogloss
dentro un nuevo comando.
\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}
Solución 2
Rodea el material sin brillo {}
y agrega {}
la glb
línea correspondiente. Así es como teníamos que hacer esto antes de que \nogloss{}
estuviera disponible la expex
versión 5.0. Consulte la discusión en la sección 9.2.3 de la documentación.
\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}
Solución 3
Utilice el nuevo nlevel
estilo de glosado (consulte la sección 10 de la documentación). Los []
que corresponden a la glb
línea son obligatorios (p. 44), pero no es necesario poner uno en cada palabra, sólo en cada glword
. Así que puedes dividir tus líneas en tres glword
s: la primera es todas las palabras antes de la palabra glosada, la segunda es la palabra glosada y la tercera son todas las palabras después de la palabra glosada.
\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}