linguex - 使用条形/素数符号修改标签

linguex - 使用条形/素数符号修改标签

我正在使用 linguex 包来获取语言学家的示例/数据。现在我想有多个句子 - 每个句子都是一个示例 - 并且我希望在下面有句法括号,其中的数字对应于上面的语言数据,但在数字旁边有一个额外的横线(或“撇号”)。

它看起来应该是这样的:

(1)这是第一句话。

(2)这是第二句。

这里我稍微谈一下句子(1)和句子(2)。

(1')[第一句的句法结构]

(2’)[第二句的句法结构]

\documentclass{article}
\usepackage{linguex}
\begin{document}

\ex. This is the first sentence. \label{S01}

\ex. This is the second sentence. \label{S02}

Here I am talking a bit about the sentences \ref{S01} and \ref{S02}.

% missing code

\ex.[\ref{S01}'] has the bar OUTside the brackets but I would like the
bar to be INside the brackets.

% \ex.[\ref{S01}$'$] gives me a similar result, except the bar looks 
% different (tilted), it's still not inside the brackets.

\end{document}

(1)' 的条位于括号外,但我希望条位于括号内。

我们将非常感激您的帮助 — — 谢谢!

答案1

您可以使用refcount其可扩展\getrefnumber命令来完成此操作。

\documentclass{article}
\usepackage{linguex}
\usepackage{refcount}

\makeatletter
\newcommand{\Vref}[2]{% #1 is the label, #2 is the modifier
  \begingroup\edef\Vref@temp{\endgroup
    \noexpand\Vref@\getrefnumber{#1}(\getrefnumber{#1})\noexpand\@nil%
  }(\Vref@temp#2)%
}
\def\Vref@ #1(#2)#3\@nil{#2}
\makeatother

\begin{document}

\ex. This is the first sentence. \label{S01}

\ex. This is the second sentence. \label{S02}

Here I am talking a bit about the sentences \ref{S01} and \ref{S02}.

% missing code

\ex.[\Vref{S01}{'}] has the apostrophe inside the brackets

\ex.[\Vref{S01}{$'$}] has the prime inside the brackets

\end{document}

在此处输入图片描述

引用与括号一起存储,因此我们要先删除它们,然后再将它们添加回来。

如果\getrefnumber返回0(如果标签尚未定义则会发生这种情况),则调用将是

\Vref@ 0(0)\@nil

第一次运行后,的展开\getrefnumber{S01}将是(1),因此调用是

\Vref@ (1)((1))\@nil

不管怎样,这条路都是正确的。

相关内容