ui fixed, colors fixed, ux fixed, bugs fixed, updated the minutes and else

This commit is contained in:
Master 2026-06-06 17:03:26 +03:30
parent 2dd4b73ef6
commit 23b2b4734d
14 changed files with 265 additions and 161 deletions

Binary file not shown.

Binary file not shown.

BIN
Assets/Font/BNazanin.ttf Normal file

Binary file not shown.

BIN
Assets/Font/BZar.ttf Normal file

Binary file not shown.

BIN
Assets/Font/BZarBd.ttf Normal file

Binary file not shown.

View File

@ -5,7 +5,8 @@
% -----------------------------------------------------------------
% ۱. اطلاعات اصلی سند (بیشترین میزان تغییر)
% -----------------------------------------------------------------
\newcommand{\DocTitle}{عنوان اصلی مستندات پروژه}
\newcommand{\DocTitle}{عنوان اصلی و کامل برای مستندات پروژه}
\newcommand{\DocHeaderTitle}{عنوان کوتاه مستند}
\newcommand{\DocSubtitle}{توضیحات کوتاه یا زیرعنوان مستند}
\newcommand{\DocVersion}{1.0.3}
\newcommand{\DocID}{\lr{[DOC-PRJ-01]}}

View File

@ -3,28 +3,29 @@
% تنظیمات متغیرهای فرم صورتجلسه
% =================================================================
\newcommand{\MinutesDate}{۱۴۰۳/۱۱/۲۶}
\newcommand{\MinutesStart}{۰۷:۳۰}
\newcommand{\MinutesEnd}{۰۹:۳۰}
\newcommand{\MinutesDate}{۱۴۰۵/۳/۱۳}
\newcommand{\MinutesStart}{۱۰:۳۰}
\newcommand{\MinutesEnd}{۱۱:۴۰}
\newcommand{\MinutesNumber}{۱}
\newcommand{\MinutesRevision}{۱}
\newcommand{\MinutesAttachment}{ندارد}
\newcommand{\MinutesAttachment}{دارد}
\newcommand{\MinutesChair}{دکتر سید مسعود قریشی}
\newcommand{\MinutesSecretary}{مهندس علی بدیعی}
\newcommand{\MinutesPresentMen}{سید مسعود قریشی؛ علی بدیعی؛ فراس مراد؛ متین توکلی؛ رضا اسفندیاری؛ امیرمهدی کرمی؛ سید محمد سجادی؛ سام قربانی}
\newcommand{\MinutesPresentWomen}{باغستانی؛ فاطمه طاهری} % Leave empty or use '-' if no women are present
\newcommand{\MinutesPresentMen}{فراس مراد؛ متین توکلی؛ رضا اسفندیاری؛ امیرمهدی کرمی؛ سید محمد سجادی؛ سام قربانی}
\newcommand{\MinutesPresentWomen}{اعظم باغستانی؛ فاطمه طاهری} % Leave empty or use '-' if no women are present
\newcommand{\MinutesAbsentMen}{-} % Leave empty or use '-' if no men are absent
\newcommand{\MinutesAbsentWomen}{-} % Leave empty or use '-' if no women are absent
\newcommand{\MinutesAgenda}{
۱. قرائت قرآن و مرور مصوبات قبلی \\
۲. ارائه مجموعه راهبردها \\
۳. بررسی وضعیت واحدها
۱. توسعه پلتفرم‌های تعاملی و وب‌سایت \\
۲. توسعه سامانه‌های هوشمند و داده‌محور \\
۳. بررسی امور کسب‌وکار و مالی \\
۴. تأمین زیرساخت و رویدادها
}
\newcommand{\MinutesGroupTitle}{جلسه هفتگی دستیاران نوآوری - \textbf{تیم فنی (T\&T)}}
\newcommand{\MinutesGroupTitle}{جلسه هفتگی دستیاران نوآوری \\ \textbf{تیم فنی \lr{(T\&T)}}}
\newcommand{\MinutesTeamLogo}{team_logo.png}
% --- تنظیمات ظاهری ---

View File

