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>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

noname

expl3로 옮겨봤습니다.

 

\ExplSyntaxOn

\box_new:N \l_a_box
\box_new:N \l_b_box

\clist_set:Nn \l_tmpa_clist { blue!30, red!30, cyan!30, magenta!30, yellow!40 }

\NewDocumentEnvironment { test } { +b }
  {
	\medbreak
	\vbox_set:Nn \l_a_box 
	  {
		\dim_set:Nn \hsize { .9\linewidth }
		#1
	  }
	
	\int_zero:N \l_tmpa_int
	\split_verb_box:NN \l_a_box \l_b_box
  }{}

\cs_new:Npn \split_verb_box:NN #1 #2
  {
	\dim_compare:nTF { \pagegoal == \c_max_dim }
	  {
		\dim_set:Nn \l_tmpa_dim { \vsize }
	  }
	  {
		\dim_set:Nn \l_tmpa_dim { \pagegoal }
	  }
	
	\dim_sub:Nn \l_tmpa_dim { \pagetotal }
	\dim_sub:Nn \l_tmpa_dim { \baselineskip }
	
	\int_incr:N \l_tmpa_int
	
	\dim_compare:nTF { \l_tmpa_dim < \box_ht:N #1 }
	  {
  	    % vbox_set_split_to_ht 이게 핵심. 
		\vbox_set_split_to_ht:NNn #2 #1 { \l_tmpa_dim }
		
  	    \bool_if:nT
	      {
	       ! ( \box_if_empty_p:N #2 )
	       && \dim_compare_p:n { \box_ht:N #2 > .5\baselineskip }
	      }
	      {
		     \noindent 
		     \colorbox 
		       { \clist_item:Nn \l_tmpa_clist { \l_tmpa_int } }
		       { \box_use:N #2 } \par
	      }
	
	    \clearpage \split_verb_box:NN #1 \l_tmpa_box
	  }
	  {
	    \bool_if:nT
	      {
	        ! ( \box_if_empty_p:N #1 )
	        && \dim_compare_p:n { \box_ht:N #1 > .5\baselineskip }
	      }
	      {
	          \noindent 
	          \colorbox
	            { \clist_item:Nn \l_tmpa_clist { \l_tmpa_int } } 
	            { \box_use:N #1 } \par
	      }
	  }	  
  }

\ExplSyntaxOff



XE Login