
나는 내 논문(언어학)을 조판하고 있는데 패키지를 사용할 때까지 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
(또는 내가 사용한 다른 패키지와의 충돌과 관련이 있습니까?). 해당 줄을 %'ed했을 때 파일이 다시 정상적으로 실행되었습니다(아래 마지막 줄 참조).
다음은 내 서문입니다.
\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.
내부 항목에 사용할 가능성을 제거하는 것입니다 \ex.
.\let\f\relax
before 에 추가하세요 \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
.