@ -13,9 +13,9 @@
\endfirsthead
\hline
\lr{VPS} & Virtual Private Server & سرور مجازی اختصاصی جهت میزبانی وب‌سایت و سرویس‌ها \\ \hline
\lr{UI} & User Interface & رابط کاربری ظاهری که کاربر مستقیماً با آن تعامل دارد \\ \hline
\lr{UX} & User Experience & تجربه کاربری و نحوه تعامل و روان بودن کار با سیستم \\ \hline
\lr{API} & Application Programming Interface & رابط برنامه‌نویسی کاربردی برای اتصال فرانت‌آند و بک‌آند \\ \hline
\lr{VPS} & \lr{Virtual Private Server} & سرور مجازی اختصاصی جهت میزبانی وب‌سایت و سرویس‌ها \\ \hline
\lr{UI} & \lr{User Interface} & رابط کاربری ظاهری که کاربر مستقیماً با آن تعامل دارد \\ \hline
\lr{UX} & \lr{User Experience} & تجربه کاربری و نحوه تعامل و روان بودن کار با سیستم \\ \hline
\lr{API} & \lr{Application Programming Interface} & رابط برنامه‌نویسی کاربردی برای اتصال فرانت‌آند و بک‌آند \\ \hline
\end{longtable}
\end{center}

View File

