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>처럼 입력하시면 좋습니다.
newtheorem혹은 newenvironment 의 사용
2011.05.16 16:58
newtheorem 혹은 newenvironment를 사용하여 문항 환경을 만들고자합니다.
문항 번호를 앞에 붙이고, 이 문항에 대하여 풀 수 있는 공간을 주고자하는데 어떻게 해야하는지요?
1. 문항에 번호를 붙이려면, newtheorem환경을 써야하는데 그러면 문항을 준 후, 풀이할 수 있는 여백을 자동으로 붙일 수가 없더군요.
2. 뒤에 공간을 자동으로붙이고자 newenvironment 환경을 사용하면 문항번호를 붙일 수가 없더군요.
아마도, newenvironment를 사용하여 환경을 만들고, 자동으로 카운터를 붙이도록 해야 할 것 같은데....
혹은 newtheorem을 사용하고, 내용 뒤에 자동으로 여백을 넣도록 해야 할 것 같은데...
방법이 무엇일까요?
답변 감사합니다.
댓글 9
-
progress
2011.05.16 18:58
-
yoonju
2011.05.17 12:44
preamble에 다음과 같이 정리류 환경을 선언한 후,
\newtheorem{prob}{문제}%\vskip5cm
document에 는 다음과 같이 넣었습니다.
================================
\begin{prob}
다음 1번의 풀이과정과 답을 적으시오.
\end{prob}\vskip5cm
\begin{prob}
다음 2번의 풀이과정과 답을 적으시오.
\end{prob}\vskip5cm
================================
이때 문항을 넣은 후에 여백을 주기위해서 \vskip5cm을 \end{prob}뒤에 매번 삽입했습니다.
이렇게 ---> \end{prob}\vskip5cm
정리류를 선언할 때, 자동으로 여백을 주도록 설정할 수 있을까요?
즉, 정리류를 선언할 때에 정리가 시작되기 전과 시작된 후에 여백이나 혹은, 어떤 표시 등을 할 수 있을까요?
(마치 \ewenvironment 에서 하는 것 처럼...)
감사합니다. -
gromob
2011.05.17 14:12
preamble을 보고 싶다는 말씀은 어떤 클래스나 어떤 스타일 파일의 newtheorem을 쓰셨는지에 따라 달라질 수 있기 때문에 소스 파일을 모두 올려달라는 말씀입니다. 특히 여러번 시도해 봐야 되는 경우에는 첨부파일이 없을 시, 자기가 직접 파일을 만들어서 시도하는 분은 숫자가 10퍼센트 이하로 줄어버릴 겁니다.
하지만 시도해 보지 않고 얼핏 드는 생각은 newenvironment를 하나 만드시고요. 그 시작은 \begin{prob}로 끝은 \end[prob}\vskip5cm 로 해 주시면 되는 거 아닐까요? 해 보지 않고 하는 답이라서 자신은 없군요.
하지만 파일을 올려 주시면 경우에 따라 간격을 고정시키지 않고 위아래 봐서 적절히 나누어주는 센스 있는 환경을 만들어주실 수 있는 분도 계실거라고 생각되는데요...
-
yoonju
2011.05.17 15:11
preamble에
\newtheorem{prob}{문제}%\vskip5cm
로 설정한 후,
\begin{prob}
다음의 풀이와 답을 적으시오.
\end{prob}\vskip5cm
\begin{prob}
다음의 풀이와 답을 적으시오.
\end{prob}\vskip5cm
로 넣었습니다.
보시다시피 풀이 여백을 주기 위해서
\end{prob}\vskip5cm
로 매번 넣었습니다.
\newtheorem을 사용할 때, 자동으로 여백을 넣도록 할 수 있을까요?
감사합니다.[관리자 : 같은 질문을 다른 게시물로 계속 올리셔서, 삭제하고 하나로 묶습니다.]
-
progress
2011.05.17 15:13
간단한 예제를 첨부합니다.
\documentclass[a4paper]{article}
\usepackage[hangul]{kotex}
\usepackage{amsmath}
\newcounter{munje}% munje라는 카운터를 하나 정의한다.
\setcounter{munje}{0}% 초기값을 0으로 정하면 처음 불러올 때 1부터 불러온다.
%드디어 환경 정의!
\newenvironment{prob}{%
\refstepcounter{munje}%이것은 나중에 문제의 번호를 상호참조하기 위해 쓴 명령어이다.
\textbf{문제 \themunje.}\quad} %\themunje라고 쓰면 카운터의 숫자값을 찍는다.
{\vspace*{5cm}\par %문제가 끝난뒤 5센티미터를 띄우고
\null\hfill$\triangle$ % 그 여백이 끝나면 오른쪽 끝에 삼각형을 찍는다.
\vspace{\baselineskip}} % 그리고 현재 문서의 베이스라인 값 만큼 더 띄운다.
\title{newenvironment 연습}
\author{yoonju}
\date{데이트 해주세요}
\begin{document}
\maketitle
\section{연습문제}
\begin{prob}\label{square}
다음 문제를 풀어라.
$a^2 + b^2 = c^2$을 만족하는 정수 쌍 $(a, b, c)$의 개수는 몇 개인가?
\end{prob}
\begin{prob}\label{nogada}
문제~\ref{square}의 해답을 포기하지 말고 죽을 때까지 적어라.
\end{prob}
\begin{prob}
문제~\ref{square}\와 \ref{nogada}\을 토대로 정수 쌍 $(a, b, c)$가 몇 개인지 죽기 전에 말해라.
\end{prob}
%\와, \을 과 같은 명령어를 쓰면 다음과 같이 앞의 숫자의 발음에 맞게 알아서 조사를 붙여줍니다.
%문제 1과, 문제 2와, 문제 1을, 문제 2를
\end{document}
[관리자 : Progress님께서 작성하신 답글을 옮겼습니다.
-
yoonju
2011.05.17 16:27
1. 여러군데에 올리다보니 글 순서가 섞여 있네요. 하여간, gromob님의 제안대로 파일을 올리겠습니다.
센스있으신 분이 ktug에는 많이 계시다고 알고 있습니다. ^^;
2. progress님의 답변 감사합니다. 그런데, pdflatex을 돌려보니 문제2,3번이 들여쓰기가 되어있습니다.
문제1번처럼 없앨 수는 없을까요?
3. pdf파일에서 문제 3번의 맨 마지막 부분의 괄호가 이탤릭으로 나타나는데,
아마도 정리류의 환경에서 사용하는 글꼴때문이 아닐까 합니다. (한글은 그래픽체, 영문은 이탤릭체...)
모두 normal로 처리되든지, 아니면 이탤릭을 없앨 수는 없을까요?
-
progress
2011.05.18 00:01
수고 많으십니다.
2. 들여쓰기 문제는 환경 정의할 때 \noindent 한번 주면 끝나고요.
\noindent \textbf{문제 \themunje.}\quad}
3. 글꼴 문제도 해결할 수 있습니다.
수 많은 방법이 있겠지만 저는 ntheorem 패키지를 이용해볼 것을 권합니다. 꼭 매뉴얼을 찾아 읽으세요.
> texdoc ntheorem
정리류를 만듦에 있어 쉽게 설정을 바꿀 수 있습니다. 일단 디폴트는 다음과 같습니다.
\theoremstyle{plain}
\theoremheaderfont{\normalfont\bfseries}
\theorembodyfont{\itshape}
\theoremseparator{}
\theoremindent 0cm
\theoremnumbering{arabic}
\theoremsymbol{}.
===
그런데... oblivoir 클래스를 쓰신다면 pdflatex보다는 xelatex으로 컴파일하실 것을 권합니다.
-
yoonju
2011.05.18 10:55
pdflatex과 xelatex의 차이점이 어떤 것이죠?
어떤 글에선가... "xelatex은 pstrick을 이해한다."라고 본 것 같은데
제가 tikz를 주로 사용한다면 동일한 것이 아닌지요?
물론 pstrick을 사용한다면 당연히 xelatex을 사용해야 할 것 같은데
현재는 pstirick을 사용할 경우에는 pst-pdf, ps4pdf 를 사용하고 있거든요...
그리고, pstrick이 너무 방대한 것 같아서 쉽게 접근할 엄두가 나지 않는 것도 있고요..^^;
-
progress
2011.05.18 13:10
1. TnXTeX을 사용하고 있으면 당연히 xelatex을 사용하여 컴파일하시는 것이고요.
2. TeXlive 또는 kotexlive를 사용하고 있으면 텍 컴파일의 범위가 더 다양합니다. latex, pdflatex, xelatex, lualatex 등.
이 중 xelatex을 이용한다면 아무래도 글꼴 운용이 pdflatex보다는 더 쉬워집니다. 글꼴 운용 때문에 xelatex을 쓰시라고 권해드린 것이지, 그래픽 작업 때문에 xelatex을 권해드린 것이 아닙니다.
문제지 같은 것을 만들고 싶으신 모양인데 그 일련의 넘버링이나 문제 지문 다음의 여백 등을 사용하시려면, \newtheorem 명령을 쓰는 것은 yoonju 님을 좀 고단하게 할 수 있습니다.
그리고 tikz는 pdflatex이든 xelatex이든 상관 없이 처리됩니다.
질문이 조금 부족해요. preamble과 소스를 올려주시면 다른 분들이 더 쉽게 상황을 짐작하고 해결해줄 수 있을 겁니다.