KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
  • TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • 사용하는 편집기는 CKeditor입니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

LaTeX 에서 section 따위를 쓰면 다음 첫 문단은 들여쓰기 하지 않는다. 들여쓰기 하는 이유는 직전 문단과 구별하기 위해선데 직전 문단이 절 제목이고 게다가 수직 간격도 들어가 있어서 문단 구별의 실익이 없는 것이다.

 

가끔 절 제목 다음이 아니더라도 한 문단만 들여쓰기를 배제하고 싶을 때가 있다. 가령 글의 흐름이 크게 바뀌는 지점이라 수직 간격을 주었기에 다음 한 문단만 들여쓰기 하지 않고 두 번째 문단부터 들여쓰기 하고 싶다면 어떻게 할까? 여기 간단한 해법이 있다.

\def\threestarbreak{%
  \bigbreak\centerline{*\hskip.1\linewidth *\hskip.1\linewidth *}\bigbreak
  \everypar{{\setbox0\lastbox}\everypar{}}%
}

별표 세 개를 일정 간격으로 늘어놓아 글의 흐름을 구분하는 명령이다. 위 코드의 세번째 줄에 해답이 담겨있다.

 

\everypar 는 문단을 시작할 때마다 실행되는 토큰열을 선언한다. {\setbox0\lastbox} 는 lastbox—문단 시작시 직전 박스는 indent 박스다—를 지워버리는 일을 한다(크누스의 The TeXbook 에 이런 트릭이 소개되어 있다). 따라서 들여쓰기가 취소된다.

 

그런데 그후 즉시 \everypar{} 를 선언했으므로 두 번째 문단부터는 들여쓰기가 그대로 살아있게 된다.




XE Login