IAST'ta Devanagari'de danda almak
Geçtiğimiz günlerde Devanagari'de bulunan danda sembolünü almaya çalışıyorum. Benim kodum
\documentclass[letterpaper,12pt]{article}
\usepackage{fontspec}
\newfontfamily{\san}[Script=Devanagari,Mapping=velthuis-sanskrit]{Shobhika}
\newfontfamily{\rom}[Mapping=itrans-iast]{Noto Serif}
\newcommand{\sd}{{\san|}}
\begin{document}
{\san
namaste|
}\\
{\rom
namaste{\sd}
}\\
{\rom
namaste|
}
\end{document}
Ben kullandığınızda \sdben gerekçesinde ilan eden ben \ rom ortamında danda alabilirsiniz. Önsözdeki bazı bildirimleri kullanmadan \romçevrede danda'yı doğrudan elde etmenin bir yolu var mı \sd?
Yanıtlar
Karakteri |aktif bir karakter olarak ilan edebilir (böylece bir makro gibi ele alınır) ve \sdşu iki satırı ekleyerek ona sizinki ile aynı tanımı verebilirsiniz :
\catcode`|=\active
\let|=\sd
Örneğinizi değiştirmek:
\documentclass[letterpaper,12pt]{article}
\usepackage{fontspec}
\newfontfamily{\san}[Script=Devanagari,Mapping=velthuis-sanskrit]{Shobhika}
\newfontfamily{\rom}[Mapping=itrans-iast]{Noto Serif}
\newcommand{\sd}{{\san|}}
\begin{document}
{\san
namaste|
}
{\rom
namaste{\sd}
}
{\rom
namaste| (before)
}
\catcode`|=\active
\let|=\sd
{\rom
namaste| (after)
}
\end{document}
Çıktı:
Pratikte muhtemelen bu satırları dosyanın en üstüne koymak istersiniz; sadece sonradan \sdtanımlandığından emin olun (ve |dosyanızda Devanagari danda dışında herhangi bir amaçla kullanılan herhangi bir karakterden sonra ).