خطأ فادحالأوامر والحزم

أمر معرّف مسبقًا

! LaTeX Error: Command \XXX already defined.

ماذا يعني هذا الخطأ

استخدمت ⁦\newcommand⁩ لتعريف أمر موجود بالفعل. يرفض LaTeX الكتابة فوق الأوامر الموجودة بصمت، وذلك لتجنّب أخطاء إعادة التعريف التي يصعب تتبعها.

الأسباب الشائعة

  • استخدام ⁦\newcommand⁩ لأمر تعرّفه حزمة محمّلة
  • تعريف الأمر نفسه مرتين في المستند
  • حزمتان تعرّفان اسم الأمر نفسه

كيفية الإصلاح

استخدم ⁦\renewcommand⁩ بدلًا من ⁦\newcommand⁩ إذا كنت تريد تجاوز أمر موجود عن قصد. وإذا كان التعارض بين حزمتين، فحمّلهما بترتيب مختلف أو استخدم أسلوب ⁦\let⁩ لحفظ التعريف الأصلي واستعادته.

أمثلة على الشيفرة

يسبب الخطأ
\documentclass{article}
\usepackage{amsmath}

% \text is already defined by amsmath
\newcommand{\text}[1]{\textit{#1}}

\begin{document}
Hello
\end{document}
تم الإصلاح
\documentclass{article}
\usepackage{amsmath}

% Use \renewcommand to override safely
\renewcommand{\text}[1]{\textit{#1}}

\begin{document}
Hello
\end{document}

أخطاء ذات صلة

جرّب الحل مباشرة

الصق شيفرة LaTeX في الـ playground وجمّعها فورًا.