Как создать симплициальные комплексы диаграмм Бетти в Tikz?

Как создать симплициальные комплексы диаграмм Бетти в Tikz?

Я хочу научиться создаватьДиаграммы Беттии их симпликальные комплексы, такие как

введите описание изображения здесь

где мне нужно научиться правильно выравнивать текст (см. Попытку 1) и

введите описание изображения здесь

где мне нужно научиться раскрашивать поверхности и добавлять отдельные черные точки. Диаграммы Бетти находятся на странице 30 книгиГеометрия сизигий. Второй курс алгебраической геометрии и коммутативной алгебры.

ИСПЫТАНИЯ

Испытание 1:$x_1x_2x_3$ плохо в середине узла, а не сбоку, вариант выравнивания?

введите описание изображения здесь

Испытание 2:якоря без текста справа от координаты узла

введите описание изображения здесь

где цель — разместить текст справа от узла.

Испытание 3:края не соединены (неудачно)

введите описание изображения здесь

Общий MWE: с отказом анкера с несоединенными краями (испытание 3), которое можно легко заменить другими испытаниями.

\documentclass[english]{article}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\draw (0,0) node(1){$x_1$};
\draw (1,-1) node(123){};%$x_1x_2x_3$
\draw (2,0) node(2){$x_2$};
\draw (1,-2) node(3){$x_3$};
\draw (1)--(123)--(2);
\draw (3)--(123);
\node [anchor=west] (n123) at (123){$x_1x_2x_3$};
\end{tikzpicture}

\end{document}

Как создать симпликальные комплексы диаграмм Бетти в Tikz?

решение1

Если вы хотите, чтобы узел был расположен "в другом месте" от координаты, вы можете использовать якоря. Независимо от того, как ваши диаграммы могут быть сделаны более эффективно, вы можете, например, написать:

\node[anchor=west] (n123) at (1,-1) {$x_{1}x_{2}x_{3}$};

Это приведет к появлению узла справа от координаты (1,-1).

решение2

Симпликальные комплексы диаграмм Бетти с Tikz

Я предлагаю примитивы coordinate, nodeи drawвместо того, чтобы делать все с drawи node. Первый пример 1 демонстрирует первое, а второй пример 1 демонстрирует последнее. Цветная область может быть сделана с помощью примитивов, таких как fill, drawи , patternгде последний требует \usetikzlibrary{patterns}. Пример 2 демонстрирует различные варианты цветных областей. Наконец, руководство Tikz 4.2.1 и 15.4 полезны для лучшего понимания методов. Раздел 21 (руководство 2, в то время как раздел 23 в руководстве 3.0.1) охватывает прозрачность: имейте команду opacity=0.5в заливке или узоре.

Примерыо диаграммах Бетти с жирными точками, заштрихованной областью, соединенными ребрами и метками, не выходящими за ребра

Пример 1. введите описание изображения здесь

Пример 2. введите описание изображения здесь

МВЭ

\documentclass[english]{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}[x=2cm, y=2cm]
\coordinate [label=left:$x_1$] (1) at (0,0);
\coordinate [label=right:$x_1x_2$] (2) at (2,0);
\coordinate [label=below:$x_3$] (3) at (1,-2);
\coordinate [label=right:$x_1x_2x_3$] (123) at (1,-1);
\node [fill=red,inner sep=2pt] (11) at (1){};
\draw [pattern color=blue, pattern=fivepointed stars] (1)--(123)--(2)--(1);
\draw (3)--(123);
\end{tikzpicture}

\begin{tikzpicture}[x=2cm, y=2cm]
\coordinate [label=left:$x_1$] (1) at (0,0);
\coordinate [label=right:$x_1x_2$] (2) at (2,0);
\coordinate [label=below:$x_3$] (3) at (1,-2);
\coordinate [label=right:$x_1x_2x_3$] (123) at (1,-1);
\node [fill=red,inner sep=2pt] (11) at (1){};
\draw [fill=blue] (1)--(123)--(2)--(1);
\fill (1)--(123)--(3)--(1);
\draw (3)--(123);
\end{tikzpicture}

\end{document}

Руководство Tikz 2.10и новейшее руководство 3.0.1 отSourceforgeнеизмененные разделы 4.2.1 и 15.4. Раздел прозрачности 23, вместо 21, как в 2.10, для руководства 3.0.1. Соответствующие части в виде изображенийздесьиздесь.

Связанный контент