linguex

linguex

我想问一下在\usepackage{linguex}下除了*,?,%,和#之外如何指定其他判断符号。

\ex. \a. *This is ungrammatical.
     \b. $\checkmark$This is grammatical.
     \c. (*)This varies.

如果有这个,(b)和(c)中的判断符号将被视为句子的一部分;它们没有被正确地排列出来。

谢谢!

答案1

可以通过制作与放置现有判断标记所用的宏相同的宏来向示例中添加不同的判断符号linguex

\newcommand{\jdg}[1]{\makebox[0pt][r]{\normalfont#1\ignorespaces}}

这使您可以使用任何事物作为判断标记。

\documentclass{article}
\usepackage{amssymb}
\usepackage{linguex}

\newcommand{\jdg}[1]{\makebox[0pt][r]{\normalfont#1\ignorespaces}}

\begin{document}
\ex. \a. *This is ungrammatical.
     \b. \jdg{$\checkmark$}This is grammatical.
     \c. \jdg{(*)}This varies.

\end{document}

第一个例子的输出

但是,如您所见,如果使用多个字符,如 '(*)' 示例所示,间距看起来会很糟糕。(顺便说一句,我不清楚这是否是一个语言上合理的判断标记。这是什么意思?对于方言变体,使用 '%' 而不是 '(*)' 是正常的。)

如果您确实需要使用多个符号,则需要增加框的大小。为了确保定义的标记与\jdg自动标记对齐,您要么需要更改默认判断标记框(如下例所示),要么将其用于示例\jdg集中的所有判断,在这种情况下,无需重新定义。

\documentclass{article}
\usepackage{amssymb}
\usepackage{linguex}

\newcommand{\jdg}[1]{\makebox[.4em][r]{\normalfont#1\ignorespaces}}%
% If you change the width of the box above
%  you need to match the width of the automatic markers:
\renewcommand{\printGramm}{\makebox[.4em][r]{\normalfont\the\CollectTokens}\ignorespaces}
% Since this will make all markers have a larger space,
% alternatively you can use `\jdg` for all markers and
% leave the automatic ones as they are.
\begin{document}
\ex. \a. *This is ungrammatical.
     \b. \jdg{$\checkmark$}This is grammatical.
     \c. \jdg{(*)}This varies.

\end{document}

第二个示例的输出

相关内容