@ -3,51 +3,67 @@
\begin{center}
\large\textbf{\textcolor{primary}{موارد بحث و تصویب شده در جلسه:}}
\end{center}
\vspace{0.2cm}
پس از بحث و بررسی، موارد ذیل مورد تصویب قرار گرفت:
\vspace{0.1cm}
% --- Use the custom command for each item ---
% \DiscussionItem{Title}{Description}{Person}{Deadline}
\DiscussionItem{بررسی برنامه عملیاتی سال ۱۴۰۵}
{نسخه اولیه «مجموعه راهبردها و برنامه عملیاتی پارک علم و فناوری در سال ۱۴۰۵» ارائه گردید. مقرر شد این نسخه برای اعضاء هیئت رئیسه ارسال و نکات تکمیلی واحدها دریافت شود.}
{آقای سیدی}
{یک هفته کاری}
\DiscussionItem{توسعه ربات اصلی، پیش‌بینی جام جهانی و انتشار چندکاناله}
{آقای اسفندیاری گزارش توسعه ربات (افزودن شماره ردیف به \lr{PDF}، پشتیبانی، فرم‌ساز، ثبت‌نام تیمی و تقویم شمسی) و پروژه سامانه انتشار چندکاناله (\lr{Multi-channel Publisher}) را ارائه دادند. با دستور ریاست جلسه، مقرر گردید قابلیت پیش‌بینی جام جهانی با افزودن لیدربورد و سیستم قرعه‌کشی گرافیکی تصادفی (۱ تا ۳ نفر) در ربات اصلی تکمیل گردد. همچنین مذاکره برای فروش محصول فرم‌ساز به پلتفرم پیام‌رسان «بله» در دستور کار قرار گرفت.}
{آقای اسفندیاری}
{جلسه آینده}
\DiscussionItem{استفاده از ظرفیت فارغ‌التحصیلان}
{ذیل راهبرد تعیین شده، مقرر شد یک نشست تخصصی با حضور جمعی از دانش‌آموختگان برجسته و کارآفرینان موفق دانشگاه برگزار گردد.}
{آقای قریشی}
{تا پایان ماه جاری}
\DiscussionItem{بررسی و تحلیل پلتفرم‌های باشگاه نوآوری (\lr{Club})}
{مقرر شد نرم‌افزارهای مشابه جهت راه‌اندازی باشگاه (هاب ارتباطی) ارزیابی شوند. این تحقیق باید شامل بررسی دقیق امکانات داخلی، مدل کسب‌وکار (بیزینس پلن)، مدل درآمدی، نحوه جذب ممبر و مکانیزم‌های عضویت این پلتفرم‌ها باشد.}
{آقای قربانی / آقای اسفندیاری}
{نامشخص}
\DiscussionItem{معافیت اجاره‌بهای شرکت‌های منتقل شده}
{با توجه به ساخت و ساز طبقه منفی یک ساختمان ابن‌سینا و انتقال تعدادی از شرکت‌ها به فضاهای دیگر، مقرر شد این شرکت‌ها تا زمان استقرار در فضای جدید از پرداخت اجاره‌بها معاف باشند.}
{امور مالی}
\DiscussionItem{توسعه ماستودون و تحلیل مدل کسب‌وکار تخفیفان}
{آقای توکلی گزارشی از امکانات شبکه اجتماعی ماستودون و دلایل شکست کسب‌وکار تخفیفان ارائه نمودند. مقرر شد گزارش تخفیفان در قالب \lr{LaTeX} تدوین گردد. همچنین تحقیقات بیشتری پیرامون راه‌اندازی لوکال ماستودون روی سرور مجازی (\lr{VPS})، بررسی باشگاه‌های استفاده‌کننده (و دلایل عدم استفاده سایرین) و شناسایی پلتفرم‌های مبتنی بر ماستودون انجام پذیرد.}
{آقای توکلی}
{جلسه آینده}
\DiscussionItem{استراتژی معرفی ماستودون به دانشجویان}
{مقرر گردید تمامی اعضای تیم فنی روی سناریوهای معرفی پلتفرم ماستودون به دانشجویان، شیوه‌های تبلیغات و مارکتینگ، و همچنین تدوین قوانین و مقررات فعالیت در آن هم‌فکری و برنامه‌ریزی نمایند.}
{تمامی اعضا}
{جلسه آینده}
\DiscussionItem{توسعه سرویس ایجاد درگاه پرداخت الکترونیک}
{آقای توکلی گزارش اولیه رویه‌های راه‌اندازی درگاه پرداخت برای وب‌سایت‌ها را ارائه نمودند. مقرر شد مستندات فنی و قانونی این طرح تکمیل، پاک‌نویس و جهت بررسی نهایی ارائه گردد.}
{آقای توکلی}
{هفته آینده}
\DiscussionItem{ارائه ماژول‌های حسگر حضور و داور هوش مصنوعی}
{آقای سجادی ضمن ارائه گزارش پیاده‌سازی حسگر حضور مبتنی بر الگوریتم \lr{YOLO} و سامانه داور هوش مصنوعی، مکلف شدند توسعه این سیستم‌ها را ادامه داده و خروجی‌های دقیق‌تر را در جلسه آتی به نمایش بگذارند.}
{آقای سجادی}
{جلسه آینده}
\DiscussionItem{معماری ماستودون و پروتکل فدیورس}
{آقای قربانی زیرساخت فدیورس و ماستودون را تشریح نمودند. مقرر شد ایشان فایل پاورپوینت ارائه خود را تکمیل کرده و با هماهنگی آقای توکلی، اطلاعات فنی و ساختاری بیشتری در این خصوص کسب نمایند.}
{آقای قربانی}
{جلسه آینده}
\DiscussionItem{توسعه سامانه خزشگر هوشمند اخبار}
{نسخه اولیه خزشگر اخبار توسط آقای کرمی ارائه گردید. مقرر شد طی هفته‌های آتی این سامانه بهبود یافته و نسخه کامل‌تری از آن ارائه شود.}
{آقای کرمی}
{جلسات آینده}
\DiscussionItem{توسعه نقشه شرکت‌ها و مسابقه کسب‌وکار خانوادگی}
{خانم طاهری گزارش پروژه نقشه و مسابقه را ارائه نمودند. مقرر شد ایشان اصلاحات نقشه (بهبود نقاط، اصلاح تعداد، وزن‌دهی، رنگ‌بندی، افزودن سازمان‌ها و چاپ در قطع بزرگ \lr{A3}) را اعمال نمایند. همچنین طرح مسابقه با مشورت دکتر سلیمی و مهندس باقری تکمیل و نسخه نهایی آن ارائه گردد.}
{خانم طاهری}
{جلسه آینده}
\DiscussionItem{تأمین تجهیزات سخت‌افزاری و اکانت‌های نرم‌افزاری}
{جهت جلوگیری از بروز مشکل در اتصال سیستم‌های مختلف (نظیر مک‌بوک) به پروژکتور، مقرر شد آقای بدیعی یک دستگاه هاب (\lr{Hub}) چندمنظوره مجهز به پورت‌های \lr{Type-C}، \lr{USB}، \lr{VGA} و \lr{HDMI} خریداری نمایند. همچنین تهیه \lr{API} سرویس متیس (\lr{Metis AI}) برای پروژه خزشگر و خرید ۲ اکانت هوش مصنوعی \lr{Gemini Pro} جهت استفاده اشتراکی ۱۰ نفر از اعضای تیم فنی به ایشان محول گردید.}
{آقای بدیعی}
{اقدام فوری}
% Minutes_Content/01_minutes_content.tex
\DiscussionItem{بهبود قالب‌های \lr{LaTeX} و تهیه پاورپوینت جامع فنی}
{مقرر گردید آقای بدیعی قالب فعلی صورتجلسات در \lr{LaTeX} را بهبود داده و یک قالب مجزا نیز طراحی نماید. همچنین تهیه یک پاورپوینت جامع فنی شامل ارائه‌های حسگر حضور (۵ اسلاید)، داور هوش مصنوعی (۵ اسلاید) و خزشگر اخبار (۴ اسلاید) به ایشان محول گردید.}
{آقای بدیعی}
{جلسه آینده}
\begin{center}
\large\textbf{\textcolor{primary}{موارد بحث و تصویب شده در جلسه:}}
\end{center}
\vspace{0.2cm}
پس از بحث و بررسی، موارد ذیل مورد تصویب قرار گرفت:
% --- Use the custom command for each item ---
% \DiscussionItem{Title}{Description}{Person}{Deadline}
\DiscussionItem{بررسی برنامه عملیاتی سال ۱۴۰۵}
{نسخه اولیه «مجموعه راهبردها و برنامه عملیاتی پارک علم و فناوری در سال ۱۴۰۵» ارائه گردید. مقرر شد این نسخه برای اعضاء هیئت رئیسه ارسال و نکات تکمیلی واحدها دریافت شود.}
{آقای سیدی}
{یک هفته کاری}
\DiscussionItem{استفاده از ظرفیت فارغ‌التحصیلان}
{ذیل راهبرد تعیین شده، مقرر شد یک نشست تخصصی با حضور جمعی از دانش‌آموختگان برجسته و کارآفرینان موفق دانشگاه برگزار گردد.}
{آقای قریشی}
{تا پایان ماه جاری}
\DiscussionItem{معافیت اجاره‌بهای شرکت‌های منتقل شده}
{با توجه به ساخت و ساز طبقه منفی یک ساختمان ابن‌سینا و انتقال تعدادی از شرکت‌ها به فضاهای دیگر، مقرر شد این شرکت‌ها تا زمان استقرار در فضای جدید از پرداخت اجاره‌بها معاف باشند.}
{امور مالی}
{اقدام فوری}
\DiscussionItem{راه‌اندازی وب‌سایت مستقل پارک علم و فناوری}
{مقرر شد آقای بدیعی با مشارکت آقای فراس مراد، پیرامون خرید دامنه و راه‌اندازی وب‌سایت اختصاصی پارک (به‌صورت کاملاً مستقل از دانشگاه) بررسی‌های لازم را انجام دهند. در این راستا باید فهرستی جامع از تمامی امکانات و نیازمندی‌های این وب‌سایت تدوین گردد.}
{آقای بدیعی / آقای مراد}
{دو هفته آینده}

