لینکها و رنگها از امکانات خود تک نیستند بلکه با استفاده از دستور \special ایجاد میشوند. برای اینکه به عنوان مثال نحوه کار کردن بسته color را بدانید، در سطح خیلی پایین این کاری است که بسته color برای رنگ کردن انجام میدهد:
This is \special{color push rgb 1 0 0}RED COLOR\special{color pop} as you can see.
\bye
اگر نام این فایل test.tex باشد، میتوانید آن را با دستور xetex test پردازش کنید و خروجی را ببینید.
حالا اگر دستورات بدوی \beginR و \endR را دور متن رنگی قرار دهید:
\TeXXeTstate=1
This is \beginR\special{color push rgb 1 0 0}RED COLOR\special{color pop}\endR{} as you can see.
\bye
میبینید که رنگ به متن مورد نظر اعمال نشده است. در واقع وقتی دو \special با \beginR...\endR محصور میشود، جای دو \special عوض میشود. اگر جای دو \special را عوض کنید مشکل حل میشود:
\TeXXeTstate=1
This is \beginR\special{color pop}RED COLOR\special{color push rgb 1 0 0}\endR{} as you can see.
\bye
و این دقیقاً کاری است که بسته bidi برای حل مشکل بستههایی چون hyperref و color میکند. اما چنانچه متن رنگی شما بیشتر از یک خط باشد، این روش دیگر کار نخواهد کرد:
\TeXXeTstate=1
This is \beginR\special{color pop}RED COLOR as you can see and this can go to the next line too as you can see and here is the rest as we need to do\special{color push rgb 1 0 0}\endR{} as you can see.
\bye
مشکل فوق باگ موتور e-tex است و با ماکرونویسی قابل حل نیست. بنابراین تا زمانی که مشکل فوق در موتور e-tex حل نشود، در زیپرشین نیز مشکل وجود خواهد داشت.