
Estou compondo meu trabalho (linguística) e ele funcionou bem no XeLaTeX até usar o ling-macros
pacote, que deveria estar funcionando bem, já que não é um pacote novo e não encontrei perguntas semelhantes sobre o erro que encontrei. Isto é o que eu consegui:
> ! LaTeX Error: Command \f already defined.
> Or name \end... illegal, see p.192 of the manual.
>
> See the LaTeX manual or LaTeX Companion for explanation. Type H
> <return> for immediate help. ...
>
> l.235 \newcommand{\f}[1]{\ensuremath{#1}}
> ^^I^^I^^I^^I^^I^^I% Formal express...
>
> ?
Tenho certeza de que tem alguma coisa a ver com ling-macros
(ou com seu conflito com alguns outros pacotes que usei?), pois essa é uma mensagem muito específica que recebi; quando eu %'ed essa linha, o arquivo funcionou bem novamente (veja a última linha abaixo).
O seguinte é meu preâmbulo:
\documentclass[12pt]{article}
\usepackage[hmargin=2.5cm, vmargin=2.5cm]{geometry}
\setlength\parindent{4ex}
\setlength\parskip{0pt}
\usepackage{setspace}
\doublespace
\usepackage{fontspec}
\setmainfont{Times New Roman}
\defaultfontfeatures{Scale=MatchLowercase}
\usepackage{polyglossia}
\usepackage[rm, bf]{titlesec} % formatting taken out for brevity
\usepackage{longtable}
\usepackage{natbib}
\usepackage{fancyhdr} % actual header taken out
\pagestyle{fancy}
\usepackage{titling} % actual title with author info taken out
\usepackage{linguex}
\usepackage{tikz-qtree}
\usepackage{ling-macros}
Responder1
O linguex
pacote define \f
como um alias para \b
. Também \b
recebe um significado diferente do LaTeX padrão (que é o acento “underbar”).
No contexto de linguex
, dentro \ex.
de uma entrada \a.
e \b.
para introdução de itens. O pacote também prevê \c. \d. \e. \f.
mais itens.
Você pode contornar o problema de duas maneiras. Uma delas é bastante drástica, ou seja, remover a possibilidade de usar \f.
for itens dentro de \ex.
: basta adicionar \let\f\relax
before \usepackage{ling-macros}
.
Se quiser usar \f.
para itens internos \ex.
, você precisa de um truque mais elaborado, mostrado abaixo.
\documentclass[12pt]{article}
%% packages
\usepackage[hmargin=2.5cm, vmargin=2.5cm]{geometry}
\usepackage{setspace}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage[rm, bf]{titlesec} % formatting taken out for brevity
\usepackage{longtable}
\usepackage{natbib}
\usepackage{fancyhdr} % actual header taken out
\usepackage{titling} % actual title with author info taken out
\usepackage{linguex}
\usepackage{tikz-qtree}
%% fix the issues with \f
\let\f\relax % remove the definition done by linguex
\usepackage{ling-macros} % load the package
\makeatletter
\let\lingmacros@f\f
\DeclareRobustCommand{\f}{\@ifnextchar.\b\lingmacros@f}
\makeatother
%% settings
\setmainfont{Times New Roman}
\defaultfontfeatures{Scale=MatchLowercase}
\pagestyle{fancy}
\doublespacing % not \doublespace
% you don't know what ex is, until at begin document
\AtBeginDocument{\setlength\parindent{4ex}}
% leave a little flexibility to \parskip
%\setlength\parskip{0pt}
Separei a parte de carregamento do pacote da parte de configurações. Observe que essa \doublespace
não é a declaração correta, que deveria ser \doublespacing
.