Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
긴 텍스트와 이미지가 같이 들어 가는 테이블 만들기
2021.08.25 12:20
안녕하세요 ,
Texing:Overleaf/texlive 2020/Windows10
아래와 같은 테이블을 만들고 싶은데, graphicx 와 array 페키지를 사용하여 시도 하였으나, 이미지가 셀에 들어간 경우 긴텍스트가 테이블 밖으로 나가는 현상과 아예 얼라인이 되지 않았습니다.
혹시 유용한 패키지나 사용에 관한 자료를 공유해 주시면 너무 감사하겠습니다.
감사합니다.
댓글 8
-
yihoze
2021.08.25 14:55
-
yihoze
2021.08.25 15:51
tabularray 패키지를 쓸 때는 저 꼼수가 통하지 않네요. \raisebox를 사용하여 이미지를 낮춰야 할 것 같습니다.
\ExplSyntaxOn
\NewDocumentCommand\tabimg{ m }
{
\hbox_set:Nn \l_tmpa_box { \includegraphics{#1} }
\dim_set:Nn \l_tmpa_dim { \box_ht:N \l_tmpa_box + \box_dp:N \l_tmpa_box }
\raisebox{-\l_tmpa_dim}{\box_use:N \l_tmpa_box}
}
\ExplSyntaxOff -
yihoze
2021.08.25 15:05
좀 주제넘은 말입니다만, 표 안에 그림을 넣는 것도 문장을 넣는 것도 바람직하지 않습니다. 두 가지 모두 넣는 것은 최악이라고 생각합니다. 사실 텍에서 표를 만드는 것은 아주 번잡합니다. 워드나 엑셀에서 하는 것처럼 만들자고 하면 못할 것도 없습니다만, 너무 수고스럽습니다.
단지 어렵기 때문만은 아니고, 저런 식으로 만드는 것은 표의 오남용이라고 봅니다. 하나의 섹션으로 만들어야 하는 것을 표 안에 모조리 구겨넣으려는 시도라고 저는 이해합니다. 표의 주요 용도는 자료의 대조와 비교인데, 저와 같은 공정의 대조가 필요하고 유의미한 일인지 의문입니다.
-
dbsxowls
2021.08.25 16:45
답변 너무 감사드립니다. 저도 서치하면서 느낀게 사람들이 저런 형식으로 테이블을 만들려고 하지 않는다는것을 알게됬습니다..
-
dbsxowls
2021.08.25 16:49
제가 한것인데 이슈가, 텍스트 부분이 얼라인이 안됩니다.. 한번 봐주시면 감사하겠습니다!!
\documentclass{article} \usepackage{longtable} \usepackage[export]{adjustbox} \begin{document} { \adjustboxset{width=\linewidth,valign=c, margin=0pt 3pt 0pt 3pt} \begin{longtable}[h]{|p{0.4\textwidth}|p{0.4\textwidth}|c|} \hline name & explanation & photo\\ \hline \adjustimage{}{IMG-2524} & These macros allow to define new versions of with predefined key lists. The new define image macros can also have arguments which can be used in the predefined key list to substitude values or one or multiple keys.They work like and respectively, where is the number of arguments and provides a default value for the then optional first argument. However, instead of a macro content a list must be present, which can contain the arguments If arguments are used as values they should be wrapped in braces. If there are only & $1.0$ \\ \adjustimage{}{IMG-2524} \end{longtable} } \end{document}
-
yihoze
2021.08.25 18:26
adjustbox라는 게 있는지 몰랐네요. 이걸 사용하면 제가 고안한 꼼수는 필요 없겠네요.
아무튼, 옵션 설정을 잘못 하셨습니다.
valign=c가 아니고 valign=T 입니다. 소문자 t로 설정하면 미묘하게 달라지는데, adjustbox 매뉴얼을 참고하십시오.
-
ischo
2021.08.25 18:17
tabularray 패키지로, 추가로, 비슷하게 해봤습니다.
\documentclass{standalone} \usepackage{kotex} \usepackage[demo]{graphicx} \usepackage{tabularray} \NewExpandableDocumentCommand\tabimg{m}{\vspace{0pt}\includegraphics[scale=0.5]{#1}} \NewExpandableDocumentCommand\letter{}{{\fontsize{100pt}{100pt}\selectfont A}} \NewExpandableDocumentCommand\foo{}{동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세 무궁화 삼천리 화려 강산 대한 사람 대한으로 길이 보전하세.\par} \pagestyle{empty} \begin{document} \begin{tblr}{width=\textwidth,colspec={|X[t,l,0]|X[h,c,0]|X[t,1]|}} \hline \SetCell{c} 이름 & \SetCell{c} 설명 & \SetCell{c} 내용 \\\hline 1. 한국 & \letter & \foo \\\hline 2. 중국 & \letter & \foo \foo \foo \\\hline 3. 일본 & \letter & \foo \foo \\\hline \hline \end{tblr} \begin{tblr}{width=\textwidth,colspec={|X[t,l,0]|X[h,c,3]|X[t,2]|}} \hline \SetCell{c} 이름 & \SetCell{c} 설명 & \SetCell{c} 내용 \\\hline 0. 우산국 & \SetCell{l} \foo & \foo \\\hline 1. 한국 & \tabimg{uncertainm} & \foo \\\hline 2. 중국 & \tabimg{uncertainm} & \foo \foo \\\hline 3. 일본 & \tabimg{uncertainm} & \foo \foo \\\hline \hline \end{tblr} \end{document}
-
yihoze
2021.08.25 18:28
\NewExpandableDocumentCommand를 사용하면 되는가 보군요. 고맙습니다.
http://www.ktug.org/xe/index.php?document_srl=190359&mid=KTUG_open_board 보시고, 다음에는 예제 파일을 만들어 올려주세요.
\begin{tabular}{p{20mm}p{60mm}p{60mm}}
이렇게 p 옵션을 사용하면 (parbox를 쓰는 것과 같은 효과가 발생하여) 긴 글줄도 테이블 밖으로 벗어나지 않고 셀 안에서 줄나눔이 이루어집니다.
더 편한 방법은 tabularx 패키지를 사용하는 것입니다.
어느 방법을 쓰든 이미지를 삽입하는 것은 문제가 됩니다. 수직 정렬이 이루어지지 않는 것처럼 보이는데 실은 정상입니다. 이미지는 커다란 글자 하나와 다를 바 없고, 아래 이미지에서 보이듯, 각 행의 첫 줄에 정렬되어 있습니다. 칼럼 옵션을 다른 어떤 것으로 바꿔봐도 소용없습니다. 정상이니까요.
그래서 이 문제를 해결하려면 약간의 꼼수가 필요합니다.
\includegraphics 앞에 \vspace{0pt}를 주는 것입니다. 그러면 ... 쉽게 말해 줄나눔과 유사한 효과가 발생합니다. 이미지를 둘째 줄로 넘겨버리는 셈이죠.