
IAST의 Devanagari에 있는 단다 기호를 얻으려고 합니다. 내 코드는
\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}
\sd
서문에서 선언한 것을 사용하면 \rom 환경에서 단다를 얻을 수 있습니다. 프리앰블의 일부 선언을 사용하여 \rom
환경 에서 단다를 직접 얻을 수 있는 방법이 있습니까 ?\sd
답변1
다음 두 줄을 추가하여 문자를 |
활성 문자로 선언하고(매크로처럼 처리되도록) 와 동일한 정의를 제공 할 수 있습니다.\sd
\catcode`|=\active
\let|=\sd
예제 수정:
\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}
산출:
실제로는 해당 줄을 파일 맨 위에 두는 것이 좋습니다. \sd
정의된 이후인지 확인하세요 (그리고 |
데바나가리 단다 이외의 목적으로 사용되는 파일의 모든 문자 이후).