اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
+1 رای
789 بازدید

سلام

چگونه می‌توان نماد فاصله خالی یعنی ‍‍\textvisiblespace را سیاه (bold) نمود؟

با تشکر

من پاسخم رو بروز کردم، لطفاً نسخه بروز شده آن را ملاحظه نمایید.
توسط (25.1k امتیاز)
شما \textbf{\texttt{\textvisiblespace}} را امتحان کرده بودید؟ به نظرم آن هم کار کند.
توسط (25.1k امتیاز)
من با دستور \textbf{} به تنهایی کار کرده بودم اما جواب نداد. اما راه حل شما (یعنی ترکیب دو دستور) را امتحان نکرده بودم. به‌هر روی راه حل شما کار می‌کند.
با سپاس
توسط (1.2k امتیاز)
علتش رو در پاسخم داده بودم. علتش اینه که قلم‌های پارسی موجود کاراکتر U+2423  را ندارند.
توسط (25.1k امتیاز)

2 پاسخ

0 رای
 
بهترین پاسخ

نماد فاصله خالی به عنوان یک کاراکتر

نماد فاصله خالی یک کاراکتر است که در یونیکد بصورت U+2423 نمایش داده می‌شود. چنانچه قلمی دارای این کاراکتر باشد، می‌توان آن را با استفاده از دستور بدوی \char حروف‌چینی کرد. من در قلم‌های پارسی ندیده‌ام که این کاراکتر وجود داشته باشد، اما در قلم‌های لاتین وجود دارد. اگر این کاراکتر با قلم تایپ حروف‌چینی شود، شکل زیباتری خواهد داشت:

\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
این نماد
\textbf{\texttt{\char"2423}}،
نماد فاصله خالی است.
\end{document}

حروف‌چینی نماد فاصله خالی با استفاده از دستور \verb

شکل ستاره‌دار دستور \verb یعنی \verb* باعث می‌شود تا فاصله‌های خالی موجود بصورت نماد فاصله خالی حروف‌چینی شود. متأسفانه از آن‌جایی که حروف‌چینی verbatim در لاتک بسیار خاص است و \verb نمی‌توان به عنوان آرگومان یک دستور مورد استفاده قرار بگیرد، نمی‌توانیم از ترکیب \textbf{\verb*| |} استفاده کنیم چون خطا می‌گیرم. قلم دستور \verb و محیط verbatim با دستور \verbatim@font مشخص می‌شود در فایل latex.ltx بصورت زیر تعریف شده است:

\def\verbatim@font{\normalfont\ttfamily}

برای اینکه نماد فاصله خالی سیاه باشد، دستور \verbatim@font را بصورت محلی از نو تعریف می‌کنیم:

\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
این نماد
{%
\makeatletter%
\renewcommand*{\verbatim@font}{\normalfont\bfseries\ttfamily}%
\makeatother%
\verb*| |%
},
نماد فاصله خالی است.
\end{document}

این در واقع معادل همان \textbf{\texttt{\char"2423}} است و به جای این همه دنگ و فنگ، همان تایپ کردن \textbf{\texttt{\char"2423}} (نمونه اول) راحت‌تر است.

نماد فاصله خالی به عنوان یک شکل

ماکروی \textvisiblespace در واقع نماد فاصله خالی را رسم می‌کند (دیگر نماد فاصله خالی یک کاراکتر نیست). این دستور بصورت زیر در فایل latex.ltx تعریف شده است:

\DeclareTextCommandDefault{\textvisiblespace}{%
   \mbox{\kern.06em\vrule \@height.3ex}%
   \vbox{\hrule \@width.3em}%
   \hbox{\vrule \@height.3ex}}

برای اینکه نسخه سیاهی از \textvisiblespace را داشته باشیم، می‌توانیم دستوری به نام \textboldvisiblespace تعریف کنیم که در آن ضخامت خط‌ها را 1pt در دستور \textvisiblespace نماییم:

\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\makeatletter
\DeclareTextCommandDefault{\textboldvisiblespace}{%
   \mbox{\kern.06em\vrule \@height.4ex \@width1pt}%
   \vbox{\hrule \@width.3em \@height1pt}%
   \hbox{\vrule \@height.4ex \@width1pt}}
\makeatother
\begin{document}
این نماد
\textboldvisiblespace,
نماد فاصله خالی است.
\end{document}

من ارتفاع دو خط عمودی رو از 0.3ex به 0.4ex تغییر دادم تا نماد فاصله خالی سیاه شکل مناسبی داشته باشه چون وقتی ضخامت خط افقی را زیاد می‌کنیم، خط‌های عمودی ارتفاع خودشون رو از دست می‌دهند.

از توضیحات جامع شما تشکر می‌کنم.
توسط (1.2k امتیاز)
+1 رای

راه حل پیشنهادی من به شکل زیر است. خودتان می‌توانید با تغییر اندازه‌ها دستور دلخواه را بدست آورید.

\documentclass{article}
\newcommand\mytextvisiblespace{%
\mbox{\kern.06em\rule{1pt}{3pt}}%
\mbox{\rule{4pt}{1pt}}%
\mbox{\rule{1pt}{3pt}}}
\begin{document}
‍\textvisiblespace  \mytextvisiblespace
\end{document}
پرسیدن سوال
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.1k پرسش

6.6k پاسخ

23.5k نظر

7.5k کاربر

محبوب‌ترین برچسب‌ها

رفع خطا جدول xepersian مراجع ریاضی‌نویسی شکل bidi فونت فهرست مطالب شماره‌گذاری منابع پانویس بیب‌تک tikz parsilatex تک‌لایو بیمر اسلاید زی‌پرشین پاورقی bibtex سربرگ نماد رسم شکل فرمول‌نویسی ارجاع‌دهی biditexmaker هدر ویرایشگر قالب beamer واژه‌نامه اندازه فونت texstudio عنوان فصل ماتریس اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول شماره صفحه bidipresentation حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture enumerate حروف‌چینی کد شماره فصل tabriz_thesis نمایه align زیرنویس شکل کادر itemize فهرست اشکال الگوریتم عدم اجرا listings نیم‌فاصله متن لاتین و فارسی بسته فاصله بین خطوط قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک hyperref شماره فرمول glossaries کپشن نمودار خروجی لاتک حروف‌چینی چندستونی فونت فارسی و انگلیسی ماکرونویسی biditools شماره پاورقی پیوست‌ سوال امتحانی فاصله‌گذاری فرمول چندضابطه‌ای extrafootnotefeatures subfigure biditufte-book header texmaker pdf خطا tex longtable تصویر شمارنده زیرنویس texlive2015 دیاگرام رسم نمودار شماره‌گذاری صفحات پایان نامه فهرست جداول میک‌تک texlive2016 تنظیم جدول آکولاد شعر kashida بولد تورفتگی texworks caption اندیس اعداد فارسی lollipop iust-thesis multicol فصل‌نویسی سوال چهارگزینه‌ای فاصله عمودی pgfplots xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry xelatex texlive fancyhdr وسط‌چینی تک لایو 2015 tcolorbox عنوان بخش شماره گذاری به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی کاما پوستر فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد قرآن tabriz-thesis
...