Q&A 마당은 텍 관련 질문/답변과 토론을 위해 만들었습니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • 질문 전에 Minimal working example를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
    • 질문에 맞는 제목을 붙이세요. 예를 들어 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답변이 잘 붙지 않습니다.
    • 질문을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
  • 화일을 첨부하실 때에는 가능한 압축하여 화일크기를 줄여서 올려주시길 바랍니다.
  • 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
  • 최근 스팸글의 등록 빈도가 높아 졌습니다. 이를 막기위하여 짧은 시간내에 다시 글이 등록되는 IP를 막거나, 광고글을 막기위하여 금지어로 .com, .net등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 사용하는 편집기를 스마트에디터에서 CKeditor로 변경하였습니다. 좋아진 점은 아래와 같습니다.
    • flash를 사용하지 않습니다.
    • 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

noname

예컨대 \test{abc,def,ghi}라고 입력했을 때 쉼표로 분리된 각 부분을 별도로 잘라내는 거라면 간단히 할 수 있습니다.

\newcount\mycnt
\def\fifo#1,{\ifx\ofif#1\ofif\fi\process{#1}\fifo}
\def\ofif#1\fifo{\fi}
\def\process#1{\advance\mycnt1
   \expandafter\def\csname rsltstr\romannumeral\mycnt\endcsname
      {#1}}
\def\testcmd#1{\mycnt=0\expandafter\fifo#1,\ofif,}

이렇게 정의한 다음 \testcmd를 부르면 앞에서부터 차례로 \rsltstri, \rsltstrii, \rsltstriii 이라는 매크로에 저장됩니다. 이 결과를 어떻게 이용할 것인가는 사용자에게 달렸겠지만, 

\usepackage{multido}
\def\printcmd{%
	\begin{itemize}
	\multido{\i=1+1}{\the\mycnt}%
		{\item \csname rsltstr\romannumeral\i\endcsname}
	\end{itemize}	
}

이것은 itemize 안에 하나씩 차례로 나열하게 한 것입니다. 필요하다면 \testcmd와 \printcmd를 하나의 명령으로 묶을 수도 있겠습니다. 다음 그림은 

\testcmd{abc,def,123}
\printcmd

이렇게 한 결과입니다.

result.png

이밖에도 xstring같은 패키지의 도움을 받거나 expl3로 코딩하거나 할 수 있습니다.




XE Login