View File

@ -1,90 +1,178 @@
% System/minutes_team_template.tex
% --- 1. Header Table (Logo right, Title center, Details left, Team Logo far left) ---
\vspace*{-3cm}
\noindent\makebox[\linewidth][c]{
\renewcommand{\arraystretch}{1.5}
\arrayrulecolor{primary}
\begin{tabular}{|
>{\centering\arraybackslash}p{\dimexpr 0.18\textwidth - 2\tabcolsep \relax}|
>{\centering\arraybackslash}p{\dimexpr 0.36\textwidth - 2\tabcolsep \relax}|
>{\centering\arraybackslash}p{\dimexpr 0.28\textwidth - 2\tabcolsep \relax}|
>{\centering\arraybackslash}p{\dimexpr 0.18\textwidth - 2\tabcolsep \relax}|}
\hline
\multirow{4}{*}{\includegraphics[height=1.8cm]{logo.png}} &
\multirow{2}{*}{\Large \textbf{\textcolor{primary}{فرم صورتجلسه}}} &
\textbf{تاریخ:} \MinutesDate &
\multirow{4}{*}{\includegraphics[height=1.8cm]{\MinutesTeamLogo}} \\
& & \textbf{ساعت:} \MinutesStart \ -- \MinutesEnd & \\
& \multirow{2}{=}{\centering \small \MinutesGroupTitle} & \textbf{شماره:} \MinutesNumber & \\
& & \textbf{پیوست:} \MinutesAttachment & \\
\hline
\end{tabular}
}
\arrayrulecolor{black}
\par\vspace{0.4cm}
% --- Logic Macro for Smart Attendees Display ---
% --- 1. Logic Macro for Smart Attendees Display (Auto-Sort & Clean Titles) ---
\newif\ifhasmen
\newif\ifhaswomen
\newcommand{\PrintGroup}[3]{%
\expandafter\def\expandafter\menlist\expandafter{#2} \expandafter\def\expandafter\womenlist\expandafter{#3}
\ExplSyntaxOn
\seq_new:N \l_minutes_names_seq
\regex_new:N \l_minutes_title_regex
\regex_set:Nn \l_minutes_title_regex { ^(\s*(دکتر|مهندس|آقای|آقا|خانم|سرکار\sخانم|استاد)\s*)+ }
\cs_new_protected:Npn \minutes_add_to_seq:n #1
{
\tl_set:Nn \l_tmpa_tl { #1 }
\tl_trim_spaces:N \l_tmpa_tl
\tl_if_empty:NF \l_tmpa_tl
{
\tl_if_eq:NnF \l_tmpa_tl { - }
{
\regex_replace_once:NnN \l_minutes_title_regex { } \l_tmpa_tl
\seq_put_right:NV \l_minutes_names_seq \l_tmpa_tl
}
}
}
\cs_new_protected:Npn \minutes_compare_names:nnTF #1#2#3#4
{
% Split the first name by spaces and extract the last word (family name)
\seq_set_split:Nnn \l_tmpa_seq { ~ } { #1 }
\seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl
% Split the second name by spaces and extract the last word (family name)
\seq_set_split:Nnn \l_tmpb_seq { ~ } { #2 }
\seq_pop_right:NN \l_tmpb_seq \l_tmpb_tl
% If family names are identical, compare full names; otherwise, compare family names
\str_compare:eNeTF { \l_tmpa_tl } = { \l_tmpb_tl }
{ \str_compare:nNnTF { #1 } > { #2 } { #3 } { #4 } }
{ \str_compare:eNeTF { \l_tmpa_tl } > { \l_tmpb_tl } { #3 } { #4 } }
}
\cs_new_protected:Npn \minutes_sort_and_print:nn #1#2
{
\seq_clear:N \l_minutes_names_seq
\seq_set_split:Nnn \l_tmpa_seq { ؛ } { #1 }
\seq_map_inline:Nn \l_tmpa_seq { \minutes_add_to_seq:n { ##1 } }
\seq_set_split:Nnn \l_tmpa_seq { ؛ } { #2 }
\seq_map_inline:Nn \l_tmpa_seq { \minutes_add_to_seq:n { ##1 } }
\seq_if_empty:NTF \l_minutes_names_seq
{ - }
{
\seq_sort:Nn \l_minutes_names_seq
{
\minutes_compare_names:nnTF { ##1 } { ##2 }
{ \sort_return_swapped: }
{ \sort_return_same: }
}
\seq_use:Nnnn \l_minutes_names_seq { ~؛~ } { ~؛~ } { ~؛~ }
}
}
\cs_generate_variant:Nn \minutes_sort_and_print:nn { xx }
\NewDocumentCommand{\SortAndCleanList}{ m m }{
\minutes_sort_and_print:xx { #1 } { #2 }
}
\ExplSyntaxOff
\newcommand{\PrintGroup}[4]{%
\def\emptyval{} \def\dashval{-}
\hasmenfalse \haswomenfalse
% Check if lists are not empty and not dash
\expandafter\def\expandafter\menlist\expandafter{#3}
\ifx\menlist\emptyval\else\ifx\menlist\dashval\else\hasmentrue\fi\fi
\expandafter\def\expandafter\womenlist\expandafter{#4}
\ifx\womenlist\emptyval\else\ifx\womenlist\dashval\else\haswomentrue\fi\fi
\expandafter\def\expandafter\extralist\expandafter{#2}
\ifx\extralist\emptyval\else\hasmentrue\fi
\ifhasmen
\ifhaswomen
\textbf{#1}\\[0.1cm]
\textbf{آقایان / دکتر / مهندس:} #2 \\[0.1cm]
\textbf{خانم‌ها / دکتر / مهندس:} #3
\textbf{#1}\par\vspace{0.1cm}
\textbf{آقایان / دکتر / مهندس:} \SortAndCleanList{#2}{#3} \par\vspace{0.1cm}
\textbf{خانم‌ها / دکتر / مهندس:} \SortAndCleanList{}{#4}
\else
\textbf{#1 آقایان / دکتر / مهندس:} #2
\textbf{#1 آقایان / دکتر / مهندس:} \SortAndCleanList{#2}{#3}
\fi
\else
\ifhaswomen
\textbf{#1 خانم / دکتر / مهندس:} #3
\textbf{#1 خانم‌ها / دکتر / مهندس:} \SortAndCleanList{#2}{#4}
\else
\textbf{#1} -
\fi
\fi
}
% --- 2. Attendees Box ---
\begin{tcolorbox}[enhanced, colback=white, colframe=primary, boxrule=1pt, arc=2mm, right=12pt, left=12pt, top=10pt, bottom=10pt]
\textbf{\faUserTie\ رئیس جلسه:} \MinutesChair \hfill \textbf{\faPenNib\ دبیر جلسه:} \MinutesSecretary \\[-0.1cm]
\textcolor{primary!40}{\rule{\textwidth}{0.5pt}} \\[-0.2cm]
\PrintGroup{حاضرین:}{\MinutesPresentMen}{\MinutesPresentWomen} \\[0.3cm]
\PrintGroup{غائبین:}{\MinutesAbsentMen}{\MinutesAbsentWomen}
\end{tcolorbox}
\vspace{0.4cm}
% --- 2. Consolidated Header & Meta Data Table ---
\vspace*{-1cm}
\begin{tcolorbox}[enhanced, width=\linewidth, colback=white, colframe=primary, boxrule=1pt, arc=3mm, auto outer arc, left=0pt, right=0pt, top=0pt, bottom=0pt, boxsep=0pt]
\renewcommand{\arraystretch}{1.2}
\arrayrulecolor{primary}
\begin{tabular}{
>{\centering\arraybackslash}p{\dimexpr 0.18\linewidth - 2\tabcolsep - \arrayrulewidth \relax}|
>{\centering\arraybackslash}p{\dimexpr 0.36\linewidth - 2\tabcolsep - \arrayrulewidth \relax}|
>{\centering\arraybackslash}p{\dimexpr 0.28\linewidth - 2\tabcolsep - \arrayrulewidth \relax}|
>{\centering\arraybackslash}p{\dimexpr 0.18\linewidth - 2\tabcolsep \relax}}
\multirow{5}{*}{\includegraphics[height=1.8cm]{logo.png}} &
% Changed \vazirfont to \nazaninfont for the main title
\multirow{2}{*}{\Large \nazaninfont \textbf{\textcolor{primary}{فرم صورتجلسه}}} &
\textbf{تاریخ:} \MinutesDate &
% Added \raisebox to push the logo down 0.1cm
\multirow{5}{*}{\raisebox{-0.1cm}{\includegraphics[height=1.8cm]{\MinutesTeamLogo}}} \\
& & \textbf{ساعت:} \MinutesStart \ \lr{--} \MinutesEnd & \\
% Changed \small to \footnotesize to shrink the T&T title
& \multirow{3}{=}{\centering \footnotesize \vazirfont\MinutesGroupTitle} & \textbf{شماره:} \MinutesNumber & \\
& & \textbf{ویرایش:} \MinutesRevision & \\
& & \textbf{پیوست:} \MinutesAttachment & \\
\end{tabular}\par
\vspace{-0.05cm}
{\noindent\textcolor{primary}{\rule{\linewidth}{1pt}}}\par
% --- Agenda Box (Using the new variable) ---
\begin{tcolorbox}[enhanced, colback=white, colframe=primary, boxrule=1pt, arc=2mm, right=12pt, left=12pt, top=10pt, bottom=10pt]
\textbf{\faListUl\ موضوعات جلسه:} \\
% --- Chairman and Secretary Row ---
\noindent\makebox[\linewidth]{%
\begin{minipage}{\dimexpr \linewidth - 0.8cm \relax}
\vspace{0.2cm}
{\small\faUserTie}\hspace{0.4em}\textbf{رئیس جلسه:} \MinutesChair \hfill {\small\faPenNib}\hspace{0.4em}\textbf{دبیر جلسه:} \MinutesSecretary
\vspace{0.1cm}
\end{minipage}%
}\par
{\noindent\textcolor{primary}{\rule{\linewidth}{1pt}}}\par
% --- Attendees Row ---
\noindent\makebox[\linewidth]{%
\begin{minipage}{\dimexpr \linewidth - 0.8cm \relax}
\vspace{0.2cm}
\PrintGroup{حاضرین:}{\MinutesChair ؛ \MinutesSecretary}{\MinutesPresentMen}{\MinutesPresentWomen} \par\vspace{0.2cm}
\PrintGroup{غائبین:}{}{\MinutesAbsentMen}{\MinutesAbsentWomen}
\vspace{0.2cm}
\end{minipage}%
}\par
{\noindent\textcolor{primary}{\rule{\linewidth}{1pt}}}\par
% --- Agenda Row ---
\noindent\makebox[\linewidth]{%
\begin{minipage}{\dimexpr \linewidth - 0.8cm \relax}
\vspace{0.25cm}
{\small\faListUl}\hspace{0.4em}\textbf{موضوعات جلسه:} \par\vspace{0.15cm}
\MinutesAgenda
\vspace{0.25cm}
\end{minipage}%
}
\end{tcolorbox}
\vspace{0.8cm}
\arrayrulecolor{black}
\vspace{0.2cm}
% --- Custom Command for Discussion Items ---
\newcommand{\DiscussionItem}[4]{
\vspace{0.4cm}
\noindent\textbf{\textcolor{primary}{#1}}\par
\vspace{0.1cm}
% Removed the top \vspace to prevent stacking
\noindent\textbf{\textcolor{primary}{\faAngleLeft\hspace{0.4em}#1}}\par
\vspace{0.05cm} % Reduced middle spacing
% --- ADDED: Indent the content and table using a minipage ---
\noindent\hspace*{0.8cm}% Pushes the block inward from the right
\begin{minipage}{\dimexpr\linewidth-0.8cm\relax}
\noindent #2\par
\nopagebreak
\vspace{0.2cm}
\noindent\begin{tabular}{|>{\raggedright\arraybackslash}m{0.45\linewidth}|>{\raggedright\arraybackslash}m{0.45\linewidth}|}
\vspace{0.1cm}
\noindent\begin{tabular}{|>{\raggedright\arraybackslash}m{\dimexpr 0.5\linewidth - 2\tabcolsep - 1.5\arrayrulewidth \relax}|>{\raggedright\arraybackslash}m{\dimexpr 0.5\linewidth - 2\tabcolsep - 1.5\arrayrulewidth \relax}|}
\hline
\rowcolor{tablehead} \textbf{مسئول اقدام:} #3 & \textbf{مهلت:} #4 \\
\hline
\end{tabular}
\vspace{0.2cm}
\end{minipage}\par
\vspace{0.5cm} % Replaced the negative space since minipage handles spacing differently
}
% --- 3. Meeting Content (Agenda, Resolutions, Specific Tables) ---
@ -98,13 +186,14 @@
\vspace{0.2cm}
\begin{table}[h!]
\centering
\renewcommand{\arraystretch}{3.5} % Extra space for physical signing
\renewcommand{\arraystretch}{1.5} % Return to normal stretch for a clean header
\arrayrulecolor{black}
\begin{tabular}{|>{\centering\arraybackslash}m{0.25\linewidth}|>{\centering\arraybackslash}m{0.3\linewidth}|>{\centering\arraybackslash}m{0.35\linewidth}|}
\hline
\rowcolor{tablehead}
\textbf{رئیس جلسه} & \textbf{دبیر جلسه} & \textbf{اعضای حاضر} \\
\MinutesChair & \MinutesSecretary & \small \MinutesPresentMen \ \MinutesPresentWomen \\
% Added \rule[-1.5cm]{0pt}{3cm} to create an invisible 3cm tall box that centers text
\rule[-1.5cm]{0pt}{3cm}\MinutesChair & \MinutesSecretary & \small \SortAndCleanList{}{\MinutesPresentMen ؛ \MinutesPresentWomen} \\
\hline
\end{tabular}
\end{table}

View File

@ -5,7 +5,9 @@
% ==========================================
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage[top=3cm, bottom=3cm, left=3cm, right=3cm]{geometry}
\RequirePackage{titlesec}
\RequirePackage{etoolbox}
\RequirePackage[top=2.2cm, bottom=2.5cm, left=2.5cm, right=2.5cm, headheight=25pt, headsep=0.8cm]{geometry}
\RequirePackage{setspace}
\RequirePackage{parskip}
\RequirePackage{enumitem}
@ -49,18 +51,35 @@
% 3. Typography & Language
% ==========================================
\RequirePackage{xepersian}
\settextfont[Path=Assets/Font/, Extension=.ttf, BoldFont=Vazirmatn-Bold]{Vazirmatn-Regular}
\setlength{\headheight}{47pt}
\setlength{\footskip}{36pt}
% --- Main Text Font ---
\settextfont[Path=Assets/Font/, Extension=.ttf, BoldFont=BNazanin-Bold]{BNazanin}
% --- 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}
\defpersianfont\nazaninfont[Path=Assets/Font/, Extension=.ttf, BoldFont=BNazanin-Bold]{BNazanin}
\defpersianfont\zarfont[Path=Assets/Font/, Extension=.ttf, BoldFont=BZarBd]{BZar}
% --- Apply Fonts to Elements ---
% 1. Sections and Headings (BNazanin)
\titleformat*{\section}{\Large\bfseries\nazaninfont}
\titleformat*{\subsection}{\large\bfseries\nazaninfont}
\titleformat*{\subsubsection}{\normalsize\bfseries\nazaninfont}
% 2. Tables (BZar)
\AtBeginEnvironment{tabular}{\nazaninfont}
\AtBeginEnvironment{longtable}{\nazaninfont}
% ==========================================
% 4. Brand Colors & Formatting
% ==========================================
\definecolor{primary}{RGB}{12, 45, 92}
\definecolor{accentRed}{RGB}{190, 40, 50}
\definecolor{accentYellow}{RGB}{242, 169, 0}
\definecolor{accentTeal}{RGB}{0, 155, 165}
\definecolor{accentDark}{RGB}{20, 30, 45}
\definecolor{primary}{cmyk}{0.87, 0.51, 0.00, 0.64}
\definecolor{accentRed}{cmyk}{0.00, 0.79, 0.74, 0.25}
\definecolor{accentYellow}{cmyk}{0.00, 0.30, 1.00, 0.05}
\definecolor{accentTeal}{cmyk}{1.00, 0.06, 0.00, 0.35}
\definecolor{accentDark}{cmyk}{0.56, 0.33, 0.00, 0.82}
\colorlet{tablehead}{primary!15}
\colorlet{tablephase}{accentDark!8}
@ -172,10 +191,10 @@
\fancyhead[LO]{%
\hspace{1.8cm}%
\llap{\smash{\raisebox{-0.75cm}{\includegraphics[height=1.2cm]{logo.png}}}\hspace{0.3cm}}
\textcolor{primary}{\textbf{\DocTitle}}
\textcolor{primary}{\nazaninfont\textbf{\DocHeaderTitle}}
}
\fancyhead[RE]{%
\textcolor{primary}{\textbf{\DocTitle}}
\textcolor{primary}{\nazaninfont\textbf{\DocHeaderTitle}}
\rlap{\hspace{0.3cm}\smash{\raisebox{-0.75cm}{\includegraphics[height=1.2cm]{logo.png}}}}
\hspace{1.8cm}%
}
@ -203,7 +222,8 @@
\fancyhead[C]{%
\ifModernShapes
\begin{tikzpicture}[remember picture, overlay]
\fill[primary] (current page.north west) -- ++(7.5,0) -- ++(-5, -5.5) -- cycle;
\fill[primary] (current page.north west) -- ++(7.5,0) -- +
+(-5, -5.5) -- cycle;
\fill[accentYellow] (current page.north west) ++(7.5,0) -- ++(0.6,0) -- ++(-5.6, -6.1) -- ++(-0.6,0) -- cycle;
\fill[primary!10] (current page.north west) ++(0, -5.5) -- ++(2.5,0) -- ++(-2.5, -2.5) -- cycle;

View File

@ -5,6 +5,8 @@
% --- فراخوانی تنظیمات کاربر ---
\input{Config/00_config.tex}
\geometry{top=3.5cm, headsep=1.2cm}
\begin{document}
% ==========================================
@ -23,16 +25,16 @@
\vspace*{\stretch{1}}
\begin{center}
\textcolor{accentYellow}{\rule{2.5cm}{1.5pt}} % Subtle gold bridge line
\vspace{0.4cm}
\vspace{0.8cm}
{\Huge \textcolor{primary}{\textbf{\DocTitle}}}
{\Huge \textcolor{primary}{\nazaninfont\textbf{\DocTitle}}}
\vspace{0.8cm}
{\large \textcolor{gray}{\DocSubtitle}}
\vspace{0.5cm}
\textcolor{primary!40}{\rule{1.5cm}{1pt}} % Tiny anchor line at the bottom
\textcolor{accentYellow}{\rule{2.5cm}{1.5pt}} % Subtle gold bridge line
\end{center}
\vspace*{\stretch{2.5}}
@ -115,7 +117,7 @@
% چاپ منابع انگلیسی (چپ‌چین)
\begin{latin}
\printbibliography[keyword=english, title={English References}, resetnumbers=true]
\printbibliography[keyword=english, title={\lr{English References}}, resetnumbers=true]
\end{latin}
\clearpage
@ -132,6 +134,9 @@
\thispagestyle{cover} % Reusing your custom cover style for consistency
\vspace*{\stretch{1}}
\begin{center}
\textcolor{accentYellow}{\rule{2.5cm}{1.5pt}}
\vspace{0.9cm}
\includegraphics[width=5.0cm]{logo.png}
\vspace{0.5cm}

View File

@ -1,29 +0,0 @@
% main_minutes.tex
\documentclass[12pt,a4paper,twoside,fleqn]{article}
\usepackage{System/team_template}
% --- Load the specific minutes configuration ---
\input{Config/00_minutes_config.tex}
\begin{document}
\pagestyle{fancy}
\fancyhf{} % Clear default headers/footers
\renewcommand{\headrulewidth}{0pt}
% Restore background shapes and FontAwesome icons in the center header
\fancyhead[C]{%
\ifModernShapes
\pgfmathtruncatemacro{\pagecycle}{mod(int((\value{page}-1)/2), 2)}
\ifnum\pagecycle=0
\ifodd\value{page} \OddPageShapesA \else \EvenPageShapesA \fi
\else
\ifodd\value{page} \OddPageShapesB \else \EvenPageShapesB \fi
\fi
\fi
}
% Input the specific meeting minutes layout
\input{System/minutes_team_template.tex}
\end{document}

View File

@ -10,6 +10,7 @@
\pagestyle{fancy}
\fancyhf{} % Clear default headers/footers
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[C]{\textcolor{gray}{صفحه \thepage}} % بازگرداندن شماره صفحه
% Restore background shapes and FontAwesome icons in the center header
\fancyhead[C]{%