Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
\soul package와 \ulem package에 관한 질문입니다.
2022.08.07 06:54
안녕하십니까?
그간 ulem package로 밑줄 (\uline), 삭제 (\sout) 등을 사용했습니다. 그러다가 soul package를 사용하면 줄바꿈 (line breaks)을 쉽게 처리할 수 있다는 점을 알게 되었습니다 (https://tex.stackexchange.com/questions/74893/strikeout-when-which-package-ulem-vs-soul-vs)
이 자료를 제 경우에 활용해 보려고 다음과 같은 파일을 만들었습니다.
\documentclass{article} \usepackage{polyglossia} \setmainlanguage{english} \usepackage{xeCJK} \usepackage{soul,ulem} \begin{document} \uline{rvā} \ul{rvā} \uline{四無量} \ul{四無量} \end{document}
이를 실행할 때 \uline은 문제 없이 잘 작동합니다. 하지만 \ul{rvā}는 "rv"까지만 출력되고 \ul{四無量}에서는 아예 에러가 나옵니다.
soul package의 에러 코드를 찾아 보니 아마도 다음 항목에 해당할 것 같습니다. 그런데 기초가 부족하다보니 어떻게 하라는 것인지 읽어도 이해를 하지 못하고 있습니다.
§ 23 Leaking font switches:
Example: \def\foo{\bf bar} \so{\foo baz}
A hidden font switching command that leaks into its neighborship causes a ‘Reconstruction failed’ error. To avoid this either register the ‘container’ (\soulregister{\foo}{0}), or limit its scope as in
\def\foo{{\bf bar}}. Note that both solutions yield slightly different results.
2.3.1 ‘Reconstruction failed’
This message appears, if § 20 or § 23 was violated. It is caused by the fact that the reconstruction pass couldn’t collect tokens with an overall width of the syllable that was measured by the analyzer. This does either occur when you grouped hyphenatable text or used an unregistered command that influences the syllable width. Font switching commands belong to the latter group. See the above cited sections for how to fix these problems.
그래서 이런 경우 다국어 환경에서 \ul{}을 활용하려면 어떻게 해야 하는지 여쭈고 싶습니다. 참고로 제 작업 환경은 다음과 같습니다.
MacOS Monterey Version 12.5
TeXShop Version 4.79
여기까지 읽어 주셔서 감사합니다.
간단히 말씀드리면, soul 패키지는 pdflatex 엔진에서 ascii 라틴 글자에 대해서만 동작합니다. (pdflatex + inputenc 방식으로 입력된 Latin1 확장 라틴 문자에 대하여 soul이 동작하게 해주는 soulutf8이 있고, (TeX Live로 배포되지는 않지만) xelatex에서 ascii 라틴 + 확장 라틴 문자에 대해서 soul이 동작하도록 지원하는 xesoul이라는 게 있기는 하지만 모두 동아시아 문자나 비 라틴문자에 대해서는 동작하지 않습니다.) xetex 상황이나 다국어 상황에서는 쓸 수 없는 물건입니다.