
Я пытаюсь распечатать список сокращений в моей диссертации с помощью пакета acro. Я почему-то получаю следующие ошибки:
Аргумент \acro_print_list_short:nn имеет дополнительный символ }. ...ms[include-classes=abbrev,name={Acroonyms}]
Абзац закончился до того, как \acro_print_list_short:nn был завершен. ...ms[include-classes=abbrev,name={Acroonyms}]#
Отсутствует { вставлено. ...ms[include-classes=abbrev,name={Акронимы}]
Отсутствует } вставлено. ...ms[include-classes=abbrev,name={Acroonyms}]
Вот что я делаю:
\documentclass [
a4paper
, titlepage
, twoside
, openright
]{book}
\usepackage[linedheaders, eulerchapternumbers, dottedtoc]{classicthesis}
\usepackage{acro}
\input{glossary}
\begin{document}
\chapter*{Acronyms and Symbols}
\acsetup{extra-style=comma}
\printacronyms[include-classes=abbrev,name={Acronyms}]
\chapter{Introduction}
\end{document}
Файл глоссария содержит аббревиатуры:
\acsetup{first-style=short}
\DeclareAcronym{AC}{short = AC, long = Alternating Current, class = abbrev}
\DeclareAcronym{Al}{short = Al, long = Aluminum, class = abbrev}
И я называю их в тексте \ac{AC} и \ac{Al}.
Есть ли у кого-нибудь идеи, как это можно решить?
решение1
classicthesis переопределяет метку описания и вставляет довольно хрупкую команду, основанную на командах из пакета soul. Это взрывается, когда метка описания является довольно сложной командой, как в списке, созданном printacronyms. Вы можете избежать использования soul, используя опцию pdfspacing или переопределив \descriptionlabel
:
\documentclass []{book}
\usepackage[linedheaders, eulerchapternumbers, dottedtoc,pdfspacing]{classicthesis}
\usepackage{acro}
\acsetup{first-style=short}
\acsetup{extra-style=comma}
\DeclareAcronym{AC}{short = AC, long = Alternating Current, class = abbrev}
\DeclareAcronym{Al}{short = Al, long = Aluminum, class = abbrev}
\begin{document}
\chapter*{Acronyms and Symbols}
%\renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}{#1}}
\printacronyms[include-classes=abbrev,name={Acronyms}]
\ac{AC} and \ac{Al}
\end{document}