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>처럼 입력하시면 좋습니다.
memoir document class에서 \rm font를 어떻게 사용하나요?
2014.09.22 01:47
안녕하세요. 제가 이번에 박사 논문을 쓰는데, memoir class를 이용해서 씁니다. 제가 쓴 논문이 하나 있고, 교수님하고 같이 쓴 논문이 하나 있어 두개의 논문을 박사 논문의 집어넣을려고 하는데, 문제는 두 논문의 form, 즉 그러니까 텍의 형식이 조금 다릅니다.
전 텍은 잘 몰라서 첫번째 제가 쓴 논문은 어떤 사람이 저에게 준 form에 제가 내용을 첨가해서 하나 완성을 하였고, 다른 하나는 교수님이 갖고 계신 form에 제가 조금씩 내용을 채우고 수정하는 형식으로 두번째 논문을 완성하였습니다. 그래서 이 두 form이 다른데요, 그런데 두번째 논문에서 다음과 같은 \I 라는 기호를 \rm{Im} 를 이용해서 정의했습니다. \def\I{\text{\rm{Im}}\,} 이렇게요.
그런데 \rm이라는 명령어가 memoir class에서는 인식이 안되나 봅니다. 컴파일하면 \I라는 텍 명령어가 있는 부분에서 에러가 생기는데,
" ! Class memoir Error: Font command \rm is not supported. "
이렇게 나옵니다.
memoir에서도 \rm명령어를 사용하게 하려면 어떻게 해야 할까요?
이미 명명되어진 용어들을 하나하나 다 바꾸자니 힘든 작업이 될거 같아서요.
그리고 또 한가지 질문이 있습니다. 첫번째 논문에서 \R이라는 기호를 이미 정의했는데, 그런데 두번째 논문에서도 이 기호를 다른 의미로 정의했습니다. 즉, 첫번째 논문에서는 \def\R{\mathbb{R}} 정의했는데, 그런데 두번째 논문에서는 \def\R{\text{\rm{Re}}\,}이렇게 정의했습니다.
이 두 논문을 하나의 박사논문안에 집어넣어야 하는데, 두번째 기호를 하나하나 찾아서 일일이 바꾸는 거 말고 일률적으로 한번에 바꿀 수 있는 좋은 아이디어가 없을까요?(물론, 컴파일하면 여기도 \rm이라는 명령어가 있어서 중복 에러 전에 폰트 오류에 대한 메시지가 먼저 뜹니다.)
고수분들의 도움을 간절히 부탁드립니다.
(ps:혹시 제 질문을 잘 이해하지 못하실 수도 있을 것 같아서 제가 tex파일을 첨부했으니 살펴봐주시면 감사하겠습니다. 설명해주셔도 되고 여기다가 바로 수정해 주셔도 됩니다.)
댓글 6
-
yihoze
2014.09.22 08:50
-
초보
2014.09.22 11:51
아, 죄송합니다. 제가 깜빡했네요. 위에 파일을 다시 첨부하였습니다.
-
나병모
2014.09.22 11:35
1. memoir class에서는 \rm 대신 \textrm이라 씁니다. 마찬가지로 \it는 \textit, \bf는 \textbf, \sc는 \textsc라고 합니다.
2. 동일한 명칭으로 정의된 명령의 경우 하나를 모두 바꿔야 하지 않나요? \def가 preamble에 들어가야 하지 않나요?
(나병모님께서 작성하신 글이나, 첨부화일에 논문전문이 들어 있어 관리자가 삭제합니다.)
-
초보
2014.09.22 18:29
도와주셔서 정말 감사합니다. 초보여서 고생하는 저에세 큰 도움이 되었습니다.^^
-
nanim
2014.09.22 12:37
1. 클래스 옵션에 [oldfontcommands]를 추가하십시오. \documentclass[...,oldfontcommands]{memoir}
2. 이런 상황을 피하는 게 최선이라고 봅니다만... 일단 preamble에 다음 두 명령을 정의하지요.
\newcommand\myR{\mathbb{R}}
\newcommand\profR{\mathrm{Re}}
그런 다음에 \mathbb{R}로 \R이 쓰이는 곳 앞에서
\let\R=\myR
Re로 쓰일 곳 앞에서
\let\R=\profR
===
(1) memoir에서 \rm, \bf 등 소위 LaTeX 2.09 폰트 명령을 쓰지 못하게 하는 데는 이유가 있습니다. 되도록 이 명령들을 억제하는 것이 좋습니다. 특히 수식 안에서 쓰이는 \rm은 쓰지 않는 것이 좋다고 합니다. \mathrm과 같은 LaTeX2e 명령을 일관되게 사용하도록 하십시오. 예를 들어 {\rm lm}을 \mathrm{lm}으로 수정하는 것은 요즘 대부분의 편집기가 지원하는 찾기/바꾸기 기능을 이용하면 어렵지 않다고 생각합니다.
(2-1) 사용자가 단 한두 글자짜리 짧고 보편적인 단어를 사용한 명령을 define해서 쓰는 것의 위험성에 대해서 여러 번 논의되었습니다. 자기는 편할지 모르지만 혹시라도 공동작업을 한다든가 하면 정말로 남을 귀찮게 합니다. 조금 길게, 모방할 수 없게, 유니크하게 자신의 사용자 명령을 만드는 습관을 들이는 것이 좋습니다. \l 이나 \R은 해도 너무한 경우라고 하겠습니다.
(2-2) LaTeX이 \newcommand 명령을 제공하는 데는 다 이유가 있습니다. \def는 강력하지만 남용되면 에러 추적을 어렵게 합니다. 특히 사용자 명령을 정의하는 데 \def는 좋지 않습니다. 나중에 무슨 일이 생길지 모르니 \newcommand, \renewcommand를 일관되게 쓰는 것이 좋습니다.
요컨대, 코드 재사용과 에러 추적이라는 점에서 좋지 않은 코딩 습관이므로 피하라고 말하는 대표적인 예들입니다.
-
초보
2014.09.22 21:42
정말 너무나 감사합니다. 많이 배웠습니다. 다행히도 제 첫번째 논문에서는 찾아보니 제가 $\mathbb{R}$이라는 기호를 쓰진 않은 것 같더라구요.(제가 뽄을 뜬 원본 논문에서는 사용자가 이 기호를 사용한 것 같은데, 그래서 명령어가 그대로 입력되어진 것 같습니다.)
말씀해 주신 tip이 너무나 유용하고 소중한 말씀 같습니다. 잘 기억해서 다음에 논문 쓸때는 꼭 명심하도록 하겠습니다.
감사합니다.
snumath-PhD 패키지도 제공해 주시면 좋겠습니다.