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>처럼 입력하시면 좋습니다.
Tikz에서 layer 처리
2011.02.17 11:25
Tikz를 이용해 표에서 일정 부분을 강조하는 사각형 박스를 표현하려고 합니다. 이 때 사각형 박스를 표의 숫자 뒤로 보내려면 어떻게 해야할까요? 방법을 찾지 못해 [opacity] 옵션으로 처리했는데, 의도는 MS Office의 <레이아웃-정렬>에서 "맨 뒤로 보내기" 효과를 구현하고 싶습니다.
================
\documentclass[10pt,compress,slidetop,%
xcolor={svgnames},% sub-package options
xetex,
t,
]{beamer}
\mode<presentation> % 출력 양식을 프레젠테이션으로
{
\usetheme{Warsaw}
\usecolortheme[named=olive]{structure} % 색상 결정
\usefonttheme[onlymath]{serif} % 수학공식에서 사용하는 글씨체
\setbeamercovered{transparent} % overlay 사용
}
%================== 필요한 패키지 설정 ===============
\usepackage{amsmath, amssymb}
\usepackage{subeqnarray}
\ifxetex\else
\usepackage{graphicx}
\fi
\usepackage{pgfplots, pgfplotstable, gnuplottex, pgfmath}
\usepackage{tikz}
\usetikzlibrary{fit}
\usetikzlibrary{matrix}
\usetikzlibrary{positioning,arrows,shapes,calc,patterns,snakes}
\tikzstyle{every picture}+=[remember picture]
% ================== 한글 사용(한글 사용 설정의 위치에 따라 컴파일이 달라질 수 있음: 폰트 호출의 문제인 듯) =====================
\ifxetex
\usepackage[itemph]{xetexko-var}
\setmainfont[Mapping=tex-text]{Minion Pro}
\setsansfont[Mapping=tex-text]{Myriad Pro}
\setkormainfont{휴먼명조}
\setkorsansfont{휴먼모음T}
\xetexkofontregime[cjksymbols=prevfont]{latin}
%
\else
\usepackage{kotex}
\fi
%==============================================
%================== Bibliography 설정===============
\usepackage%[square,
%sort, numbers, authoryear]
{natbib}
\def\newblock{}
\bibliography{references}
\usepackage{beamerthemesplit}
\renewcommand\refname{참고문헌}
%================================== 표 제어
\usepackage{tabulary}
\usepackage{colortbl} %각 셀에 색을 입힐 수 있음.
\usepackage{threeparttable} %참조 표시
\usepackage{booktabs} %굵은 선 표시
\usepackage{multirow}
% \usepackage{rccol} %소수점 정렬
\usepackage{dcolumn} %소수점 정렬
%
%================== 본문 시작 ==========================
\begin{document}
% ------------------------- 슬라이드 ------------------------
\begin{frame}[shrink]
\frametitle{test}
\begin{table}
\resizebox{\textwidth}{!}{
\begin{threeparttable}
\begin{tabular}{lD{.}{.}{4.4}D{.}{.}{4.4}cD{.}{.}{4.4}D{.}{.}{4.4}}
\toprule
& \multicolumn{2}{c}{test} & & \multicolumn{2}{c}{test}\tabularnewline
\cmidrule{2-3}\cmidrule{5-6}
& \multicolumn{1}{c}{test} & \multicolumn{1}{c}{test} & & \multicolumn{1}{c}{test} & \multicolumn{1}{c}{test}\tabularnewline
\midrule
\rowcolor{yellow!50}test0 & 0.063^{***}& -0.005^{***}& & 0.062^{***}& -0.016^{***}\\
& (31.58) & (-32.31) & & (41.49) & (-95.28) \\
test1 & 0.952^{***}& 0.015 & & 0.868^{***}& -0.025^{***}\\
& (7.36) & (1.47) & & (9.22) & (-2.62) \\
test2 & 0.492^{***}& -0.040^{***}& & 0.717^{***}& 0.020^{***}\\
& (5.03) & (-6.16) & & (10.91) & (3.60) \\
test3 & 0.227^{***}& 0.056^{***}& & 0.257^{***}& 0.055^{***}\\
& (3.37) & (14.21) & & (4.71) & (14.01) \\
test4 & 0.030 & 0.091^{***}& & 0.145^{**} & 0.065^{***}\\
& (0.38) & (21.61) & & (2.26) & (14.66) \\
상수항 & & 3.471^{***}& & & 3.548^{***}\\
& & (638.02) & & & (625.15) \\
\midrule
num0 & \multicolumn{1}{D{,}{,}{4.4}}{1,376} & & & \multicolumn{1}{D{,}{,}{4.4}}{2,430} & \\
num1 & \multicolumn{1}{D{,}{,}{4.4}}{192,739} & \multicolumn{1}{D{,}{,}{4.4}}{192,739} & & \multicolumn{1}{D{,}{,}{4.4}}{217,206} & \multicolumn{1}{D{,}{,}{4.4}}{217,206} \\
\bottomrule
\end{tabular}
\end{threeparttable}
}
\end{table}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
\begin{tikzpicture}[remember picture, overlay, place/.style={ellipse, fill=red!20, text width=1cm}]
\begin{pgfonlayer}{background}
\draw[color=yellow, rounded corners, fill=yellow, opacity=90] (6.9, 3.8) rectangle (10.9, 6.4);
\end{pgfonlayer}
\end{tikzpicture}
\end{frame}
% ------------------------------------------------------------
\end{document}
%==================== 본문 끝 = ===========================
댓글 7
-
nova de hi
2011.02.17 21:12
-
TeX Addict
2011.02.18 09:33
네, 그것은 알고 있습니다만 위의 코드는 표를 작성한 다음, 표의 일부를 강조하는 것입니다. 그런데 tikz의 순서를 따르기 위해 강조하는 부분을 먼저 만들고 표를 그릴 수는 없는 노릇이라서, 결국 새로 추가된 object를 레이어의 맨 아래로 가게끔 지시해야 하는데, 그 방법을 찾지 못하고 있습니다.
-
progress
2011.02.18 09:48
좀 minimal한 소스를 제공해주시면 많은 분들이 테스트해볼 수 있을 것 같습니다.
해당부분만 나오게요. 필요 없는 패키지는 좀 빼시고.
-
karnes
2011.02.18 11:56
그런 거라면... 레이어를 선언할 때 순서를 정해줄 수 있습니다.
예를 들어 \pgfsetlayer{backone, backtwo, backthree} 이렇게 선언하면 backone이 가장 아랫쪽 레이어가 됩니다.
이런 상태에서
\begin{pgfonlayer}{backtwo}
...
\end{pgfonlayer}
\begin{pgfonlayer}{backone}
...
\end{pgfonlayer}
이렇게 코딩해도 코딩 순서에 상관없이 setlayer의 순서대로 backone이 백그라운드로 내려갑니다.
(progress님 말씀대로 좀 테스트하기 쉬운 샘플을 "첨부"해주시면 좋을 것 같습니다.)
-
TeX Addict
2011.02.20 11:35
물론 Karnes님 말씀대로 pgfonlayer를 사용해 봤습니다. 그러나 원하는 효과가 나타나지 않는군요.
앞서 질문에 올린 TeX 코드를 간추리고 파일로도 TeX 코드를 올렸는데,
코드의 중간에 보면 \rowcolor 명령이 있습니다.
즉, 원하는 효과는 tikz를 이용해 삽입한 도형이 \rowcolor와 마찬가지로
셀의 숫자를 가리지 않고 표의 아래(바닥)으로 가게끔 하는 것입니다.
\rowcolor로 구현이 된다면, tikz에서도 가능한 일일텐데
setlayer 설정을 해 주어도 foreground 즉, 표의 숫자를 가리는 형태로 구현되는군요.
-
nova de hi
2011.02.20 22:48
안될 이유는 없고요. 제가 보기엔 레이어 설계를 조금 잘못 하신 듯.
레이어를 겹쳐놓으려면 table 자체도 레이어 상에 있어야 합니다.
첨부 파일을 참고하십시오. \begin[table}... \end{table}은 없앴습니다. 슬라이드에서 floats는 불필요하다고 생각합니다.
-
TeX Addict
2011.02.21 11:31
감사합니다. "\begin{table}"을 제외하고 "\begin{tabular}"를 레이어 처리할 수 있다는 것을 생각 못했군요.
일단 컴파일이 안 돼서 테스트해보지는 못하였지만, 단순히 특정 오브젝트를 배경으로 보내는 조작과 관련해서 말씀드리자면, tikz는 그냥 순서대로 얹힌다고 생각하시면 됩니다.
즉 배경으로 보내고 싶은 부분을 소스의 앞쪽에 위치시키는 것입니다.