我正在排版我的论文(语言学),它在 XeLaTeX 中运行良好,直到我使用该ling-macros
软件包,它应该运行良好,因为它不是一个新软件包,而且我没有发现与我遇到的错误类似的问题。这是我得到的:
> ! 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...
>
> ?
我确信这在某种程度上与我使用的其他一些软件包有关ling-macros
(或者有冲突?),因为这是我收到的非常具体的消息;当我 % 处理该行时,文件再次运行良好(参见下面最后一行)。
以下是我的序言:
\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}
答案1
该linguex
包定义\f
为的别名\b
。此外,\b
它还被赋予了与标准 LaTeX 中不同的含义(“下划线”重音符号)。
在 的上下文中linguex
,\ex.
其中输入\a.
和\b.
用于介绍项目。该包还提供\c. \d. \e. \f.
更多项目。
\f.
你可以用两种方法解决这个问题。一种方法比较激进,即消除在 中使用 for items的可能性\ex.
:只需\let\f\relax
在 之前添加 即可\usepackage{ling-macros}
。
如果您想要使用\f.
里面的物品\ex.
,您需要一个更复杂的技巧,如下所示。
\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}
我将包加载部分与设置部分分开。请注意,这\doublespace
不是正确的声明,正确的声明应该是\doublespacing
。