我正在使用 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
不管怎样,这条路都是正确的。