diff --git a/Assets/Font/Arabic Typesetting.ttf b/Assets/Font/Arabic Typesetting.ttf new file mode 100644 index 0000000..38c62d3 Binary files /dev/null and b/Assets/Font/Arabic Typesetting.ttf differ diff --git a/Assets/Font/BNazanin-Bold.ttf b/Assets/Font/BNazanin-Bold.ttf new file mode 100644 index 0000000..befb5ea Binary files /dev/null and b/Assets/Font/BNazanin-Bold.ttf differ diff --git a/Assets/Font/BNazanin.ttf b/Assets/Font/BNazanin.ttf new file mode 100644 index 0000000..bcc1f75 Binary files /dev/null and b/Assets/Font/BNazanin.ttf differ diff --git a/Assets/Font/BZar.ttf b/Assets/Font/BZar.ttf new file mode 100644 index 0000000..2b3db54 Binary files /dev/null and b/Assets/Font/BZar.ttf differ diff --git a/Assets/Font/BZarBd.ttf b/Assets/Font/BZarBd.ttf new file mode 100644 index 0000000..0a0ee32 Binary files /dev/null and b/Assets/Font/BZarBd.ttf differ diff --git a/Config/00_config.tex b/Config/00_config.tex index f4f5a10..ec52b08 100644 --- a/Config/00_config.tex +++ b/Config/00_config.tex @@ -5,7 +5,8 @@ % ----------------------------------------------------------------- % ۱. اطلاعات اصلی سند (بیشترین میزان تغییر) % ----------------------------------------------------------------- -\newcommand{\DocTitle}{عنوان اصلی مستندات پروژه} +\newcommand{\DocTitle}{عنوان اصلی و کامل برای مستندات پروژه} +\newcommand{\DocHeaderTitle}{عنوان کوتاه مستند} \newcommand{\DocSubtitle}{توضیحات کوتاه یا زیرعنوان مستند} \newcommand{\DocVersion}{1.0.3} \newcommand{\DocID}{\lr{[DOC-PRJ-01]}} diff --git a/Config/00_minutes_config.tex b/Config/00_minutes_config.tex index a9d245e..1896c73 100644 --- a/Config/00_minutes_config.tex +++ b/Config/00_minutes_config.tex @@ -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} % --- تنظیمات ظاهری --- diff --git a/Content/03_glossary.tex b/Content/03_glossary.tex index 7bd7e35..03a3a48 100644 --- a/Content/03_glossary.tex +++ b/Content/03_glossary.tex @@ -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} \ No newline at end of file diff --git a/Minutes_Content/01_minutes_content.tex b/Minutes_Content/01_minutes_content.tex index 770fef9..540779d 100644 --- a/Minutes_Content/01_minutes_content.tex +++ b/Minutes_Content/01_minutes_content.tex @@ -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{معافیت اجاره‌بهای شرکت‌های منتقل شده} -{با توجه به ساخت و ساز طبقه منفی یک ساختمان ابن‌سینا و انتقال تعدادی از شرکت‌ها به فضاهای دیگر، مقرر شد این شرکت‌ها تا زمان استقرار در فضای جدید از پرداخت اجاره‌بها معاف باشند.} -{امور مالی} -{اقدام فوری} \ No newline at end of file +\DiscussionItem{راه‌اندازی وب‌سایت مستقل پارک علم و فناوری} +{مقرر شد آقای بدیعی با مشارکت آقای فراس مراد، پیرامون خرید دامنه و راه‌اندازی وب‌سایت اختصاصی پارک (به‌صورت کاملاً مستقل از دانشگاه) بررسی‌های لازم را انجام دهند. در این راستا باید فهرستی جامع از تمامی امکانات و نیازمندی‌های این وب‌سایت تدوین گردد.} +{آقای بدیعی / آقای مراد} +{دو هفته آینده} \ No newline at end of file diff --git a/System/minutes_team_template.tex b/System/minutes_team_template.tex index 6916804..df1fbd7 100644 --- a/System/minutes_team_template.tex +++ b/System/minutes_team_template.tex @@ -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} +% --- 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 + +% --- 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.4cm} -% --- 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\ موضوعات جلسه:} \\ - \MinutesAgenda -\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} - \noindent #2\par - \nopagebreak - \vspace{0.2cm} - \noindent\begin{tabular}{|>{\raggedright\arraybackslash}m{0.45\linewidth}|>{\raggedright\arraybackslash}m{0.45\linewidth}|} - \hline - \rowcolor{tablehead} \textbf{مسئول اقدام:} #3 & \textbf{مهلت:} #4 \\ - \hline - \end{tabular} - \vspace{0.2cm} + % 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 + \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} + \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} \ No newline at end of file diff --git a/System/team_template.sty b/System/team_template.sty index 6054500..3f5ef39 100644 --- a/System/team_template.sty +++ b/System/team_template.sty @@ -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; diff --git a/main.tex b/main.tex index 9214852..68b4d42 100644 --- a/main.tex +++ b/main.tex @@ -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} diff --git a/main_minutes.tex b/main_minutes.tex deleted file mode 100644 index 179fe52..0000000 --- a/main_minutes.tex +++ /dev/null @@ -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} \ No newline at end of file diff --git a/minutes_main.tex b/minutes_main.tex index 179fe52..bf1d0dd 100644 --- a/minutes_main.tex +++ b/minutes_main.tex @@ -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]{%