تالار گفتگوی پارسی‌لاتک

لاتک LATEX => حروف‌چینی مستندات => نويسنده: ابوالفضل دیانت در سپتامبر 13, 2014, 07:59:03 pm

عنوان: خطا در چاپ دستور زمان حال
رسال شده توسط: ابوالفضل دیانت در سپتامبر 13, 2014, 07:59:03 pm
با سلام
قبلا یک دستور به صورت زیر در سایت بود که اجرا می شد.
\documentclass{report}
\usepackage{xepersian}

\settextfont{XB Niloofar}
\setlatintextfont{Times New Roman}

\newcommand{\myData}{
\شمارجدید\ساعت
\شمارجدید\دقیقه
\تر\زمان‌به‌وقت‌امروز{%
\ساعت \زمان \تقسیم \ساعت 60  ساعت \محتوای\ساعت {}
\دقیقه \زمان \ضرب \ساعت 60 \بیفزابر \دقیقه -\ساعت
\گرعدد\دقیقه=0\گرنه و \محتوای\دقیقه{} دقیقه\رگ }
\امروز{} در  \زمان‌به‌وقت‌امروز{}
} %M

\begin{document}
\myData

\end{document}
اما الان با خطا مواجه می شوم. فایل .log اتچ شده است.

عنوان: پاسخ : خطا در چاپ دستور زمان حال
رسال شده توسط: vafa در سپتامبر 13, 2014, 08:06:27 pm
در نسخه 14.6 گزینه localise بصورت پیش‌فرض فعال نیست و خودت باید فعالش کنی:
\usepackage[localise]{xepersian}
برای توضیحات بیشتر پست زیر را ببین:

http://www.parsilatex.com/forum/SMF/index.php?topic=6945.0
عنوان: پاسخ : خطا در چاپ دستور زمان حال
رسال شده توسط: ابوالفضل دیانت در سپتامبر 22, 2014, 10:32:37 am
باسلام
برای این که از گزینه localise به خاطر همان مباحث سرعت استفاده نکنم، باید دستورات را به انگلیسی بنویسم؟
من کد زیر را نوشتم اما با خطا مواجه می شوم، در حالیکه دقیقا به مانند حالت فارسی است؟ البته فکر کنم یکی باشد.
\documentclass{report}

\usepackage{xepersian}

\settextfont{XB Niloofar}
\setlatintextfont{Times New Roman}

\newcommand{\myDate}{
\newcount \clock
\newcount \min
\def\dateToday{%
\clock‎\time \divide   \clock 60 \the \clock{}
\min \time \multiply \clock 60 \advance \min -\clock
\ifnum\min=0 \else و \the \min{} دقیقه  \fi }
\today{} در \dateToday{}
} %M

\begin{document}
\myDate

\end{document}
عنوان: پاسخ : خطا در چاپ دستور زمان حال
رسال شده توسط: vafa در سپتامبر 22, 2014, 11:20:22 am
باسلام
برای این که از گزینه localise به خاطر همان مباحث سرعت استفاده نکنم، باید دستورات را به انگلیسی بنویسم؟
در صورت عدم استفاده از گزینه localise باید دستورات بصورت انگلیسی نوشته شوند.
نقل قول
من کد زیر را نوشتم اما با خطا مواجه می شوم، در حالیکه دقیقا به مانند حالت فارسی است؟ البته فکر کنم یکی باشد.
\documentclass{report}

\usepackage{xepersian}

\settextfont{XB Niloofar}
\setlatintextfont{Times New Roman}

\newcommand{\myDate}{
\newcount \clock
\newcount \min
\def\dateToday{%
\clock‎\time \divide   \clock 60 \the \clock{}
\min \time \multiply \clock 60 \advance \min -\clock
\ifnum\min=0 \else و \the \min{} دقیقه  \fi }
\today{} در \dateToday{}
} %M

\begin{document}
\myDate

\end{document}
فکر کنم کاراکتر نامرعی توی فایلت بوده به همین خاطر خطا گرفته. من همه رو از نو نوشتم و خطایی نداشت. در ضمن در این دستور منظور از \ساعت \hour بوده که من در کد شما \clock را به \hour تغییر دادم:
\documentclass{report}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\setlatintextfont{Times New Roman}
\newcount \hour
\newcount \min
\newcommand*{\timeoftoday}{%
    \hour\time\divide\hour 60 ساعت \the\hour{}
    \min\time\multiply\hour 60 \advance\min-\hour
    \ifnum\min=0
    \else
و
     \the\min{} دقیقه
     \fi}
\begin{document}
\today{}
در
\timeoftoday

\end{document}