我有一些 LaTeX 程式碼,應該繪製某種帶有波斯文字的表格(UML 用例描述)。無論我\\
是否在每行末尾添加,我都會收到以下錯誤:
Misplaced \noalign.
\hline ->\noalign
{\ifnum 0=`}\fi \hrule \@height \arrayrulewidth \futurelet...
l.52 \hline
該表呈現正確,但我願意消除該錯誤,因為程式碼中會有數十個這樣的表。這是文件:
\documentclass[a4paper, 11pt]{article}
\usepackage{array}
\usepackage{xepersian}
\settextfont[Scale=1]{XB Niloofar}
\setdigitfont{XB Niloofar}
\setlatintextfont[Scale=1]{Times New Roman}
\graphicspath{ {./} }
\graphicspath{ {./} }
\begin{document}
\maketitle
\newpage
\section*{
موارد استفاده
}
\begin{tabular}{|p{\textwidth}|}
\hline
\centering Use Case: Check Availability for Order \\
\hline
\begin{flushleft}
\begin{latin}
ID: 0
\end{latin}
\end{flushleft}
%%%%%%%%%%%%%%%%%%
\hline
\begin{flushright}
توضیح مختصر:
\newline
بررسی میکند که به تعداد مورد نیاز برای سفارش در دست بررسی قطعه در انبار وجود دارد یا نه.
\end{flushright}
%%%%%%%%%%%%%%%%%%
\hline
\begin{flushright}
کنشگر
اصلی:
\newline
مشتری
\end{flushright}
%%%%%%%%%%%%%%%%%%
\hline
\begin{flushright}
کنشگر
ثانویه
:
\newline
کارمند انبارداری
\end{flushright}
%%%%%%%%%%%%%%%%%%
\hline
\begin{flushright}
پیششرطها
:
\newline
\begin{enumerate}
\item ثبت سفارش توسط مشتری
\end{enumerate}
\end{flushright}
%%%%%%%%%%%%%%%%%%
\hline
\begin{flushright}
روند اصلی:
\newline
\begin{enumerate}
\item
این
UseCase
پس از ثبت سفارش توسط مشتری آغاز میشود
\item
برای هر یک از قطعات موجود در درخواست مشتری، تعداد مورد نیاز از آن برای تولید محصول با تعداد موجود در انبار مقایسه میشود
\begin{enumerate}
\item
در صورت کافی نبودن موجودی
برای هر قطعه
\lr{Estimate Order Cost}
اجرا میشود
\end{enumerate}
\item
پیش فاکتور برای مشتری آماده میشود.
\end{enumerate}
\end{flushright}
%%%%%%%%%%%%%%%%%%
\hline
\begin{flushright}
پسشرطها
:
\newline
آماده شدن پیشفاکتور برای سفارش
\end{flushright}
%%%%%%%%%%%%%%%%%%
\hline
\begin{flushright}
روند
جایگزین:
\newline
ندارد
\end{flushright}
%%%%%%%%%%%%%%%%%%
\hline
\end{tabular}
\end{document}
它是在 OS X 上用 XeLatex 編譯的。
答案1
你不要flushright
而且你做想要\\
之前\hline
。
\documentclass[a4paper, 11pt]{article}
\usepackage{array}
\usepackage{xepersian}
\settextfont[Scale=1]{Scheherazade}
\setdigitfont{Scheherazade}
\setlatintextfont[Scale=1]{Times New Roman}
\begin{document}
\section*{
موارد استفاده
}
\begin{tabular}{|>{\raggedright\arraybackslash}p{\textwidth}|}
\hline
\centering Use Case: Check Availability for Order \tabularnewline
\hline
\begin{latin}
ID: 0
\end{latin}
\\
\hline
توضیح مختصر:
\newline
بررسی میکند که به تعداد مورد نیاز برای سفارش در دست بررسی قطعه در انبار وجود دارد یا نه.
\\
\hline
کنشگر
اصلی:
\newline
مشتری
\\
\hline
کنشگر
ثانویه
:
\newline
کارمند انبارداری
\\
\hline
پیششرطها
:
\newline
\begin{enumerate}
\item ثبت سفارش توسط مشتری
\end{enumerate}
\\
\hline
روند اصلی:
\newline
\begin{enumerate}
\item
این
UseCase
پس از ثبت سفارش توسط مشتری آغاز میشود
\item
برای هر یک از قطعات موجود در درخواست مشتری، تعداد مورد نیاز از آن برای تولید محصول با تعداد موجود در انبار مقایسه میشود
\begin{enumerate}
\item
در صورت کافی نبودن موجودی
برای هر قطعه
\lr{Estimate Order Cost}
اجرا میشود
\end{enumerate}
\item
پیش فاکتور برای مشتری آماده میشود.
\end{enumerate}
\\
\hline
پسشرطها
:
\newline
آماده شدن پیشفاکتور برای سفارش
\\
\hline
روند
جایگزین:
\newline
ندارد
\\
\hline
\end{tabular}
\end{document}
答案2
稍微修改一下(縮短並且沒有波斯語和 XeLaTeX),它可以與\\ \hline
.
\documentclass[a4paper, 11pt]{article}
\usepackage{array}
\begin{document}
\begin{tabular}{|p{\textwidth}|}
\hline
%\centering
Use Case: Check Availability for Order \\
\hline
\begin{flushleft}
%\begin{latin}
ID: 0
%\end{latin}
\end{flushleft}
%%%%%%%%%%%%%%%%%%
\\ \hline
\begin{flushright}
xxxxx xxxxx:
\newline
xxxxx xxxxxx xx xx xxxxx xxxx xxxx xxxx xxxxx xx xxx xxxxx xxxx xx
xxxxx xxxx xxxx xx xx.
\end{flushright}
%%%%%%%%%%%%%%%%%%
\\ \hline
\begin{flushright}
xxxxxx xxxx:
\newline
xxxxx
\end{flushright}
%%%%%%%%%%%%%%%%%%
\\ \hline
\begin{flushright}
xxxxxx xxxxxx :
\newline
xxxxxx xxxxxxxxx
\end{flushright}
%%%%%%%%%%%%%%%%%%
\\ \hline
\begin{flushright}
xxxxxxxxxx :
\newline
\begin{enumerate}
\item xxx xxxxx xxxx xxxxx
\end{enumerate}
\end{flushright}
%%%%%%%%%%%%%%%%%%
\\ \hline
\begin{flushright}
xxxx xxxx:
\newline
\begin{enumerate}
\item
xxx UseCase xx xx xxx xxxxx xxxx xxxxx xxxx xxxxxx
\item
xxxx xx xx xx xxxxx xxxxx xx xxxxxxx xxxxxx xxxxx xxxx xxxx xx xx
xxxx xxxxx xxxxx xx xxxxx xxxxx xx xxxxx xxxxxx xxxxxx
\begin{enumerate}
\item
xx xxxx xxxx xxxxx xxxxxx xxxx xx xxxx Estimate Order Cost xxxx
xxxxxx
\end{enumerate}
\item
xxx xxxxxx xxxx xxxxx xxxxx xxxxxx.
\end{enumerate}
\end{flushright}
%%%%%%%%%%%%%%%%%%
\\ \hline
\begin{flushright}
xxxxxxxxx :
\newline
xxxxx xxx xxxxxxxxxx xxxx xxxxx
\end{flushright}
%%%%%%%%%%%%%%%%%%
\\ \hline
\begin{flushright}
xxxx xxxxxxx:
\newline
xxxxx
\end{flushright}
%%%%%%%%%%%%%%%%%%
\\ \hline
\end{tabular}
\end{document}