Есть ли способ создания более масштабируемой векторной графики с помощью Tikz? (Или это ограничение самого PDF?)

Есть ли способ создания более масштабируемой векторной графики с помощью Tikz? (Или это ограничение самого PDF?)

Я пытаюсь создать графику с помощью TikZ, но результаты на моем экране меня немного разочаровывают. Я не знаю, это TikZ или ограничение PDF. Вот пример, увеличенный на 1000% (я использую VS Code Preview):

зум 1000%

Мы можем ясно видеть, что это пикселизация. Я увеличил масштаб, чтобы было понятнее, но я могу видеть пикселизацию гораздо раньше.

Код, который я использовал для создания этой картинки, находится вэтот репо, и ничего особенного. Я использовал в основном базовые рецепты для рисования кругов и цифр:

% Inside a macro...
\draw[draw = black, line width = 0.1mm, fill = white]
  (#2, #3) circle [smooth, radius = 0.25cm];

Так должно быть? Есть ли способ это улучшить?

Интересно, это пикселизировано, потому что я использовал «конкретные» единицы измерения, mmили cmвместо чего-то более произвольного или общего...

Я искал что-то более похожее на настоящую векторную графику, например, на книгу.Думай как профессионал, Хэнгма, Ён Сан Юн:

Перейти к книге на Kindle

Но мне интересно, происходит ли это из-за Kindle, может быть, PDF не справляется с этим.

Например, я пробовал также увеличивать масштаб до 1000%Перевод книги Go, который я сделалв котором я использовал программное обеспечениеGoWrite2для создания изображений EPS, и результаты выглядят похожими при увеличении, хотя, на мой взгляд, они выглядят немного лучше при меньшем увеличении или вообще без увеличения:

GoWrite2 на 1000%

решение1

(слишком длинно для комментария)

У меня нет проблем с масштабированием PDF-файла, созданного с помощью приведенного ниже кода.

Кривые плавные даже при 3200% в Evince.

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
  \draw[draw = black, line width = 1pt, fill = white,fill=black]
  (0, 0) circle [smooth, radius = 5mm];
  \draw[draw = black, line width = 1pt, fill = white]
  (0, 1) circle [smooth, radius = 5mm];
  \draw[draw = black, line width = 1pt, fill = white,fill=black]
  (1, 1) circle [smooth, radius = 5mm];
  \draw[draw = black, line width = 1pt, fill = white]
  (1,0) circle [smooth, radius = 5mm];
\end{tikzpicture}
\end{document}

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