
xelatex
다음 LaTeX 원고에서 얻은 PDF에서 (히브리어) 텍스트의 첫 번째 줄을 들여쓰기 하는 이유는 무엇입니까 ?
\documentclass{scrartcl}
\catcode8198=10 % Left-To-Right Mark
\catcode8199=10 % Right-To-Left Mark
\catcode8234=10 % Left-To-Right Embedding
\catcode8235=10 % Right-To-Left Embedding
\catcode8236=10 % Pop Directional Formatting
\usepackage{fontspec}
\setmainfont{Arial Hebrew}
\usepackage[rldocument]{bidi}
\begin{document}
\setRTL
\noindent פְּרֶצְל מנסה לישון, על מנת להחיש את מהלך הזמן. אדם הולך לו לישון בשתים-עשרה, קם כעבור רגע, והנה השעה שבע בבוקר, ומתברר שהוא השתמש בשינה בתור סוס, לדלג על שבע שעות. תחבולה זו ידועה היטב לטבע. מה עושה הטבע נגדה? נותן לפרש הערמומי להירדם בשתים-עשרה, מציף אותו בהרבה סיוטים, וכשהפרש קם תשוש ומזיע ואומר לעצמו בחצי סיפוק "לפחות עברו שבע שעות," מייד קופץ שעונו ומורה שתים-עשרה ורבע. גם לא ישנת, בסיוטים סוייטת, וכל הלילה עוד לפניך.
\end{document}
조판 출력:
보이지 않는 bidi(양방향성) 마커에 대한 참고 사항
이 \noindent
모든 히브리어 본문 앞에 나타납니다. 이 곳은 \noindent
비디 마커로 둘러싸여 있습니다. 바로 앞에는 유니코드 오른쪽에서 왼쪽 표시(U+200F)와 왼쪽에서 오른쪽 임베딩(U+202A)이라는 두 개의 마커가 순서대로 옵니다. 바로 뒤에는 Pop Directional Formatting(U+202C) 마커가 옵니다. 따라서 문자 순서는 왼쪽에서 오른쪽으로 다음과 같습니다.
U+200F, U+202A, \, n, o, i, n, d, e, n, t, U+202C, U+0020 (a space), <Hebrew text>
이를 시각화하는 데 도움이 되도록 다음 그림을 활용하십시오.
전설
⊳ ... 오른쪽에서 왼쪽으로 표시, U+200F(rtl 단락 내에서 ⊲로 조판)
⋉ ... 왼쪽에서 오른쪽으로 삽입, U+202A
⋈ ... 팝 방향 서식, U+202C
이러한 각 기호는 편집기 창에서 조판되었습니다.~ 후에그것이 나타내는 명령이 적용되었습니다.
답변1
문제는 문단 시작 부분에 U+200F를 넣는 것입니다. 이는 catcode 12 토큰인 'other'이므로 단락을 시작하여 단락 들여쓰기 및 의 삽입을 트리거합니다 \everypar
. 인쇄되지 않는다는 사실은 TeX에 아무런 차이가 없습니다. 따라서 \noindent
단락이 시작된 후에 발생하며 전혀 아무 작업도 수행하지 않습니다.
(문서 시작 부분의 catcode 설정은 8198 = U+2006
= SIX-PER-EM SPACE
및 8199 = U+2007
= 처럼 의도한 것이 아닐 가능성이 높습니다 FIGURE SPACE
.)
답변2
일반적으로 유니코드 방향 컨트롤에 catcode 10을 지정하는 것은 옳지 않습니다. 그러면 형식을 제어할 수 없고 비정상적인 공간이 생성되기 때문입니다.
문자열을 고려하십시오
abcxyz123
그건
U+0061 LATIN SMALL LETTER A a
U+0062 LATIN SMALL LETTER B b
U+0063 LATIN SMALL LETTER C c
U+202e RIGHT-TO-LEFT OVERRIDE
U+0078 LATIN SMALL LETTER X x
U+0079 LATIN SMALL LETTER Y y
U+007a LATIN SMALL LETTER Z z
U+202c POP DIRECTIONAL FORMATTING
U+0031 DIGIT ONE 1
U+0032 DIGIT TWO 2
U+0033 DIGIT THREE 3
기본 catcode(12= "other")로 설정된 경우
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Arial}
%\catcode"202E=10
%\catcode"202C=10
\begin{document}
abcxyz123
\end{document}
생산하다
브라우저의 표시와 일치하는 지정된 순서는 무엇입니까? 그러나 컨트롤을 catcode 10으로 만들기 위해 선언의 주석 처리를 해제하면 다음과 같은 결과가 나타납니다.
방향 변화가 없고 가짜 공간이 있습니다.