Files - Работа с временными файлами в tcolorbox

В этом разделе рассматривается управление временными файлами, которые используются при работе с tcbwritetemp и cbusetemp.

Files - Работа с временными файлами в tcolorbox

В этом разделе рассматривается управление временными файлами, которые используются при работе с tcbwritetemp и \tcbusetemp.


1. Основные команды и параметры

Опция / Команда Синтаксис Описание
tempfile tempfile=<имя_файла> Устанавливает имя временного файла (по умолчанию: \jobname.tcbtemp).
\tcbwritetemp \tcbwritetemp{<содержимое>} Записывает содержимое во временный файл.
\tcbusetemp \tcbusetemp Вставляет содержимое временного файла в документ.

2. Примеры использования

2.1. Изменение имени временного файла

\documentclass{article}
\usepackage{tcolorbox}

\begin{document}

\tcbset{tempfile=mytempfile.tmp} % меняем имя временного файла

\begin{tcolorbox}[title=Пример с временным файлом]
Содержимое блока будет записано в \texttt{mytempfile.tmp} вместо \texttt{\jobname.tcbtemp}.
\end{tcolorbox}

\end{document}

Результат:
Временный файл будет называться mytempfile.tmp вместо стандартного <имя_документа>.tcbtemp.


2.2. Запись и использование временного файла

\documentclass{article}
\usepackage{tcolorbox}

\begin{document}

% Записываем текст во временный файл
\tcbwritetemp{Этот текст будет сохранён во временный файл.}

% Вставляем содержимое временного файла в документ
\begin{tcolorbox}[title=Содержимое временного файла]
\tcbusetemp
\end{tcolorbox}

\end{document}

Результат:
В блоке tcolorbox отобразится текст, записанный через \tcbwritetemp.


3. Важные замечания

  1. Имя файла по умолчанию
    Если не указать tempfile, будет использоваться <имя_документа>.tcbtemp (например, document.tcbtemp).

  2. Автоматическое управление

    • \tcbwritetemp автоматически записывает содержимое в указанный временный файл.
    • \tcbusetemp автоматически вставляет его в документ.
  3. Очистка временных файлов
    LaTeX не удаляет временные файлы автоматически - их нужно удалять вручную или с помощью скриптов сборки.


4. Полный пример

\documentclass{article}
\usepackage{tcolorbox}

\begin{document}

% Устанавливаем кастомное имя файла
\tcbset{tempfile=my_custom_tempfile.tmp}

% Пишем текст во временный файл
\tcbwritetemp{
Этот текст был записан во временный файл \texttt{my\_custom\_tempfile.tmp}.
}

% Вставляем содержимое файла в бокс
\begin{tcolorbox}[
  colframe=blue,
  colback=white,
  title=Пример работы с временными файлами,
  fonttitle=\bfseries
]
Содержимое временного файла:\\
\tcbusetemp
\end{tcolorbox}

\end{document}

Результат:

  • Создаётся временный файл my_custom_tempfile.tmp
  • Его содержимое вставляется в цветную рамку

Вывод

Опция tempfile позволяет:

  • Контролировать имена временных файлов
  • Избегать конфликтов при использовании нескольких документов
  • Организовать сложные схемы работы с содержимым

Команды \tcbwritetemp и \tcbusetemp предоставляют удобный способ:

  • Сохранения промежуточного содержимого
  • Повторного использования текста в документе

Для сложных документов рекомендуется явно указывать tempfile, чтобы избежать неожиданных перезаписей.