使用 hyperref 套件將上標新增至帶有索引的 \gls

使用 hyperref 套件將上標新增至帶有索引的 \gls

我想在文字中的 gls 變數中加入上標。問題是,我在術語表中定義的變數帶有“大括號”,這是由超引用包裹。這是一個解釋我的問題的最小範例:

\documentclass{article}
\usepackage{hyperref}
\usepackage[toc]{glossaries}
\newglossary[slg]{symbolslist}{syi}{syg}{Symbols}
\makeglossaries
\newglossaryentry{scene_edge}
{
    name={\ensuremath{e_{scene}}},
    description={desc},
    sort=escene,
    type=symbolslist
}
\begin{document}
\printglossary
\printglossary[type=symbolslist]
\clearpage
\section{Test}
$\gls{scene_edge}$\\
$\gls{scene_edge}^{i}$\\ 
$e_{scene}^{i}$\\
${e_{scene}}^{i}$\\
\end{document}

我想在我的 tex 檔案中調用它:

\gls{scene_edge}^{i}

我想要的是這樣的:

$e_{scene}^{i}

我實際上得到的是:

${e_{scene}}^{i}

(問題是索引很長,上標是在之後添加的,而不是像它應該的那樣,就在 e 處) hyperref 包在變量周圍創建一個(紅色)框,並防止上標正好位於變量的頂部變量。

我可以透過使用 \glsentrytext 來獲得想要的結果,但這會刪除超連結。

感謝您的協助

編輯:新增 hyperref 作為一個問題

圖片範例如下:

在此輸入影像描述

答案1

glossaries使用手冊第 166-167 頁的建議可以避免這種情況。建議使用可選參數\gls

\gls{scene_edge}[^{i}]

事物各就其位

完整程式碼:

\documentclass{article}
\usepackage{hyperref}
\usepackage[toc]{glossaries}
\newglossary[slg]{symbolslist}{syi}{syg}{Symbols}
\makeglossaries
\newglossaryentry{scene_edge}
{
    name={\ensuremath{e_{scene}}},
    description={desc},
    sort=escene,
    type=symbolslist
}
\begin{document}
\printglossary
\printglossary[type=symbolslist]

\section{Test}

$\gls{scene_edge}$

\noindent$\gls{scene_edge}[^{i}]$

\noindent$e_{scene}^{i}$

\noindent${e_{scene}}^{i}$
\end{document}

相關內容