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>처럼 입력하시면 좋습니다.
수식 환경 위아래 텍스트와의 간격이 일정하지 않을 때 왜?
2022.03.31 21:52
Mac OS X에서 XeLaTeX을 이용해 컴파일하고 xoblivoir 패키지를 씁니다.
왜 이런 현상이 나타나는지, 해결책은 어떤 게 있는지 궁금합니다.
나타나는 현상은 동일하게 수식 환경을 적용해도 위 아래 다른 텍스트의 성격에 따른 영향 때문인지
뭐 때문인지 몰라도, 수식 간격이 동일하지 않게 나옵니다.
아래 파일을 MWE로 같이 달아봅니다. 컴파일해 보시면 수식이 들어간 뒤 위 아래의 간격이
수식 간에 문서 전체로 볼 때 줄었다 늘었다 합니다.
해결책이 있을까요?
\documentclass[10pt]{xoblivoir}
\usepackage{amsmath,amssymb}
\newcommand\xxx{\mathbf{x}}
\newcommand\yyy{\mathbf{y}}
\newcommand\zzz{\mathbf{z}}
\newcommand\nnn{\mathbf{n}}
\newcommand\bbb{\mathbf{b}}
\newcommand\ttt{\mathbf{t}}
\newcommand\vvv{\mathbf{v}}
\newcommand\ppp{\mathbf{p}}
\newcommand\RRR{\mathbb{R}}
\newcommand\SSS{\mathbb{S}}
\newcommand\www{\mathbf{w}}
\newcommand\uuu{\mathbf{u}}
\newcommand\aaa{\mathbf{a}}
\newcommand\CCC{\mathbb{C}}
\begin{document}
한 점 $\gamma(t)$에서의 장 $\ttt(t)$는 아래와 같다.
$$\ttt(t)= \frac{d}{ds}\gamma(t) = \gamma'(t)\frac{dt}{ds}$$
여기서 $\frac{ds}{dt} = \|\gamma'(t)\|$이므로 $$\ttt(t) = \frac{\gamma'(t)}{\|\gamma(t)\|}$$이다. $v(t) = \|\gamma'(t)\|$라고
두면 $\gamma'(t) = v(t)\ttt(t)$이다.
양변을 $t$에 대해서 미분하여 얻은 식 $$\gamma''(t) = v'(t)\ttt(t) + v(t)\ttt'(t)$$에서
$\ttt'(t) = \frac{d\ttt}{ds}\frac{ds}{dt} = \kappa(t)\nnn(t)v(t)$로 치환하면
$$\gamma''(t) = v'(t)\ttt(t) + v^2(t)\kappa(t)\nnn(t)$$이다.
따라서
\begin{equation}
\begin{split}
\gamma'(t){\times}\gamma''(t)
&= v(t)\ttt(t){\times}\Big( v'(t)\ttt(t) + v^2(t)\kappa(t)\nnn(t) \Big) \\
&= v^3(t)\kappa(t)\ttt(t){\times}\nnn(t) \\
&= v^3(t)\kappa(t)\bbb(t)
\end{split}
\end{equation}
이다. 여기서 $\| \gamma'(t){\times}\gamma''(t) \| = v^3(t)\kappa(t)$이므로
$$ \kappa(t) = \frac{ \gamma'(t){\times}\gamma''(t) }{v^3(t)} = \frac{ \gamma'(t){\times}\gamma''(t) }{\|\gamma(t)\|^3}$$
이다.
\end{document}
댓글 4
-
Progress
2022.04.01 09:43
-
yihoze
2022.04.01 13:31
혹시나 하여 \raggedbottom을 줘 봤는데 그건 효과가 없네요.
-
noname
2022.04.01 14:16
TeX이 문단형 수식(displaymath)을 위에 Progress께서 설명하신 것처럼 조판하는 이유는 주로 영어로 된 면(page)에서 white space를 최대한 줄이기 위해서입니다. 실제 여타 도구에 익숙한 편집자의 질문자와 유사한 요구에 대응할 때, "원래 TeX이 그렇다"고 우겨야 하는 경우도 있답니다.
우리나라 글로 된 문서는 기본적으로 행 사이가 넉넉해서 이런 정도의 white space 여분에 대하여 대단히 관대한 조판 경향을 가지고 있다는 느낌을 받습니다. 그 대신 수식에 대하여 좀더 "기계적으로 동일한 간격"을 갖도록 요구하는 경우가 많습니다. 그러면서도 행중에서는 displaystyle 수식을 요구하니 알다가도 모를 일이지요.
아무튼, 약간의 튜닝을 통하여 다음과 같이 해보았는데, 저로서는 이 결과를 더 낫다고 판단해야 할 이유가 없다고 봅니다. 만약 정말 질문하신 바를 구현하지 않으면 안 된다면, 다른 조판 도구를 알아보시는 것이 낫지 않을까요.
이 문제와 크게 관련되는 정보는 아니지만, 문단-수식 간격의 oblivoir 튜닝을 무력화하려면 \documentclass의 옵션으로 [mathdisp]를 부여하십시오.
-
Kriss
2022.04.04 11:34
align* 환경을 썼을때는 해당 문제가 발생하지 않아서 저는 항상 별행수식을 align*으로 쓰고 있습니다
별행 수식과 위/아래문단의 간격을 제어하는 길이변수로 다음 네 가지가 있습니다.
문단과 별행 수식 사이에는 일정 길이를 띄우게 되지요. 위 변수는 신축성(glue)을 띄고 있어서 상황에 따라 기본값을 기준으로 조금씩 늘었다/줄었다 할 수 있습니다. 예를 들어
\abovedisplayskip=12pt plus 3pt minus 9pt
라면 기본으로 윗문단과 아래 별행수식의 간격을 기본적으로 12포인트를 띄우되 상황에 따라 최대 3포인트 더 늘이거나 최대 9포인트 짜부라뜨리게 할 수 있습니다.
TeX은, 윗문단의 글줄 길이와 아래 별행수식 길이가 중첩되지 않는 경우, 즉 윗문단의 글줄 길이(A), 아래 별행 수식의 길이(B)를 합한 길이(A+B)가 판면 가로 길이보다 작은 경우에는 간격을 좀 덜 띄우게 설계 되어 있습니다.
예를 들어 윗문단의 짧게 끝난 글줄의 나머지 공백 + 원래 띄워야 할 일정 길이 ==> 시각적으로 더 많이 띄워진 것처럼 보이게 됩니다. 이 경우 \abovedisplayskip 대신 \abovedisplayshortskip이 작동합니다.
\belowdisplayshortskip은 별행수식과 아랫문단의 길이를 띄우는 것이라 생각하면 되고요.
올려주신 예제는 이러한 것들이 복합적으로 어우러져 조판된 결과라고 보시면 될 것 같습니다. 그리고 별행 수식에 디스플레이 형태의 분수(fraction)가 포함되어 있는 경우에 더하여, 일부 그리스 문자 등 수식 기호의 height가 베이스라인 밑으로 처져 있는 경우도 고려해야합니다. 예를 들어 감마(γ) 같은 경우 원래부터 베이스라인 밑으로 처진 글자이고요.
그리고 \Big( ... \Big) 처럼 크게 식자된 괄호는 키가 크니까 그 지점부터 문단과의 길이를 계산할 것이고요.
===
위 네 가지 변수를 재정의할 수 있을 것입니다. 저도 해보진 않았지만 신축성(glue)을 아예 제거할 수 도 있을 것 같습니다. 그냥 \setlength\abovedisplayskip{10p}하면 윗문단과 아래 별행 수식의 길이를 무조건 10포인트 띄우겠지요.
그런데 위 네 가지 변수는 현재 본문 폰트의 "글자 크기"에 따라 달라질 수 있도록 이미 amsmath 패키지나 해당 클래스에 복잡하게 정의되어 있지 않나 싶습니다. 어지간하면 그냥 사용하시라고 권하고 싶습니다.
===
자세한 것은 Knuth 교수의 The TeXbook을 참고하시기 바랍니다.
오버리프에도 그럭저럭 설명이 되어있네요.
https://ko.overleaf.com/learn/latex/%5Cabovedisplayskip_and_related_commands