Как контролировать размер шрифта в графике pgf / tikz в латексе?

Я создаю графики в pgf / tikz. Когда я использую их в своем документе, они масштабируются, некоторые из них находятся в средах, подобных minipage / subfig. Когда это происходит, размеры шрифта масштабируются, а графика становится очень маленькой или нечитаемой. Я просмотрел руководство, но до сих пор безуспешно пытался это контролировать.

Есть ли способ установить размер шрифта напрямую? Какие есть варианты?

Один ответ, приведенный ниже, показывает, как использовать параметр шрифта \ tikzstyle, чтобы указать размер шрифта в среде tikzpicture.

Сейчас я использую:

\beginppgfgraphicnamed{graph}
\input{graph.tex}
\endpgfgraphicnamed

Во входном файле используется среда tikzpicture. Есть ли способы указать размер шрифта в настройках, которые я использую? Возможно, в этом проблема? Файл graph.tex автоматически создается другой программой.

В дополнение к настройке размера шрифта для отдельной графики было бы идеально иметь параметр для глобальной установки размера шрифта для всей графики tikz? Думаю, проблема заключается в масштабировании в minipage или subfig.

Большое спасибо,

Джей


person Jay    schedule 10.02.2010    source источник
comment
Создан отдельный вопрос специально для изменения размера шрифта при масштабировании в minipage / subfig stackoverflow.com/questions/2239328/   -  person Jay    schedule 10.02.2010


Ответы (4)


\begin{tikzpicture}

    \tikzstyle{every node}=[font=\small]

\end{tikzpicture}

предоставит вам контроль размера шрифта на каждом узле.

person Mica    schedule 10.02.2010
comment
Спасибо за быстрый ответ. У меня мой \ input {graph.tex} заключен в \ beginpgfgraphic named {graph} ... \ endpgfgraphic named, как когда я использую среду tikzpicture, как вы это делали выше, получаю сообщение об ошибке превышенного размера. Когда я помещаю туда команду tikzstyle, это не влияет? - person Jay; 10.02.2010
comment
Я использую другой инструмент для преобразования моей графики в pgf ... Я только что более внимательно посмотрел на файл, и в моем входном файле используется \ begin \ end {tikzpicture}. - person Jay; 10.02.2010
comment
Я изменил вывод aroudn, чтобы можно было вручную указать среду tikzpicture. Это дает ошибку. Размер слишком велик. Я не могу работать с размерами более 19 футов. и не удается скомпилировать с помощью \ small, как указано выше. - person Jay; 10.02.2010
comment
Было бы полезно, если бы вы разместили код, который вызывает ваши проблемы. - person Mica; 10.02.2010
comment
вы также можете попробовать: \begin{tikzpicture}[font=\small] - person Mica; 10.02.2010
comment
Также интересно: font=\tiny, font=\scriptsize - person Martin Thoma; 15.07.2012

Я обнаружил, что лучшим контролем будет использование пакета scalefnt:

\usepackage{scalefnt}
...
{\scalefont{0.5}
\begin{tikzpicture}
...
\end{tikzpicture}
}
person Adrian Tam    schedule 02.11.2010
comment
Спасибо, полезное решение! Очень ценно, поскольку не зависит от изменения фактического содержимого tikzpicture. - person chinnychinchin; 03.08.2018
comment
Это единственное, что работает с text along path, если вам нужен очень большой шрифт. - person bitmask; 03.09.2018
comment
Это исправление сработало для меня! - person Tyler R.; 25.06.2021

Я считаю, что путь Мики заслуживает звания ответа, поскольку он недостаточно заметен в качестве комментария:

\begin{tikzpicture}[font=\small]
person mmj    schedule 15.06.2013

Вы также можете использовать:

\usepackage{anyfontsize}

Огромное преимущество пакета anyfontsize перед scalefnt состоит в том, что не нужно заключать весь {tikzpicture} в \scalefont среда.

Простое добавление \usepackage{anyfontsize} в преамбулу - это все, что требуется для того, чтобы произошло волшебство масштабирования шрифта.

person Serge Stroobandt    schedule 20.02.2014