Настройка размера шрифта с помощью изображения TikZ

Настройка размера шрифта с помощью изображения TikZ

Взяв за основу руководство PGF,

\begin{tikzpicture}
  \draw [help lines] (0,0) grid (3,3);
  \coordinate (a) at (rnd,rnd);
  \coordinate (b) at (3-rnd,3-rnd);
  \draw (a) -- (b);
  \node (c) at (1,2) {x};
  \draw let \p1 = ($ (a)!(c)!(b) - (c) $),
            \n1 = {veclen(\x1,\y1)}
        in circle [at=(c), radius=\n1];
\end{tikzpicture}

Я хотел бы увеличить размер x. Проблема в том, что у меня несколько кругов на одной диаграмме. Для некоторых из них требуется шрифт большего размера, а для других подойдет шрифт по умолчанию. Как это сделать?

решение1

Вы можете изменить размер шрифта внутри узла tikZ так же, как вы это делаете в обычном LaTeX — используйте один из следующих способов:

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge

например

\node (c) at (1,2) {\large x};

или

\node (c) at (1,2) {\large $x$}; %note the \large *outside* the inline math

Редактировать: Чтобы изменить размер шрифтавнутриВ математическом режиме LaTeX предоставляет следующие команды:

\displaystyle
\textstyle
\scriptstyle
\scriptscriptstyle

Использование алгоритмов масштабирования, предоставляемых tikZ/pgf (например, scale=...), масштабирует "весь символ", поэтому он может выглядеть некрасиво, если вы используете слишком большое масштабирование. Если вы зададите размеры шрифта с помощью приведенных выше команд, LaTeX выберет разные символы для разных размеров шрифта. Это гарантирует, что шрифты будут читаемыми и будут иметь достаточно "деталей". Если вы хотите более экстремальное масштабирование, используйте опцию scale=3.0для узла.

решение2

Установите новый стиль, чтобы использовать его позже.

Например:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{relsize}

\tikzset{fontscale/.style = {font=\relsize{#1}}
    }

\begin{document}
\begin{tikzpicture}
  \draw [help lines] (0,0) grid (3,3);
  \coordinate (a) at (rnd,rnd);
  \coordinate (b) at (3-rnd,3-rnd);
  \draw (a) -- (b);
  \node (c) at (1,2) [fontscale=4] {x};
  \draw let \p1 = ($ (a)!(c)!(b) - (c) $),
            \n1 = {veclen(\x1,\y1)}
        in circle [at=(c), radius=\n1];
\end{tikzpicture}
\end{document}

решение3

Вверху напишите

\begin{tikzpicture}[thick,scale=1, every node/.style={scale=1.3}]
\draw [help lines] (0,0) grid (3,3);
\coordinate (a) at (rnd,rnd);
\coordinate (b) at (3-rnd,3-rnd);
\draw (a) -- (b);
\node (c) at (1,2) {x};
\draw let \p1 = ($ (a)!(c)!(b) - (c) $),
        \n1 = {veclen(\x1,\y1)}
    in circle [at=(c), radius=\n1];
\end{tikzpicture}

thick изменяет ваши стрелки, first scale изменяет масштаб вашего рисунка, но второй аргумент изменяет размер ваших узлов, предположительно, там, где у вас есть ваш текст. Это изменится для всех узлов.

решение4

Вы можете использовать fontопцию команды \node. fontОпция принимает типичные команды шрифтов, такие как \node[font = {\Huge\bfseries\sffamily}, red](огромный размер шрифта, жирный, без засечек).

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

(Взято изруководство.)

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

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{calc} 

\begin{document}

\begin{tikzpicture}
  \draw [help lines] (0,0) grid (3,3);
  \coordinate (a) at (rnd,rnd);
  \coordinate (b) at (3-rnd,3-rnd);
  \draw (a) -- (b);
  \node[font = {\normalfont}, red] (c) at (1,2) {x}; % <=== See here!
  \draw let \p1 = ($ (a)!(c)!(b) - (c) $),
            \n1 = {veclen(\x1,\y1)}
        in circle [at=(c), radius=\n1];
\end{tikzpicture}

\begin{tikzpicture}
  \draw [help lines] (0,0) grid (3,3);
  \coordinate (a) at (rnd,rnd);
  \coordinate (b) at (3-rnd,3-rnd);
  \draw (a) -- (b);
  \node[font = {\Huge\bfseries\sffamily}, red] (c) at (1,2) {x}; % <=== See here!
  \draw let \p1 = ($ (a)!(c)!(b) - (c) $),
            \n1 = {veclen(\x1,\y1)}
        in circle [at=(c), radius=\n1];
\end{tikzpicture}

\end{document}

\tiny
\scriptsize
\footnotesize
\small
\normalsize 
\large
\Large  
\LARGE  
\huge   
\Huge

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

(Взято изруководство.)

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