
방금 LaTeX를 배우기 시작했고 이를 위해 마지막 논리 할당의 PDF를 만들려고 했습니다. 그러므로 해상도 트리를 만들어야 했습니다. 인터넷 검색 후 이 플랫폼에서 tikz-tree를 사용하는 몇 가지 예를 찾았습니다. 내 결과는 다음과 같습니다.
\documentclass[12pt, a4paper]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage{pdflscape}
\usetikzlibrary{calc,fit,trees}
\begin{document}
\begin{landscape}
\begin{tikzpicture}[
grow'=up,
level 1/.style={sibling distance=16em},
level 2/.style={sibling distance=15em},
level 3/.style={sibling distance=15em},
level 4/.style={sibling distance=12em}]
\node (f) {$\Box$}
child { node (1l) {
\begin{tabular}
$\varphi_{T32}$ \\
$Q(a, f(g(a)))$ \\
\end{tabular}}
child { node (2ll) {
\begin{tabular}
$\varphi_{T31}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a)))$
\end{tabular}}
child {node (3lll) {
\begin{tabular}
$(\varphi_2)_{[x/a \text{, } y/f(g(a))]}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a))) \lor \lnot P(g(a))$ \\
\end{tabular}}}
child {node (3llr) {
\begin{tabular}
$\varphi_{T1}$ \\
$P(g(a))$
\end{tabular}}
child { node(llrl) {
\begin{tabular}
$(\varphi_3)_{[x/f(a) \text{, } y/b]}$ \\
$Q(f(a),g(b)) \lor P(g(a))$ \\
\end{tabular}}}
child { node(llrr) {
\begin{tabular}
$\varphi_4$ \\
$\lnot Q(f(a),g(b)) \\
\end{tabular}}}}}
child { node (2lr) {
\begin{tabular}
$\varphi_{T2}$ \\
\lnot R(g(a), f(g(a))) \\
\end{tabular}}
child {node (3lrl) {
\begin{tabular}
$\varphi_{T1}$ \\
$P(g(a))$
\end{tabular}}}
child {node (3lrr) {
\begin{tabular}
$\varphi_1_{[x/g(a)]}$ \\
$\lnot R(g(a), f(g(a)) \lor \lnot P(g(a)))$ \\
\end{tabular}}}}
}
child {node (1r) {\begin{tabular}
$(\varphi_5)_{[y/a]}$ \\
$\lnot Q(a, f(g(a)))$ \\
\end{tabular}}};
\end{tikzpicture}
\end{landscape}
\end{document}
그리고 이것은 제가 원했던 모습과 똑같습니다. 하지만 그럼에도 불구하고 여전히 몇 가지 오류가 나타나고 학습상의 이유로 여러분에게 제 실수가 무엇인지 묻고 싶었습니다. 이번에는 작동하지만 어쩌면 저도 같은 실수를 저지르게 될 것이기 때문입니다. 다음 번에는 더 이상 컴파일되지 않습니다.
답변1
이렇게 하면 문제가 해결됩니다.
내가 무슨 짓을 한?
- 필요한 경우 누락된 기호를 추가했습니다
$
(총 3개 추가). - '이중 첨자'를 피하세요. 예를 들어
$x_i_1$
오류가 발생한다고 말하면 다음과 같이 그룹화해야 합니다.$x_{i_1}$
- 그림에
tabular
추가하는 경우 필요하지 않은 환경을 제거 하고 마지막 줄 바꿈을 제거했습니다(단순함을 위해).align=center
inputenc
내 편집기에서 해당 인코딩을 사용하지 않기 때문에 제거했습니다 (그러나 사용을 고려하는 것이 좋습니다utf8
).- 나는 이것을 로드
amsmath
하고 몇 가지 수정/개선 사항을 추가했습니다.mathtools
amsmath
만약 너라면오류를 읽어보세요컴파일할 때 많은 사람들이 문제가 무엇인지 알려줍니다. 항상 그런 것은 아니지만 예를 들어 표지판이 누락된 경우에는 확실히 그렇습니다 $
.
\documentclass[12pt, a4paper]{article}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{pdflscape}
\usetikzlibrary{calc,fit,trees}
\begin{document}
\begin{landscape}
\begin{tikzpicture}[
align=center,
grow'=up,
level 1/.style={sibling distance=16em},
level 2/.style={sibling distance=15em},
level 3/.style={sibling distance=15em},
level 4/.style={sibling distance=12em}]
\node (f) {$\Box$}
child { node (1l) {
$\varphi_{T32}$ \\
$Q(a, f(g(a)))$
}
child { node (2ll) {
$\varphi_{T31}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a)))$
}
child {node (3lll) {
$(\varphi_2)_{[x/a \text{, } y/f(g(a))]}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a))) \lor \lnot P(g(a))$
}}
child {node (3llr) {
$\varphi_{T1}$ \\
$P(g(a))$
}
child { node(llrl) {
$(\varphi_3)_{[x/f(a) \text{, } y/b]}$ \\
$Q(f(a),g(b)) \lor P(g(a))$
}}
child { node(llrr) {
$\varphi_4$ \\
$\lnot Q(f(a),g(b))$
}}}}
child { node (2lr) {
$\varphi_{T2}$ \\
$\lnot R(g(a), f(g(a)))$
}
child {node (3lrl) {
$\varphi_{T1}$ \\
$P(g(a))$
}}
child {node (3lrr) {
$\varphi_{1_{[x/g(a)]}}$ \\
$\lnot R(g(a), f(g(a)) \lor \lnot P(g(a)))$
}}}
}
child {node (1r) {
$(\varphi_5)_{[y/a]}$ \\
$\lnot Q(a, f(g(a)))$
}}
;
\end{tikzpicture}
\end{landscape}
\end{document}