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>처럼 입력하시면 좋습니다.

Progress

아까 점심 먹고 작성하다가 급하게 어딜 갔다왔는데 아까워서 올립니다.

mdframed_test.png

% mdframed6.tex
\documentclass[a4paper,hcr]{oblivoir}
% 클래스 옵션으로 hcr을 지정하면 바탕은 함초롬바탕 LVT, 돋움은 함초롬돋움 LVT를 자동으로 지정해준다.

% \documentclass[a4paper]{oblivoir} % hcr을 쓰지 않으면 한글/한자의 바탕과 돋움은 다음 중 하나의 방법으로 지정한다.

% \setkomainfont(HCR Batang LVT)(HCR Batang LVT Bold)()
% \setkosansfont(HCR Dotum LVT)(HCR Dotum LVT Bold)()

% \setkomainfont(HCR Batang LVT)(* Bold)()
% \setkosansfont(HCR Dotum LVT)(* Bold)()

% \setkomainfont(HCR Batang LVT)(* Bold)
% \setkosansfont(HCR Batang LVT)(* Bold)

% \setmainhangulfont{HCR Batang LVT}
% \setsanshangulfont{HCR Batang LVT}
% \setmainhanjafont{HCR Batang LVT}
% \setsanshanjafont{HCR Batang LVT}

\newfontfamily\fallbackhanjafont[Script=CJK,Language=Korean]{HanaMinB}

% \RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
\usepackage[dvipsnames*,svgnames,x11names]{xcolor}
% 보통 문서에서는 \usepackage를 쓴다. \RequirePackage는 어떤 패키지에 내에서 다른 패키지를 호출할 때 사용하는 것이라 한다.
% dvipsnames*와 같이 애스터리스크(*)를 붙여봤다. 왜 그런지는 xcolor 매뉴얼을 참고하라.

\usepackage[framemethod=tikz,xcolor]{mdframed}

% 기존 환경에 surroundwithframed로 테두리 두르기
\newenvironment{recipe}{\parindent=0pt}{}
\mdfdefinestyle{graybox}{font=\small,linecolor=gray,backgroundcolor=gray!10,}
\surroundwithmdframed[style=graybox]{recipe}


% 그냥 일반적인 환경에서 startcode 옵션으로 집어넣기.
\mdfdefinestyle{recipestyle}{%
    font=\small,
    roundcorner=5pt,
    backgroundcolor=SeaGreen!5,
    linecolor=SeaGreen,
    linewidth=.5pt,
    skipabove=1.33\onelineskip,
    skipbelow=1.33\onelineskip,
    needspace=\onelineskip,
    splittopskip=.75\onelineskip,
    splitbottomskip=.75\onelineskip,
    innertopmargin=.75\onelineskip,
    innerbottommargin=.75\onelineskip,
    ignorelastdescenders=true,
    startcode=\setlength{\parindent}{0pt},
    % 프레임 타이틀에 관한 설정
    frametitlefont={\sffamily\color{SeaGreen}},
    frametitlerule=true,
    frametitlerulewidth=.25pt,
    frametitlebackgroundcolor=SeaGreen!10,
    }

\newmdenv[style=recipestyle]{anotherrecipe}

