在大写章节标题中正确使用词汇表/首字母缩略词条目

在大写章节标题中正确使用词汇表/首字母缩略词条目

我正在努力寻找解决方案,以便在使用 glossaries-extra 包的 \glsfmt* 命令时将报告文档的节标题更改为大写,并避免该命令也会影响标签的问题。我正在使用 secsty 包,我的设置的最小示例如下:

\documentclass[12pt,a4paper]{report}

    \usepackage[%
        toc=false,
        sort=standard,
        acronyms,
        nopostdot,
        nonumberlist,
        nogroupskip
    ]{glossaries-extra}

    \usepackage{sectsty}
        \sectionfont{\normalsize\bfseries\MakeUppercase}
        \subsectionfont{\normalsize\bfseries}
        \subsubsectionfont{\normalsize\bfseries\itshape}

    \newacronym{tt}{TT}{Test}

\begin{document}

    \chapter{Test with \glsfmtshortpl{tt}}
    \section{Test with \glsfmtshortpl{tt}}
    \subsection{Test with}
    \subsubsection{Test with}

\end{document}

在这里运行它时(使用 TeX Live 2019/Debian)我收到错误:

Package glossaries-extra Error: Glossary entry `TT' has not been defined.

我已经测试了该titlesec软件包,并使用了软件包\MakeTextUppercase中的命令textcase,但错误仍然存​​在。我找到了一些解释其背后问题的答案,但据我所知,glossaries-extra 提供的专门用于节标题的新命令应该受到保护。这是正确的吗?还是我应该尝试修改 \gls* 命令以避免错误?或者,是否可以将节标题修改为大写以避免这种情况?

提前致谢!Iago

答案1

您的代码将通过添加\newacronym{tt}{TT}{Test}章节/部分标题(而不使用 \tableofcontents)来工作。

A

\documentclass[12pt,a4paper]{report}

\usepackage[%
toc=false,
sort=standard,
acronyms,
nopostdot,
nonumberlist,
nogroupskip
]{glossaries-extra}

\usepackage{sectsty}
\sectionfont{\normalsize\bfseries\MakeUppercase}
\subsectionfont{\normalsize\bfseries}
\subsubsectionfont{\normalsize\bfseries\itshape}    

\begin{document}        

\chapter{Test with \newacronym{tt}{TT}{Test}\glsfmtshortpl{tt}} 

\section{Test with \newacronym{tt}{TT}{Test}\glsfmtshortpl{tt}} 

\subsection{Test with 1}
\subsubsection{Test with 2} 
    
\end{document}

如果你想要(可能)添加目录,你需要使用

\tableofcontents    

\chapter[Test with TT]{Test with \newacronym{tt}{TT}{Test} \glsfmtshortpl{tt}}      
\section[TEST  WITH  TTs]{Test with \newacronym{tt}{TT}{Test}\glsfmtshortpl{tt}}

否则,在处理 ToC 时您将收到“已定义”错误。

这通过使用来避免该问题\section[<text to Toc>]{<text of title>}

词汇表条目已定义

更新后续问题:使用hyperref和 ToC

C

\documentclass[12pt,a4paper]{report}

\usepackage[%
toc=false,
sort=standard,
acronyms,
nopostdot,
nonumberlist,
nogroupskip
]{glossaries-extra}

\usepackage{sectsty}
\sectionfont{\normalsize\bfseries\MakeUppercase}
\subsectionfont{\normalsize\bfseries}
\subsubsectionfont{\normalsize\bfseries\itshape}

\usepackage{hyperref} % add last    

\begin{document}

\tableofcontents    

\chapter[Test with TTs]{Test with \newacronym{tt}{TT}{Test} \glsfmtshortpl{tt}}     
\section[TEST  WITH  TTs]{Test with \newacronym{tt}{TT}{Test}\glsfmtshortpl{tt}}    

\subsection{Test with 1}
\subsubsection{Test with 2} 
    
\end{document}

相关内容