
Estoy escribiendo mi artículo (lingüística) y funcionó bien en XeLaTeX hasta que usé el ling-macros
paquete, que debería haber funcionado bien, dado que no es un paquete nuevo y no encontré preguntas similares sobre el error que encontré. Esto es lo que conseguí:
> ! 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...
>
> ?
Estoy seguro de que de alguna manera tiene que ver ling-macros
(¿o con su conflicto con otros paquetes que usé?) Ya que ese es un mensaje muy específico que recibí; cuando %'ed esa línea, el archivo volvió a funcionar bien (ver la última línea a continuación).
El siguiente es mi 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}
Respuesta1
El linguex
paquete se define \f
como un alias para \b
. También \b
se le da un significado diferente al del LaTeX estándar (que es el acento "debajo de la barra").
En el contexto de linguex
, dentro de \ex.
uno se ingresa \a.
y \b.
para introducir elementos. El paquete también incluye \c. \d. \e. \f.
más artículos.
Puede solucionar el problema de dos maneras. Uno es bastante drástico, es eliminar la posibilidad de usar \f.
elementos internos \ex.
: simplemente agregue \let\f\relax
antes \usepackage{ling-macros}
.
Si desea utilizar \f.
elementos en el interior \ex.
, necesita un truco más elaborado, que se muestra a continuación.
\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}
Separé la parte de carga del paquete de la parte de configuración. Tenga en cuenta que \doublespace
no es la declaración correcta, que debería ser \doublespacing
.