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>처럼 입력하시면 좋습니다.
\end{ } 부분의 오류 문의
2022.02.07 15:49
수고하십니다.
\end{document} \end{equation*} 부분에서 계속 undefined control sequence에러가 떠서 고민입니다
https://www.overleaf.com/read/rtzcfdvxsqyz
example.tex 입니다.
앞서 중...학생이라고 하셨으니 조금 자세히 설명할게요.
에러 메시지를 잘 보면
118라인의 \Title이라는 명령이 정의되지 않았다고 합니다. 그런데 메인 파일인 example.tex의 118행에는 그런 것이 없지요.
\usepackage 되어 있는 brainstackoverflowed_concept.sty 파일에 보니 다음과 같은 부분이 있네요.
그리고
여기서 한 번 사용되고 있고요. 이것이 문제라는 것을 일단 알겠습니다. 그럼 이게 왜 문제인가?
let \Title = \@title이라는 의미의 명령이 \maketitle이라는 매크로가 실행되는 지점에서 한 번 정의되고 있다는 그것이 문제입니다. 이것은 \maketitle 정의부 내부에서 local 변수로 정의되었기 때문에 \maketitle 명령이 끝나는 지점에서 효력을 잃었습니다. 그런데 pagestyle fancy를 만드는 과정은 \maketitle 내부에 있지도 않고 있어서도 안 됩니다.
이제 이 문제를 해결하는 방법을 생각해보지요.
(1) 원래의 정의를 그대로 두고 global하게 정의하는 방법.
\pretocmd 명령 마지막에 {}를 하나 더 두는 게 좋아 보이네요. \pretocmd{명령}{코드}{성공시}{실패시}
그런데 이 방법은 \maketitle 명령이 반드시 존재해야 하고 그것도 첫 페이지에 있어야만 에러가 발생하지 않는다는 제약을 가지고 있습니다. 아예 \maketitle이 없는 문서에서는 또 \Title이 정의되지 않았다고 불평하겠죠. 그러니 좋은 방법이라고 생각하지 않습니다.
(2) fancyhdr의 fancy에서 \Title을 사용하지 않게 수정하는 방법
또는 아예 fancy에서 \Title을 쓰지 않는 것입니다.
위의 코드는 sty 파일 안에 있기 때문에 \makeatletter, \makeatother가 필요 없습니다.
(3) \Title 명령을 처음부터 전역적으로 정의하는 방법
아니면, \Title 정의를 \maketitle 앞에 가둘 필요가 없다고 보고 다음처럼 할 수도 있을 거여요. 앞에서 본 \pretocmd\maketitle 부분 대신 다음처럼 하는 거지요.
===
보통 이렇게 길게 설명하지 않습니다...