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>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
자유글 재미있을 배열 문제
2023.07.21 15:06
날도 더우니 이 문제를 풀어보면서 잠시 쉬어가십시오.
[문제] \myfunction이라는 어떤 이름을 가진 명령을 작성한다. 인자는 숫자 또는 단어(들)를 쉼표로 분리하여 주는데, 몇 개의 숫자 또는 단어(들)가 올지는 사전에 알 수 없다. 예를 들어,
\myfunction{1,2,3,4,5}
이와 같이 명령하였을 때 결과가
\begin{tabular}{ll} 1 & 4 \\ 2 & 5 \\ 3 & \\ \end{tabular}
와 같이 나타나도록 하여라. 이 tabular는 최대 3개의 컬럼을 가질 수 있고 만약 항목이 늘어나면 row를 늘린다. 단 6개보다 작으면 컬럼은 2개이다.
다음 그림은 쉼표로 분리된 인자가 2개에서 12개일 때까지 배열되어야 하는 규칙을 보인 것이다.
댓글 4
-
yihoze
2023.07.27 16:57
-
noname
2023.08.01 09:13
제가 처음 생각한 것은 다음과 같습니다.
인자 수가 \(n\ge 7\)인 경우만 생각해봅니다.
- \(n\)개의 인자를 clist에 넣고 \(a=ceil (n/3)\)을 계산하여 나오는 값의 개수만큼 추려내고 원래의 clist에서는 지웁니다.
- 추려낸 각 값을 \(a\)개의 임시 clist에 차례로 put합니다.
- 원래의 clist에서 남은 것 \(m\)개를 \(b=ceil (m/2)\) 계산하여 나오는 값의 개수만큼 추려내고 원래의 clist에서 지웁니다.
- (2)와 마찬가지로 각 임시 clist에 put.
- 원래의 clist에서 남은 것을 (2)와 마찬가지로 각 임시 clist에 put하면 일단 완성.
- 각 clist의 성분을 한 개의 행(row)으로 하는 tabular를 작성합니다.
-
aud
2023.08.02 00:33
#!python3 N, C = 13,3 a=[ f"{i+1}" for i in range(N) ] for i in range(1, C): if len(a)%C == i: a쩜insert((len(a)//C+1)*(i+1)-1, " ") print("\\begin{tabular}{%s}"%("l"*C)) for i in range(len(a)//C): print(" & ".join(a[i::len(a)//C]), " \\\\") print("\\end{tabular}")
-
noname
2023.08.08 10:57
aud님 재미난 해법 감사합니다.
별로 흥미들이 없으신 듯하여, 처음 이 글을 쓸 때 작성했던 소스를 공개하겠습니다. expl3로 한 것입니다.
힌트 좀 주세요.