![我怎样才能改变这个词汇表样式的属性?](https://linux22.com/image/435069/%E6%88%91%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E6%94%B9%E5%8F%98%E8%BF%99%E4%B8%AA%E8%AF%8D%E6%B1%87%E8%A1%A8%E6%A0%B7%E5%BC%8F%E7%9A%84%E5%B1%9E%E6%80%A7%EF%BC%9F.png)
大家好,我还不太擅长使用乳胶,但我正在弄清楚,所以如果这是一个非常基础的东西,我提前道歉。
我正在尝试在标准氨基酸代码词汇表之后创建一个额外的单页(也需要在目录中列出),但我不知道如何在三个字母代码旁边添加第三列,该列将显示三个字母代码旁边的符号(一个字母代码)。我设置了一个自定义样式(设置是指从我现在找不到的地方复制此代码)来修改长词汇表样式,我尝试了很多次,但我无法让“自定义”样式显示第三列,列出“符号”,即一个字母代码。
这是一个 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}