خطأ فادحالأوامر والحزم
أمر معرّف مسبقًا
! 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 وجمّعها فورًا.

