KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You will gain money by a speculation or lottery.
FrontPage › 작은나무/2008-04
Apr 18, 2008
주의하자! 숫자 다음에 공백
Submitted by 작은나무 @ 04-18 [10:59 am]

Apr 15, 2008
box dimensions, \smash
Submitted by 작은나무 @ 04-15 [11:37 pm]
박스(box)는 \ht, \dp, \wd들을 이용하여 치수(dimensions)를 표시 할 수 있다. 예를들어, \dp13은 13번 박스의 깊이를 나타낸다. 박스는 dimension들을 이용해서 치수를 표시할 뿐만아니라, 그 dimension들에 새로운 값을 대입하여 원래의 dimension들을 변경할 수 있다. 이때, 재미있는 것은 박스의 dimension들이 변경된다고 해서 박스의 내용물도 같이 변하는 것은 아니라는 것이다. 플레인텍 매크로에 \smash 라는 명령어가 있다. 이 명령어는 이름에서 알 수 있듯이 주어진 인자를 박스에 넣은 다음, 그 박사의 높이와 깊이를 0으로 만든다.

\def\smash#1{{\setbox0=\hbox{#1}\dp0=0pt \ht0=0pt \box0\relax}}

예를들어, \smash{ABC}라고 하면, ABC를 출력하지만, 그 박스의 높이와 깊이는 0이 된다. 이러한 성질을 이용하면, 재미있는 여러가지를 할 수 있다. 그 대표적인 예를 The TeXbook의 머릿말에서 찾아 볼 수 있다.

gentle.jpg

코드는 다음과 같다.
\noindent\hang\hangafter-2 \smash{\lower12pt\hbox to 0pt{\hskip-\hangindent\cmman G\hfill}}\hskip-16pt {\sc ENTLE} R{\sc EADER}: \strut This is a handbook about \TeX, a new typesetting system intended for the creation of beautiful books---and especially for books that contain a lot of mathematics. By preparing a manuscript in \TeX\ format,

커다란 G를 smash 함으로 그 박스의 높이와 깊이가 0pt가 됨에 따라서, 두 줄에 걸쳐서 나타날 수 있는 것이다.

Apr 14, 2008
선그리기, \hbox, \vbox, \hrule, \vrule
Submitted by 작은나무 @ 04-14 [10:01 pm]
\hbox{\vrule \vbox{\hrule \vskip 3pt \hbox{\hskip 3pt \vbox{\hsize=.7in \raggedright \noindent Help! Let me out of here!}% \hskip 3pt}% \vskip 3pt \hrule}% \vrule}

결과:



위에서 처럼, 주어진 텍스트를 선으로 둘러싸기 위해서는 \hbox 안에 \vbox. 그 안에 다시 \hbox 안에 \vbox 를 사용해야한다. 즉 4단계의 박스가 필요하다.

Apr 12, 2008
\centerline, \hss
Submitted by 작은나무 @ 04-12 [06:15 pm]
플레인텍에 아래와 같은 정의의 \line 이라는 매크로가 있다.
\def\line{\hbox to\hsize}
위 정의에서 알 수 있듯이, \line은 가로 길이가 \hsize 크기인 \hbox 이다. 이 \line 매크로를 이용해서 몇가지 더 유용한 매크로를 만들 수 있을텐데, 가장 먼저 떠 오르는 것이 \centerline. 예를 들어, \centerline{ABC} 라고 하면 ABC가 현재 라인의 중간에 오는 것이다.

아마도, 매크로 \centerline은 다음과 같이 정의 되어 있을 것이다.
\def\centerline#1{\line{\hfill#1\hfill}}

\centerline은 실제로 플레인텍에 있는 매크로라서, 찾아보니,
\def\centerline#1{\line{\hss#1\hss}}

당연할 것 같은 \hfill을 사용하면 뭐가 문제가 된다는 말인가? :)

Apr 11, 2008
\TeX show
Submitted by 작은나무 @ 04-11 [11:01 pm]
플레인텍으로 실행할 것.

\input eplain \input realcalc \beginpackages \usepackage{color} \endpackages \magnification = 6000 \newdimen\fontpt \fontpt=10pt \def\newfont{ \font\nextfont = cmbx10 at \fontpt \relax \nextfont} \def\x{0.0} \def\dimin#1{\ifx#1\end \let\next=\relax \else\divide\fontpt by \magstephalf \multiply\fontpt by 1000 \Radd\x\x{0.02}\definecolor{mycolor}{rgb}{\x,\x,\x}% \newfont\kern-1.8\fontpt \leavevmode\raise-1.8\fontpt \hbox{\color{mycolor}#1}\negthinspace \let\next=\dimin\fi \next} \fontpt=10pt \newfont \newcount\n \n=0 \centerline{\begingroup\aftergroup\dimin \loop\ifnum\n<50 \aftergroup\TeX \advance\n1 \repeat \aftergroup\end\endgroup} \bye

Apr 10, 2008
\vphantom \mathstrut
Submitted by 작은나무 @ 04-10 [11:52 pm]
$$ \overline r + \overline t \overline{\vphantom{t} r} + \overline t \overline{\mathstrut r} + \overline{\mathstrut t} $$


이경우는 r, t 모두 depth가 0pt 이므로, height만 맞추면 되므로, 굳이 \mathstrut를 사용할 필요가 없을 것 같다. \mathstrut를 사용하면 \overline이 붕떠보인다. (나만 그런가?)

Apr 01, 2008
\hfil, \hfilneg
Submitted by 작은나무 @ 04-01 [06:47 pm]
\line{A\hfil B\hfil C\hfil D} \line{\hfil A B C D\hfilneg}

제가 큰 착각을 하고, 또 헛발질을 했네요. -- 작은나무 2008-04-01 21:40:58