
이번 주의 Eyal의 바벨+히브리어(또는 오른쪽에서 왼쪽으로) 비호환성을 위한 시간입니다. 이번에는 다시 하이퍼참조입니다.
당신이 가지고 있다면:
\documentclass{article}
\usepackage[hebrew,english]{babel}
\usepackage{hyperref}
\begin{document}
\selectlanguage{hebrew}
מלל בעברית, \L{Some English within the Hebrew} ועוד עברית לאחר מכן.
\end{document}
당신은 다음을 얻습니다:
하이퍼참조 없이 바벨만 사용하면 다음과 같은 예상 효과를 얻을 수 있습니다 \L
.
이 문제는 해결하기 매우 쉽습니다. 하지만 방금 알아차렸고, 다른 babel+hyperref 호환성 문제의 이상한 부분이라고 생각했습니다. 하이퍼레퍼런스가 왜 이런 일을 할까요?
관심있는 분들을 위해 여기Ł 캐릭터에 대한 정보.
답변1
확실한 해결 방법은 다음과 같습니다.
\documentclass{article}
\usepackage[hebrew,english]{babel}
\usepackage{hyperref}
\def\L{\protect\pL}
\begin{document}
\selectlanguage{hebrew}
מלל בעברית, \L{Some English within the Hebrew} ועוד עברית לאחר מכן.
\end{document}
\L
이것은 Lifted from 의 정의입니다 rlbabel.def
. 또는 자체를 사용하지 말아야 한다는 것을 기억할 수 있으면 \L
다시 정의하지 말고 다음과 같은 것을 사용하세요 \def\babelL{\protect\pL}
.
답변2
분명히 그들은 그것이 \L
논쟁의 여지가 있을 것이라고 예상했기 때문에 rlbabel은 그 정의를 복원하기 위한 매크로를 제공합니다.
\documentclass{article}
\usepackage[hebrew,english]{babel}
\usepackage{hyperref}
\HeblatexRedefineL % this stands for \def\L{\protect\pL}
\begin{document}
\selectlanguage{hebrew}
מלל בעברית, \L{Some English within the Hebrew} ועוד עברית לאחר מכן.
\end{document}
추신: 디버깅하는 동안 제가 겪은 성가신 문제는 왼쪽에서 오른쪽으로의 의미를 복원하자마자 Command \hebalef unavailable in encoding T1.
오류가 발생하기 시작했다는 것입니다. 종료되지 않은 문자가 있다는 것을 알아차리는 데 오랜 시간이 걸렸습니다 \L{...
(이전에는 Ł를 출력했지만 문자가 작동하는 히브리어 모드로 남아 있음).