سلام
خواستهی شما با دستورات زیر برآورده میشود و در صورت وارد نشدن هر فیلد در آن به رنگ قرمز به شما هشدار میدهد:
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{tcolorbox,xcolor}
\usepackage[logo=on]{xepersian}
\settextfont{XB Niloofar}
\setdigitfont{XB Niloofar}
\begin{document}
\makeatletter
\def\name#1{\gdef\@name{#1}}
\def\surname#1{\gdef\@surname{#1}}
\def\father#1{\gdef\@father{#1}}
\def\studentid#1{\gdef\@studentid{#1}}
\def\school#1{\gdef\@school{#1}}
\def\city#1{\gdef\@city{#1}}
\pagestyle{empty}
\newcommand{\makeinfo}{
\begin{tcolorbox}[width=\textwidth,colback=red!5!white]
\begin{tabular}{p{5cm}r}
نام:
\ifx\@name\novalue{{{\textcolor{red}{نام را وارد کنید}}}}\else\@name\fi
&
شمارهی دانش آموزی:
\ifx\@studentid\novalue{\hbox{{\textcolor{red}{ شمارهی دانشآموزی را وارد کنید}}}}\else\@studentid\fi
\\
نام خانوادگی:
\ifx\@surname\novalue{\hbox{{\textcolor{red}{نام خانوادگی را وارد کنید}}}}\else\@surname\fi
& آموزشگاه:
\ifx\@school \novalue{\hbox{{\textcolor{red}{نام آموزشگاه را وارد کنید}}}}\else\@school \fi
\\
نام پدر:
\ifx\@father \novalue{\hbox{{\textcolor{red}{نام پدر را وارد کنید}}}}\else\@father \fi
&
شهر:
\ifx\@city \novalue{\hbox{{\textcolor{red}{نام شهر را وارد کنید}}}}\else\@city \fi
\\
\end{tabular}
\end{tcolorbox}}
\makeatother
\null\vfill
\name{جواد}
%\surname{}
%\studentid{}
%\father{}
%\school{}
\city{قم}
\makeinfo
\end{document}
این هم خروجی شما با نسخهی اولیهی تکلایو 2018:
و اگر بخواهید علاوه بر هشدار در سند، این هشدار به همراه سطری که خطا در آن رخ داده است را در پنجرهی log
ببینید از ساختار زیر برای نمایش خطا میتوانید بهره بگیرید:
\@latex@warning{<message>}
و دستورات کلی شما مطابق زیر خواهد بود:
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{tcolorbox,xcolor}
\usepackage[logo=on]{xepersian}
\settextfont{XB Niloofar}
\setdigitfont{XB Niloofar}
\begin{document}
\makeatletter
\def\name#1{\gdef\@name{#1}}
\def\surname#1{\gdef\@surname{#1}}
\def\father#1{\gdef\@father{#1}}
\def\studentid#1{\gdef\@studentid{#1}}
\def\school#1{\gdef\@school{#1}}
\def\city#1{\gdef\@city{#1}}
\pagestyle{empty}
\newcommand{\makeinfo}{
\begin{tcolorbox}[width=\textwidth,colback=red!5!white]
\begin{tabular}{p{5cm}r}
نام:
\ifx\@name\novalue{{{\textcolor{red}{نام را وارد کنید}}}}\@latex@warning{نام را وارد کنید}\else\@name\fi
&
شمارهی دانش آموزی:
\ifx\@studentid\novalue{\hbox{{\textcolor{red}{ شمارهی دانشآموزی را وارد کنید}}}}\@latex@warning{شمارهی دانش آموزی را وارد کنید}\else\@studentid\fi
\\
نام خانوادگی:
\ifx\@surname\novalue{\hbox{{\textcolor{red}{نام خانوادگی را وارد کنید}}}}\@latex@warning{نام خانوادگی را وارد کنید}\else\@surname\fi
& آموزشگاه:
\ifx\@school \novalue{\hbox{{\textcolor{red}{نام آموزشگاه را وارد کنید}}}}\@latex@warning{نام آموزشگاه را وارد کنید}\else\@school \fi
\\
نام پدر:
\ifx\@father \novalue{\hbox{{\textcolor{red}{نام پدر را وارد کنید}}}}\@latex@warning{نام پدر را وارد کنید}\else\@father \fi
&
شهر:
\ifx\@city \novalue{\hbox{{\textcolor{red}{نام شهر را وارد کنید}}}}\@latex@warning{نام شهر را وارد کنید}\else\@city \fi
\\
\end{tabular}
\end{tcolorbox}}
\makeatother
\null\vfill
\name{جواد}
%\surname{}
%\studentid{}
%\father{}
%\school{}
\city{قم}
\makeinfo
\end{document}
و اینهم اخطارهای این فایل در لاگفایل:
line 50: شمارهی دانش آموزی را وارد کنید
line 50: نام خانوادگی را وارد کنید
line 50: نام آموزشگاه را وارد کنید
line 50: نام پدر را وارد کنید
موفق باشید.