我怎样才能改变这个词汇表样式的属性?

我怎样才能改变这个词汇表样式的属性?

大家好,我还不太擅长使用乳胶,但我正在弄清楚,所以如果这是一个非常基础的东西,我提前道歉。

我正在尝试在标准氨基酸代码词汇表之后创建一个额外的单页(也需要在目录中列出),但我不知道如何在三个字母代码旁边添加第三列,该列将显示三个字母代码旁边的符号(一个字母代码)。我设置了一个自定义样式(设置是指从我现在找不到的地方复制此代码)来修改长词汇表样式,我尝试了很多次,但我无法让“自定义”样式显示第三列,列出“符号”,即一个字母代码。

这是一个 MWE。

\documentclass{report}
 
\usepackage[nogroupskip,toc]{glossaries-extra}
\renewcommand{\glsnamefont}[1]{\textbf{#1}}

\newglossarystyle{custom}{
  \setglossarystyle{long}
  \renewenvironment{theglossary}
     {\begin{longtable}[l]{@{}p{\dimexpr 3.5cm-\tabcolsep}p{0.8\hsize}}}
     {\end{longtable}}
 }
\setglossarystyle{custom}

\newglossaryentry{ala}{name={Alanine},symbol={A},description={Ala}}
\newglossaryentry{arg}{name={Arginine},symbol={R},description={Arg}}


\begin{document}

\printunsrtglossary[title=Standard amino acid codes]

\end{document}

我意识到“长”可能不是实现此目的的正确词汇表风格,但经过这么长时间的尝试(没有双关语的意思)我有点放弃了,希望有人有更好的解决方案。

成品看上去应该是这样的。例子

如果我的做法完全错误,而有人有更好的方法,我愿意洗耳恭听!我是一名生物化学家,正在尝试使用 latex 来撰写我的论文,因为 word 几乎不擅长处理任何比烹饪食谱更复杂的东西,我宁愿费力地使用 latex 也不愿使用 word。

答案1

这种long3col风格允许你做任何你想做的事。(见长3列

笔记。

(1)可以通过取消注释该行\renewcommand*{\glsgroupskip}{}% OPTIONAL .. <<<(现在已注释)来消除组之间的空格

(2)要添加表头,请取消注释该行 \bfseries Name & \bfseries Description & \bfseries Symbol \tabularnewline[5pt] % OPTIONAL header <<<<<<<<<<并更改\setlength{\glsdescwidth}{0.12\textwidth} %\setlength{\glsdescwidth}{0.2\textwidth} %

響

\documentclass[a4paper,10pt]{article}
\usepackage{glossaries}

\makeglossaries

\newglossaryentry{ala}{%
    name={Alanine},%
    symbol={A},%
    description={Ala}%
}
\newglossaryentry{arg}{%
    name={Arginine},%
    symbol={R},%
    description={Arg}%
}

\newglossaryentry{gly}{%
    name={Glycine},%
    symbol={G},%
    description={Gly}%
}

\newglossaryentry{val}{%
    name={Valine},%
    symbol={V},%
    description={Val}%
}

\newlength{\glsnamewidth}
\setlength{\glsnamewidth}{0.2\textwidth}
\setlength{\glsdescwidth}{0.12\textwidth} % change to 0.2\textwidth  to use table headers <<<<<<<<<<<<
    
%%  See https://tex.stackexchange.com/a/281772/161015
\newglossarystyle{AMINOstyle}{%  glossary in a longtable environment
    \sffamily
    \setlength\LTleft{-5pt}  % left margin of long table
    \setglossarystyle{long3col}% based it on the long3col style
    \renewenvironment{theglossary}%
    {\begin{longtable}{p{\glsnamewidth}p{\glsdescwidth}c}}%
        {\end{longtable}}%
    \renewcommand*{\glossaryheader}{%
    %\bfseries Name & \bfseries Description & \bfseries Symbol \tabularnewline[5pt] % OPTIONAL header <<<<<<<<<<<<<
        \endhead}%
    \renewcommand{\glossentry}[2]{%
        \glsentryitem{##1}\glstarget{##1}{\bfseries\glossentryname{##1}} % Name
         &\glossentrydesc{##1} % Description
         & \glsentrysymbol{##1} % Symbol
         \tabularnewline
    }%
    %\renewcommand*{\glsgroupskip}{}% OPTIONAL uncomment to eliminate the space between groups
    }

\begin{document}

\glsaddall

\glossarystyle{AMINOstyle}

\printglossary[title=\normalfont \sffamily Standard amino acid codes]
    
\end{document}

相关内容