I've been trying to use acro
for abbreviating terms in a report. It mostly works but each compile requires intervention to complete and does something to my first page, leaves an =1 and a page break. Any help would be greatly appreciated.
\documentclass[A4, 12pt]{article}
% for abbreviations and acronyms
\usepackage[first-style=long]{acro}
\DeclareAcronym{ma}{
short = MA ,
long = Multiple Access ,
}
\DeclareAcronym{noma}{
short = NOMA ,
long = Non-Orthongonal Multiple Access ,
}
% title info
\title{Beamforming for Millimeter-wave \acs{noma}}
\author{Cian Dowd}
\date{21/01/2019}
\begin{document}
\pagenumbering{roman}
\maketitle
% ABSTRACT
\begin{abstract}
In this paper\ldots
\end{abstract}
% TABLE OF CONTENTS
\tableofcontents
% LIST OF ACRONYMS
\printacronyms
% INTRODUCTION
\pagenumbering{arabic}
\setcounter{page}{1}
\setcounter{section}{0}
\section{Introduction}
\ac{noma}\ldots
% LITERATURE REVIEW
\setcounter{section}{1}
\section{Background/ Literature Review}
% Background on Current MA
\subsection{Existing \acf{ma}}
\end{document}
This yields the following document; errors shown below it.
I get these messages, ending with the errors:
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/acro/acro.sty
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/l3kernel/l3pdfmode.def))
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
)
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e
.sty)
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/l3packages/xtemplate/xtempla
te.sty)
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/oberdiek/zref-abspage.sty
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/oberdiek/zref-base.sty
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/etexcmds.sty
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/ifluatex.sty)))
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty)
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/local/texlive/2016basic/texmf-dist/tex/latex/oberdiek/auxhook.sty))
(/usr/local/texlive/2016basic/texmf-dist/tex/generic/oberdiek/atbegshi.sty))
Runaway argument?
{\bool_if:NT \l__acro_sort_bool {\cs_new_protected:Npn \acro_sort_prop:NN \ETC.
! Forbidden control sequence found while scanning use of \g@addto@macro.
<inserted text>
\par
l.2965 = \c_minus_one
This corresponds to line 2965 of acro.sty, though I am not sure why nor do I know how to fix this issue. Relevant snippet of acro.sty below:
\seq_sort:Nn \l__acro_tmpa_seq
{
\int_compare:nTF
{
\acro_strcmp:nn
{ \str_fold_case:n {##1} }
{ \str_fold_case:n {##2} }
= \c_minus_one
}
{ \sort_return_same: }
{ \sort_return_swapped: }
}
acro.sty
would be a last resort, but I can't find a more elegant work-around at the moment since\c_minus_one
is used in an\AtBeginDocument
hook, that does not quite lend itself to patching.