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>처럼 입력하시면 좋습니다.
figure 환경 안에서 \underaccent 사용시 문제
2014.06.02 10:32
아래 코드와 같이 \ubar 라는 명령을 정의해서 사용하고 있습니다. 그런데 이상하게 figure 환경 안에서 이 명령을 사용하면 에러가 발생 합니다. \ubar 대신 \underline을 이용하면 에러는 발생하지 않는데 해결 방법이 있을까요?
\documentclass{article}
\usepackage{accents}
\newcommand{\ubar}[1]{\underaccent{\bar}{#1}}
\begin{document}
$\ubar{A}$
\begin{figure}[!h]
\caption{$\ubar{A}$}
\end{figure}
\end{document}
댓글 5
-
두텁
2014.06.02 11:10
-
두텁
2014.06.02 11:13
http://ktug.kldpDOTnet/jsboard/read.php?table=operate&no=2124&page=1165
-
mcpark
2014.06.02 14:41
감사합니다. 풀리는 명령에 대한 내용을 읽어 봤음에도 오류를 범했네요...
-
nanim
2014.06.02 18:30
moving arguments에서 fragile인 명령 \underaccent 때문입니다.
두텁 님께서 보여주신 대로 \protect하는 것이 가장 빠르고 일반적이고요,
그밖의 다른 해결방법으로
1. \ubar를 robust로 정의하는 방법
\DeclareRobustCommand{\ubar}[1]{\ensuremath{\underaccent{\bar}}}
2. \underaccent를 robustify하는 방법
2-1
\usepackage{makerobust}
\MakeRobustCommand{\underaccent}
2-2
\usepackage{etoolbox}
\robustify{\underaccent}
-
mcpark
2014.06.07 00:37
답변 감사합니다. 다양한 방법들이 존재하는군요. 저는 \newcommand로 정의하는 단계에서 아예 \protect명령까지 포함시켜서 정의하는 방식을 택했는데 알려주신 방법 중 1번도 깔끔한 것 같습니다. //
사족: 혹시 1번 해법을 참고하시는 다른 분들께서는 {#1}이 빠졌으니 아래와 같이 쓰시길 바랍니다.
\DeclareRobustCommand{\ubar}[1]{\ensuremath{\underaccent{\bar}}{#1}}
\documentclass{article}
\usepackage{accents}
\newcommand{\ubar}[1]{\ensuremath{\underaccent{\bar}{#1}}}
\begin{document}
\ubar{A}
\begin{figure}[!h]
\caption{\protect\ubar{A}}
\end{figure}
\end{document}