지난 게시글 들에서 Latex에 대해서 소개하고, 한국어, 중국어, 일본어를 표시하는 방법에 대해서 알아보았다.
이번 게시글에서는 내가 석사 연구를 진행하면서 공부하게 된 격자(lattice,束論)이라는 것을 latex를 통해서 나타내기 위해 사용한 방법에 대해서 간단히 공유하도록 하겠다. 처음에 나도 어떻게 그려야할 지 잘 몰랐지만, 다음과 같은 방법을 이용하면 손을 사용하지 않아도 되고, 깔끔하게 잘 나온다. 언젠가 한국에서도 격자를 활용한 연구가 시행된다면 참고해주기 바란다.(제발 나 졸업한 이후에 그런 일이 벌어지길 바란다.)
그냥 간단히 코드를 공유하도록 하겠다. 직접 overleaf에 넣어서 실행 시켜보면 바로 실행될 것이다. 참고로 위부분의 문서 포멧은 얼마든지 바꾸어도 된다. 중요한건 \usepackage부터 문서 시작전까지의 부분이다.
\documentclass[a4paper]{bxjsarticle}
\usepackage{zxjatype}
\usepackage[ipa]{zxjafont}
\usepackage{fancyhdr}
\usepackage[utf8]{inputenc}
%\documentclass[12pt,uplatex]{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{calc}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{figure}[t]
\centering
\begin{tikzpicture}
\foreach \num/\name/\place/\x/\y in {
1/$1$: aa/right/-0/1,
2/$2$: aa/right/-1/0,
3/$3$: aa/right/1/0,
4/$4$: aa/right/0/-1,
5/$5$: aa/right/0/-2
}
{
\node[draw,circle,minimum size=1mm,inner sep=0pt] (\num) at (\x*5 mm,\y*5 mm) {};
\draw (\num) node[\place]{\tiny{\name}};
}
\foreach \a/\b in {1/2,1/3,2/4,3/4,4/5,
}
{
\draw (\a) edge (\b);
}
\end{tikzpicture}
\end{figure}
\clearpage
\end{document}
간단히 원리를 설명하자면, Hasse diagram의 묘사를 통해서 lattice의 관계를 나타낸 것이다.
\begin{tikzpicture}
\foreach \num/\name/\place/\x/\y in {
1/$1$: aa/right/-0/1,
2/$2$: aa/right/-1/0,
3/$3$: aa/right/1/0,
4/$4$: aa/right/0/-1,
5/$5$: aa/right/0/-2
}
식별번호/ 정보 /왼쪽 아래쪽 위 아래/ x좌표/ y좌표,
이 부분에서는 "식별번호/ 정보 /왼쪽 아래쪽 위 아래/ x좌표/ y좌표," 를 통해서 각 요소의 위치를 결정해준다.
\foreach \a/\b in {1/2,1/3,2/4,3/4,4/5,
}
식별번호1/식별번호2,
이부분 에서는 "식별번호1/식별번호2,"를 통해서 각 요소간의 연결을 정해준다. 마지막의 ","가 없으면 컴파일 에러가 발생할 수 있으니 주의하도록 하자.
lattice의 관계가 수학적으로 성립하기 위해서는 여러 규칙을 만족할 필요가 있다. 이번 포스팅에서는 간단히 hasse diagram을 이용해서 lattice를 묘사하는 방법에 대해서 소개했다. 기회가 닿는다면 간단하게 대수학의 일부인 lattice에 대해서도 정리해볼까 한다.
'정보, 기술' 카테고리의 다른 글
"데이터를 조회할수 없습니다. 계속 조회가 안될 경우 고객센터로 문의해주세요." | 티스토리 구글 애드센스 신 연동 오류 해결방법! (17) | 2020.10.30 |
---|---|
어도비 파일 동기화 오류 해결하기! (0) | 2020.09.20 |
컴퓨터로 하면 안되는 짓과 해결방법 총정리! | 컴알못 가이드(1) (0) | 2020.08.05 |
다른 기기에서 슬랙(slack) 로그인 하기! (0) | 2020.06.09 |
Overleaf에서의 한국어, 일본어, 중국어 입력하기 (2) | 2020.05.07 |
댓글