\newcommand*{\tu}[1]{{\scriptsize #1}} %할주나 작은 사이즈의 본문 글씨 크기

\tightlist

\begin{document}

\section{surroundwithframed}
\verb!surroundwithframe! 명령은 이미 존재하는 환경에 프레임을 두를 수 있다. 여기서는 \verb!recipe!라는 환경을 미리 만들어놓되 그 들여쓰기값을 0pt로 지정해놓는다.
그러고나서 \verb!surroundwithframe!로 한번 더 \verb!recipe!를 둘러싼다.

\begin{recipe}
주재료 : \textbf{生薑 \tu{100g}}, 桂皮 \tu{3쪽}, 물 \tu{12컵}

부재료 : 꿀 \tu{5큰술}, 대추채\tu{(약간)}
\end{recipe}
\begin{recipe}
\sffamily
주재료 : \textbf{生薑 \tu{100g}}, 桂皮 \tu{3쪽}, 물 \tu{12컵}

부재료 : 꿀 \tu{5큰술}, 대추채\tu{(약간)}
\end{recipe}


\section{startcode 옵션}
\verb!startcode! 옵션은 \verb!mdframed! 환경을 불러오기 바로 전에 시행하는 명령어이다. 이게 편하다.
비슷하게 \verb!mdfrmaed! 환경이 끝나면서 무언가를 집어넣으려면 \verb!endcode! 옵션을 사용한다.

\begin{anotherrecipe}[frametitle=생강계피차]
주재료: \textbf{生薑 \tu{100g}}, 桂皮 \tu{3쪽}, 물 \tu{12컵}

부재료: 꿀 \tu{5큰술}, 대추채\tu{(약간)}
\end{anotherrecipe}

\verb!mdframed!은 가급적 \verb!\mdfdefinestyle!로 프레임의 여러 가지 변수를 설정해서 고유 이름을 지닌 스타일을 하나 만들어놓고, 다른 프레임 환경을 정의하면서(\verb!\newmdenv!) 그 고유 스타일을 불러오는 것이 여러모로 편리하다. 어떤 mdframed 환경에서 고유 스타일을 정했다손치더라도, 그 스타일에 정해지지 않은 다른 옵션을 덧붙일 수 있다. 즉 \verb!linewidth=.5pt!라고 스타일에 이미 정해져있더라도 이 박스만 테두리를 더 두껍게 하려면 옵션에 \verb!linewidth=10pt!라고 하면 그만이다

\begin{anotherrecipe}[frametitle=생강계피차 굵은 테두리, linewidth=10pt]
주재료: \textbf{生薑 \tu{100g}}, 桂皮 \tu{3쪽}, 물 \tu{12컵}

부재료: 꿀 \tu{5큰술}, 대추채\tu{(약간)}
\end{anotherrecipe}


\begin{enumerate}
\item 생강은 껍질을 벗기고 얇게 저며 썬 다음 채반에 널어 꾸덕하게 말린다.

\item 말린 생강은 기름 없이 팬에 갈색이 나도록 볶아 식힌다.

\item 깨끗이 씻은 계피를 볶은 생강과 함께 물에 넣어 중간 불에 올려서 끓인다.

\item 진한 생강의 향과 계피 향이 어우러져 맛이 나면 꿀을 넣어서 풍미를 더한 후 불에서 내려 체에 걸러서 맑은 생강계피차만 물병 등에 담아 식혀 냉장고에 넣어 보관한다.

\item 생강계피차는 따끈하게 주전자에 넣어서 다시 데워 마셔야 좋은데 대추를 곱게 채 썰어 띄워 함께 먹으면 더욱 좋다.
\end{enumerate}

\end{document}

====

오블리부아 클래스에서 다음과 같이 폰트 지정하셨는데, 뭔가 어색합니다.

\setkomainfont(HCR Batang LVT)(* Bold)(HCR Dotum LVT)(HCR Batang LVT)(HCR Dotum LVT Bold)(HCR Dotum LVT)

바탕(serif, 통상 main)/돋움(sanserif)/모노(mono 또는 typewriter) 이렇게 세 가지에 모습에 대한 폰트를 지정할 수 있습니다. 거기에 각각 라틴/한글/한자가 나뉩니다.

편의상 명조(serif)의 예를 들겠습니다.

\setmainfont{Times New Roman} % 라틴 세리프(메인) 폰트
\setmainhangulfont{HCR Batang LVT} % 한글 바탕(메인 또는 명조)
\setmainhanjafont{HCR Batang LVT} % 한자 바탕(메인 또는 명조)

라틴 폰트에는 물론 regular 외에도 bold, italic, bolditalic 등이 있겠습니다.
한글과 한자 폰트에는 이탤릭 부분과 볼드이탤릭 부분은 없습니다.


따라서 위와 같이 지정해주는 게 FM적인 방법이고요.

oblivoir는 한글과 한자를 좀더 간단하게 지정할 수 있는 명령이 있습니다.

\setkomainfont(HCR Batang LVT)(HCR Batang LVT Bold)()[](HCR Batang LVT)(HCR Batang LVT Bold)()
위에서 [] 전 부분은 한글 폰트, [] 다음 부분 한자 폰트입니다. ()로 비워둔 것은 이탤릭 폰트를 위함인데 그냥 없는 것으로 처리했습니다.
이때 한글과 한자 폰트가 동일하면 [] 이하를 날릴 수 있습니다.
\setkomainfont(HCR Batang LVT)(HCR Batang LVT Bold)()
또 볼트 폰트의 경우 폰트 이름에 중첩된 HCR Batang LVT는 *으로 대체 가능합니다.
\setkomainfont(HCR Batang LVT)(* Bold)()
이탤릭 폰트를 지정하지 않으면 () 또한 그냥 날려버려도 됩니다.
\setkomainfont(HCR Batang LVT)(* Bold)

다른 돋움(sanserif), 모노(mono) 폰트도 비슷하게 \setkosansfont, \setkomonofont로 지정할 수 있습니다.
그리고 라틴 모노 폰트와 달리 한글/한자의 모노 폰트는 굳이 쓸 일이 생기지 않을 것으로 생각합니다.

함초롬 글꼴의 경우, 이마저도 귀찮으면 oblivoir 클래스 옵션으로 hcr을 지정해주면 됩니다.

자세한 것은 첨부한 .tex 파일에 주석을 달아놓았으니 참고하시면 되겠습니다.


===


폰트 설정에 관한 더 자세한 내용은 xetexko 매뉴얼과 oblivoir 매뉴얼을 정독하시기 바랍니다. (꼭 이 순서대로!)

> texdoc xetexko

> texdoc oblivoir




XE Login