当我使用 \ref 命令时,交叉引用的数字周围会自动出现括号。我认为这是因为我使用 linguex 包作为示例。我不想让括号自动显示,这样我就可以手动在括号内添加子示例字母——例如 (5a)——当 a 从来不是可以标记的列表的一部分时。(具体来说,我需要这个来引用 OT 表中的候选者,这是我在表格中制作的,据我所知,它不适合列表环境。)
以下是 (我希望是) MWE:
\documentclass{article}
\usepackage{linguex}
\begin{document}
\ex. \label{test} Here's an example
I want to reference \ref{test} without getting parentheses around it automatically.
\end{document}
输出:
答案1
从 的第 4 版开始linguex
,示例和引用中的数字周围的分隔符可以分别自定义:
\documentclass{article}
\usepackage{linguex}
\renewcommand{\theExLBr}{}
\renewcommand{\theExRBr}{}
\begin{document}
\ex. \label{test} Here's an example
I want to reference \ref{test}
\end{document}
默认定义当然是
\newcommand{\theExLBr}{(}
\newcommand{\theExRBr}{)}
还有\ExLBr
和\ExRBr
作为示例编号周围的分隔符。
答案2
通过更改所有标签的所有出现次数,重新定义\theExLbr
和\theExRbr
可“全局”工作。如果您想\ref
大多数时候使用括号,并且只需要一次性修复,您可以考虑编辑返回的字符串\ref
。这需要xstring
和refcount
(后者也由导入hyperref
)。
\documentclass{article}
\usepackage{refcount, xstring}
\usepackage{linguex}
\newcommand{\myref}[2][]{%
\refused{#2}%
\StrSubstitute{\getrefnumber{#2}}{)}{#1)}%
}
\begin{document}
\ex.\label{sent1}
\a. Sentence 1
\b. Sentence 2
Sentences \myref[a,b]{sent1}
\end{document}