Compare commits
No commits in common. "da574b172825a8bf166ebfce3994d2f250f1d3c8" and "23b2b4734dfbe21bca2bfd1f1ea48517129cf71f" have entirely different histories.
da574b1728
...
23b2b4734d
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -8,15 +8,10 @@
|
|||
\newcommand{\DocTitle}{عنوان اصلی و کامل برای مستندات پروژه}
|
||||
\newcommand{\DocHeaderTitle}{عنوان کوتاه مستند}
|
||||
\newcommand{\DocSubtitle}{توضیحات کوتاه یا زیرعنوان مستند}
|
||||
\newcommand{\DocVersion}{2.0.0}
|
||||
\newcommand{\DocVersion}{1.0.3}
|
||||
\newcommand{\DocID}{\lr{[DOC-PRJ-01]}}
|
||||
\newcommand{\DocDate}{\today} % میتوانید تاریخ دستی بنویسید مثل: 1403/08/02
|
||||
|
||||
\renewcommand{\labelitemi}{$\bullet$}
|
||||
\renewcommand{\labelitemii}{$\circ$}
|
||||
\renewcommand{\labelitemiii}{$-$}
|
||||
\renewcommand{\labelitemiv}{$\cdot$}
|
||||
|
||||
% -----------------------------------------------------------------
|
||||
% ۲. وضعیت و سطح محرمانگی
|
||||
% -----------------------------------------------------------------
|
||||
|
|
@ -40,10 +35,3 @@
|
|||
% -----------------------------------------------------------------
|
||||
\ModernShapestrue % نمایش شکلهای هندسی در گوشه صفحات (true یا false)
|
||||
\SeparateCovertrue % کاور در صفحه مجزا (true) یا چسبیده به متن (false)
|
||||
|
||||
% -----------------------------------------------------------------
|
||||
% ۵. تنظیمات ساختار سند (نمایش یا عدم نمایش بخشها)
|
||||
% -----------------------------------------------------------------
|
||||
\newif\ifHasAppendices \HasAppendicestrue % true برای نمایش پیوستها
|
||||
\newif\ifHasGlossary \HasGlossarytrue % true برای نمایش واژهنامه
|
||||
\newif\ifHasReferences \HasReferencestrue % true برای نمایش مراجع
|
||||
|
|
@ -13,10 +13,6 @@
|
|||
\newcommand{\MinutesChair}{دکتر سید مسعود قریشی}
|
||||
\newcommand{\MinutesSecretary}{مهندس علی بدیعی}
|
||||
|
||||
% تخصیص رئیس و دبیر به لیست حاضرین بر اساس جنسیت
|
||||
\newcommand{\MinutesExtraMen}{\MinutesChair ؛ \MinutesSecretary}
|
||||
\newcommand{\MinutesExtraWomen}{-} % در صورت نیاز متغیرهای بالا را به اینجا منتقل کنید
|
||||
|
||||
\newcommand{\MinutesPresentMen}{فراس مراد؛ متین توکلی؛ رضا اسفندیاری؛ امیرمهدی کرمی؛ سید محمد سجادی؛ سام قربانی}
|
||||
\newcommand{\MinutesPresentWomen}{اعظم باغستانی؛ فاطمه طاهری} % Leave empty or use '-' if no women are present
|
||||
\newcommand{\MinutesAbsentMen}{-} % Leave empty or use '-' if no men are absent
|
||||
|
|
@ -29,22 +25,7 @@
|
|||
۴. تأمین زیرساخت و رویدادها
|
||||
}
|
||||
|
||||
% =================================================================
|
||||
% تنظیمات تیم (برای تغییر تیم، خطوط مربوطه را از کامنت خارج کنید)
|
||||
% =================================================================
|
||||
|
||||
% --- 1. تیم باشگاه نوآوری (Club) ---
|
||||
% \newcommand{\MinutesGroupTitle}{جلسه هفتگی دستیاران نوآوری \\ \textbf{تیم باشگاه نوآوری \lr{(Club)}}}
|
||||
% \renewcommand{\FirstPageIcon}{\faProjectDiagram}
|
||||
|
||||
% --- 2. تیم فنی (T&T) ---
|
||||
\newcommand{\MinutesGroupTitle}{جلسه هفتگی دستیاران نوآوری \\ \textbf{تیم فنی \lr{(T\&T)}}}
|
||||
\renewcommand{\FirstPageIcon}{\faCogs}
|
||||
|
||||
% --- 3. تیم تحقیق و توسعه (R&D) ---
|
||||
% \newcommand{\MinutesGroupTitle}{جلسه هفتگی دستیاران نوآوری \\ \textbf{تیم تحقیق و توسعه \lr{(R\&D)}}}
|
||||
% \renewcommand{\FirstPageIcon}{\faSearch}
|
||||
|
||||
\newcommand{\MinutesTeamLogo}{team_logo.png}
|
||||
|
||||
% --- تنظیمات ظاهری ---
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
\section*{مقدمه و هدف}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{section}{مقدمه و هدف}
|
||||
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد.
|
||||
|
||||
|
|
@ -7,16 +6,13 @@
|
|||
کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد \cite{smith2023, test_persian}.
|
||||
|
||||
\subsection*{پیشنیازهای سیستم}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{subsection}{پیشنیازهای سیستم}
|
||||
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است. این بخش برای تست طولانیتر شدن محتوا و نمایش زیربخشها در فهرست مطالب ایجاد شده است.
|
||||
|
||||
\section*{معماری و ساختار فنی}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{section}{معماری و ساختار فنی}
|
||||
|
||||
\subsection*{ساختار کلی سیستم}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{subsection}{ساختار کلی سیستم}
|
||||
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ است. در این بخش، معماری کلی به شکل زیر تقسیمبندی میشود:
|
||||
\begin{itemize}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
\newpage
|
||||
\section*{پیوست ۱: جداول نمونه (ساختار دادهها و تسکها)}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{section}{پیوست ۱: جداول نمونه (ساختار دادهها و تسکها)}
|
||||
جدول زیر به عنوان یک نمونه استاندارد برای نمایش اطلاعات، تسکها یا ساختار داده در مستندات تیم تدوین شده است. این جدول در فهرست جداول نیز نمایش داده خواهد شد.
|
||||
|
||||
|
|
@ -46,11 +45,9 @@
|
|||
|
||||
\newpage
|
||||
\section*{پیوست ۲: دستورالعملهای فنی و ابزارهای توسعه}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{section}{پیوست ۲: دستورالعملهای فنی و ابزارهای توسعه}
|
||||
|
||||
\subsection*{نمونه درج بلوک کد \lr{(Code Snippet)}}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{subsection}{نمونه درج بلوک کد \lr{(Code Snippet)}}
|
||||
برای قرار دادن کدهای برنامهنویسی (مانند متدهای بکآند یا استایلهای فرانتآند)، اعضای تیم باید از ساختار زیر استفاده کنند. توجه شود که توضیحات داخل کد حتماً به زبان انگلیسی نوشته شود تا ساختار چپبهراست کد خراب نشود.
|
||||
|
||||
|
|
@ -71,7 +68,6 @@ def check_user_permission(user_id, role):
|
|||
\end{LTR}
|
||||
|
||||
\subsection*{نمونه درج تصویر و نمودارهای سیستم}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{subsection}{نمونه درج تصویر و نمودارهای سیستم}
|
||||
شما میتوانید معماری سیستم، خروجی تسکها یا نمودارهای پایگاه داده را با ساختار استاندارد زیر اضافه کنید. برای اینکه تصویر در جای دقیق خود قرار گیرد، از پارامتر \lr{[h!]} استفاده شده است.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
\clearpage % این دستور باعث میشود اگر عکسها جا ماندهاند، حتماً قبل از ایجاد صفحه جدید چاپ شوند.
|
||||
\section*{واژهنامه تخصصی}
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{section}{واژهنامه تخصصی}
|
||||
در این بخش کلمات کلیدی فنی و اختصارات به کار رفته در متن گزارش برای درک بهتر ثبت میشوند:
|
||||
|
||||
|
|
|
|||
|
|
@ -67,31 +67,28 @@
|
|||
}
|
||||
\ExplSyntaxOff
|
||||
|
||||
\newcommand{\PrintGroup}[5]{%
|
||||
\newcommand{\PrintGroup}[4]{%
|
||||
\def\emptyval{} \def\dashval{-}
|
||||
\hasmenfalse \haswomenfalse
|
||||
|
||||
\expandafter\def\expandafter\menlist\expandafter{#4}
|
||||
\expandafter\def\expandafter\menlist\expandafter{#3}
|
||||
\ifx\menlist\emptyval\else\ifx\menlist\dashval\else\hasmentrue\fi\fi
|
||||
\expandafter\def\expandafter\extramen\expandafter{#2}
|
||||
\ifx\extramen\emptyval\else\ifx\extramen\dashval\else\hasmentrue\fi\fi
|
||||
|
||||
\expandafter\def\expandafter\womenlist\expandafter{#5}
|
||||
\expandafter\def\expandafter\womenlist\expandafter{#4}
|
||||
\ifx\womenlist\emptyval\else\ifx\womenlist\dashval\else\haswomentrue\fi\fi
|
||||
\expandafter\def\expandafter\extrawomen\expandafter{#3}
|
||||
\ifx\extrawomen\emptyval\else\ifx\extrawomen\dashval\else\haswomentrue\fi\fi
|
||||
\expandafter\def\expandafter\extralist\expandafter{#2}
|
||||
\ifx\extralist\emptyval\else\hasmentrue\fi
|
||||
|
||||
\ifhasmen
|
||||
\ifhaswomen
|
||||
\textbf{#1}\par\vspace{0.1cm}
|
||||
\textbf{آقایان / دکتر / مهندس:} \SortAndCleanList{#2}{#4} \par\vspace{0.1cm}
|
||||
\textbf{خانمها / دکتر / مهندس:} \SortAndCleanList{#3}{#5}
|
||||
\textbf{آقایان / دکتر / مهندس:} \SortAndCleanList{#2}{#3} \par\vspace{0.1cm}
|
||||
\textbf{خانمها / دکتر / مهندس:} \SortAndCleanList{}{#4}
|
||||
\else
|
||||
\textbf{#1 آقایان / دکتر / مهندس:} \SortAndCleanList{#2}{#4}
|
||||
\textbf{#1 آقایان / دکتر / مهندس:} \SortAndCleanList{#2}{#3}
|
||||
\fi
|
||||
\else
|
||||
\ifhaswomen
|
||||
\textbf{#1 خانمها / دکتر / مهندس:} \SortAndCleanList{#3}{#5}
|
||||
\textbf{#1 خانمها / دکتر / مهندس:} \SortAndCleanList{#2}{#4}
|
||||
\else
|
||||
\textbf{#1} -
|
||||
\fi
|
||||
|
|
@ -137,8 +134,8 @@
|
|||
\noindent\makebox[\linewidth]{%
|
||||
\begin{minipage}{\dimexpr \linewidth - 0.8cm \relax}
|
||||
\vspace{0.2cm}
|
||||
\PrintGroup{حاضرین:}{\MinutesExtraMen}{\MinutesExtraWomen}{\MinutesPresentMen}{\MinutesPresentWomen} \par\vspace{0.2cm}
|
||||
\PrintGroup{غائبین:}{-}{-}{\MinutesAbsentMen}{\MinutesAbsentWomen}
|
||||
\PrintGroup{حاضرین:}{\MinutesChair ؛ \MinutesSecretary}{\MinutesPresentMen}{\MinutesPresentWomen} \par\vspace{0.2cm}
|
||||
\PrintGroup{غائبین:}{}{\MinutesAbsentMen}{\MinutesAbsentWomen}
|
||||
\vspace{0.2cm}
|
||||
\end{minipage}%
|
||||
}\par
|
||||
|
|
|
|||
|
|
@ -54,8 +54,8 @@
|
|||
|
||||
% --- Main Text Font ---
|
||||
\settextfont[Path=Assets/Font/, Extension=.ttf, BoldFont=BNazanin-Bold]{BNazanin}
|
||||
% --- Fix English Text (Local Font Bypass) ---
|
||||
\setlatintextfont[Path=Assets/Font/, Extension=.ttf, BoldFont=timesbd, ItalicFont=timesi, BoldItalicFont=timesbi]{times}
|
||||
% --- Fix English Text ---
|
||||
\setlatintextfont{Times New Roman} % You can also use Arial or Calibri
|
||||
|
||||
% --- Custom Font Definitions ---
|
||||
\defpersianfont\vazirfont[Path=Assets/Font/, Extension=.ttf, BoldFont=Vazirmatn-Bold]{Vazirmatn-Regular}
|
||||
|
|
@ -129,14 +129,12 @@
|
|||
% ==========================================
|
||||
% 6. Page Geometry, Shapes, and Headers
|
||||
% ==========================================
|
||||
\newcommand{\FirstPageIcon}{\faCogs} % Default icon for main documents
|
||||
|
||||
\newcommand{\OddPageShapesA}{%
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\fill[primary!10] (current page.north east) rectangle ++(-0.2, -\paperheight);
|
||||
\fill[primary] (current page.north east) -- ++(0, -4.5) -- ++(-3.5, 4.5) -- cycle;
|
||||
\fill[accentYellow] (current page.north east) ++(0, -4.5) -- ++(0, -0.4) -- ++(-3.81, 4.9) -- ++(0.4, 0) -- cycle;
|
||||
\path (current page.north east) ++(-1.0, -1.5) node {\textcolor{primary!10}{\lr{\Large \FirstPageIcon}}};
|
||||
\path (current page.north east) ++(-1.0, -1.5) node {\textcolor{primary!10}{\lr{\Large \faCogs}}};
|
||||
\end{tikzpicture}%
|
||||
}
|
||||
|
||||
|
|
@ -190,16 +188,21 @@
|
|||
|
||||
% Using \AtBeginDocument ensures these headers can read variables (like \DocVersion) defined in main.tex
|
||||
\AtBeginDocument{
|
||||
% Clear all default headers to prevent ghosting
|
||||
\fancyhead[LO]{}
|
||||
\fancyhead[RE]{}
|
||||
\fancyhead[RO]{}
|
||||
\fancyhead[LE]{}
|
||||
|
||||
\fancyhead[LO]{%
|
||||
\hspace{1.8cm}%
|
||||
\llap{\smash{\raisebox{-0.75cm}{\includegraphics[height=1.2cm]{logo.png}}}\hspace{0.3cm}}
|
||||
\textcolor{primary}{\nazaninfont\textbf{\DocHeaderTitle}}
|
||||
}
|
||||
\fancyhead[RE]{%
|
||||
\textcolor{primary}{\nazaninfont\textbf{\DocHeaderTitle}}
|
||||
\rlap{\hspace{0.3cm}\smash{\raisebox{-0.75cm}{\includegraphics[height=1.2cm]{logo.png}}}}
|
||||
\hspace{1.8cm}%
|
||||
}
|
||||
\fancyhead[RO]{\textcolor{gray}{نسخه \lr{\DocVersion}}}
|
||||
\fancyhead[LE]{\textcolor{gray}{نسخه \lr{\DocVersion}}}
|
||||
\fancyfoot[C]{\textcolor{gray}{صفحه \thepage}}
|
||||
|
||||
\fancyhead[C]{%
|
||||
% 1. Draw the Background Shapes
|
||||
\ifModernShapes
|
||||
\pgfmathtruncatemacro{\pagecycle}{mod(int((\value{page}-1)/2), 2)}
|
||||
\ifnum\pagecycle=0
|
||||
|
|
@ -208,25 +211,6 @@
|
|||
\ifodd\value{page} \OddPageShapesB \else \EvenPageShapesB \fi
|
||||
\fi
|
||||
\fi
|
||||
|
||||
% 2. Draw the Text and Logo securely tied to the physical margins
|
||||
\ifodd\value{page}%
|
||||
% ODD PAGE: Shapes are on the RIGHT. Gap is on the RIGHT (1.8cm).
|
||||
\makebox[\headwidth][s]{%
|
||||
{\makebox[1.8cm][c]{\smash{\raisebox{-0.75cm}{\includegraphics[height=1.2cm]{logo.png}}}}%
|
||||
\textcolor{primary}{\nazaninfont\textbf{\DocHeaderTitle}}}%
|
||||
\hfill
|
||||
{\textcolor{gray}{نسخه \lr{\DocVersion}}}%
|
||||
}%
|
||||
\else
|
||||
% EVEN PAGE: Shapes are on the LEFT. Gap is on the LEFT (1.8cm).
|
||||
\makebox[\headwidth][s]{%
|
||||
{\textcolor{gray}{نسخه \lr{\DocVersion}}}%
|
||||
\hfill
|
||||
{\textcolor{primary}{\nazaninfont\textbf{\DocHeaderTitle}}%
|
||||
\makebox[1.8cm][c]{\smash{\raisebox{-0.75cm}{\includegraphics[height=1.2cm]{logo.png}}}}}%
|
||||
}%
|
||||
\fi
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
35
main.tex
35
main.tex
|
|
@ -101,33 +101,24 @@
|
|||
% فراخوانی فایلهای محتوای پروژه
|
||||
% ==========================================
|
||||
\input{Content/01_project_content.tex} % متن اصلی
|
||||
|
||||
\ifHasAppendices
|
||||
\input{Content/02_appendices.tex} % پیوستها
|
||||
\fi
|
||||
|
||||
\ifHasGlossary
|
||||
\input{Content/03_glossary.tex} % واژهنامه تخصصی
|
||||
\fi
|
||||
\input{Content/02_appendices.tex} % پیوستها
|
||||
\input{Content/03_glossary.tex} % واژهنامه تخصصی
|
||||
|
||||
% --- بخش مراجع خودکار ---
|
||||
\newpage
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{section}{مراجع و منابع}
|
||||
|
||||
\ifHasReferences
|
||||
\newpage
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{section}{مراجع و منابع}
|
||||
\nocite{*}
|
||||
|
||||
\nocite{*}
|
||||
% چاپ منابع فارسی (راستچین)
|
||||
\printbibliography[keyword=persian, title={منابع فارسی}]
|
||||
\vspace{1cm}
|
||||
|
||||
% چاپ منابع فارسی (راستچین)
|
||||
\printbibliography[keyword=persian, title={منابع فارسی}]
|
||||
\vspace{1cm}
|
||||
|
||||
% چاپ منابع انگلیسی (چپچین)
|
||||
\begin{latin}
|
||||
\printbibliography[keyword=english, title={\lr{English References}}, resetnumbers=true]
|
||||
\end{latin}
|
||||
\fi
|
||||
% چاپ منابع انگلیسی (چپچین)
|
||||
\begin{latin}
|
||||
\printbibliography[keyword=english, title={\lr{English References}}, resetnumbers=true]
|
||||
\end{latin}
|
||||
|
||||
\clearpage
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue