通过词汇表使用符号/符号列表时的权力/下标的位置

通过词汇表使用符号/符号列表时的权力/下标的位置

我正在使用词汇表包从我正在编写的文档中生成一个符号表,效果很好。

然而,今天我注意到这些符号被视为一个新对象,如果添加了幂,例如 ^1,这些幂就会被放错位置。

知道如何修复这个问题吗?

工作示例(请注意,我正在使用 lualatex,但这并不重要,如果您评论特定于 lualatex 的部分,它应该可以与 latex 一起使用):

\documentclass[
paper=a5,
pagesize,
fontsize=10pt,
DIV=calc,
BCOR=12mm,
twoside,
open=right,
captions=tableheading
]{scrreprt}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

%% LuaTex

\usepackage{luatextra} % Load fontspec, luacode and other helpful packages for luatex
\usepackage{unicode-math} % Allow unicode symbols in formulas, Option [math-style=ISO]?
%\usepackage[final]{microtype} % Micro-adaption (i.e. spaces) of fonts
% \defaultfontfeatures{Scale=MatchLowercase} Test
\newfontfeature{Microtype}{protrusion=default;expansion=default;}
\directlua{fonts.protrusions.setups.default.factor=.5}
\setmainfont[Microtype,Ligatures=TeX]{Linux Libertine O} % Select Linux Libertine as main font with advanced features
\setsansfont[Microtype,Ligatures=TeX]{Linux Biolinum O} % Select Sans Font
\setmathfont[Microtype,Ligatures=TeX]{XITS Math} % Setze Schriftart der Matheumgebung

\usepackage{scrpage2} % KOMA-Script
\usepackage[pdfpagelabels,colorlinks]{hyperref} % Hyperlinks for bookmarks, references
\usepackage[toc]{glossaries}

\newglossary[slg]{symbolslist}{syi}{syg}{Symbols}

% New style, basically to insert units.
\newglossarystyle{symbols}{%  
% Defined as longtable with 4 columns
\renewenvironment{theglossary}%  
  {\begin{longtable}{llp{\glsdescwidth}p{\glspagelistwidth}}}%  
  {\end{longtable}}%  
  % Table Header
  \renewcommand*{\glossaryheader}{%  
  \bfseries Symbol & \bfseries Unit & \bfseries Description & \bfseries  Pages  %
  \\\endhead}%  
  % No spacer between the groups
  %\renewcommand*{\glsgroupheading}[1]{}%
  %    
  \renewcommand*{\glossaryentryfield}[5]{%  
  %   \glsentryitem{##1}% Entry number if required  
   \glstarget{##1}{##2}% Name
   & \glsentryuseri{##1}% Value/Unit
   & ##3% Description  
   & ##5% Page list  
   \\% end of row  
  }%
  % The command \glsgroupskip specifies what to do between glossary groups.
  % Glossary styles must redefine this command. (Note that \glsgroupskip
  % only occurs between groups, not at the start or end of the glossary.)
  \renewcommand*{\glsgroupskip}{\relax}
}
% To shorten the notation
\newcommand{\symb}[1]{\gls{symb:#1}}

\newglossaryentry{symb:A}{
  name={\ensuremath{A_0}},
  description={Test Parameter},
  user1={m},
  sort=A, type=symbolslist
}

%\title{symbols-test}
%\author{}
%\date{}

\makeglossaries

\begin{document}

blabla
\begin{align}
  \symb{A} \\
  \symb{A}^1 \\
  A_0^1
\end{align}


\printglossary[type=symbolslist,style=symbols]

\end{document}

答案1

\gls-Like 命令(首次使用标志查询)

在数学模式下使用词汇表条目时要小心,特别是在使用超链接时,因为它会影响下标和上标的间距。

您需要将上标/下标放在 的最后一个可选参数中\gls。例如\gls{symb:A}[^1]

精简你的例子:

\documentclass{scrreprt}

\usepackage[colorlinks]{hyperref}
\usepackage[toc]{glossaries}

% To shorten the notation
\newcommand{\symb}[1]{\gls{symb:#1}}

\newglossaryentry{symb:A}{
  name={\ensuremath{A_0}},
  description={Test Parameter},
  user1={m},
  sort=A,
}

\makeglossaries

\begin{document}

blabla
\begin{align}
  \symb{A} \\
  \symb{A}^1 \\
  \symb{A}[^1] \\
  A_0^1
\end{align}


\printglossary

\end{document}

得出的结果为:

结果图像

相关内容