نماد فاصله خالی به عنوان یک کاراکتر
نماد فاصله خالی یک کاراکتر است که در یونیکد بصورت 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
تغییر دادم تا نماد فاصله خالی سیاه شکل مناسبی داشته باشه چون وقتی ضخامت خط افقی را زیاد میکنیم، خطهای عمودی ارتفاع خودشون رو از دست میدهند.