Spec-Zone.ru › Octave 8

11.11.1 Публикация файлов сценариев Octave

Функция publish предоставляет динамическую возможность документировать ваш файл сценария. В отличие от статической документации, publish выполняет файл сценария, сохраняет любые графики и вывод во время выполнения сценария и отображает их вместе со статической документацией в нужном формате вывода. Статическая документация может использовать разметку публикации, чтобы улучшить и настроить вывод.

: publish (file) ¶
: publish (file, output_format) ¶
: publish (file, option1, value1, …) ¶
: publish (file, options) ¶
: output_file = publish (file, …) ¶

Создаёт отчёт из файла сценария Octave file в одном из нескольких форматов вывода.

Сгенерированные отчёты интерпретируют разметку публикации в секционных комментариях, подробно описанных в руководстве по GNU Octave. Секционные комментарии представляют собой блоки комментариев, начинающиеся с строки с двойным символом комментария.

Предположим следующий пример, использующий разметку публикации, который является содержимым файла сценария pub_example.m:

## Headline title
#
# Some *bold*, _italic_, or |monospaced| Text with
# a <https://www.octave.org link to *GNU Octave*>.
##

# "Real" Octave commands to be evaluated
sombrero ()

%% MATLAB comment style ('%') is supported as well
%
% * Bulleted list item 1
% * Bulleted list item 2
%
% # Numbered list item 1
% # Numbered list item 2

Для публикации этого файла сценария введите publish ("pub_example.m").

При вызове с одним аргументом входными данными генерируется отчёт HTML в подкаталоге html относительно текущей рабочей директории. Любые команды Octave в pub_example.m оцениваются в отдельном контексте, и любые созданные во время выполнения сценария графики включаются в отчёт.

Использование publish (file, output_format) эквивалентно вызову функции с использованием структуры

options.format = output_format;
publish (file, options)

которая описана ниже. То же самое относится к использованию пар имя/значение

options.option1 = value1;
publish (file, options)

Структура options может иметь следующие имена полей. Если имя поля не указано, используется значение по умолчанию:

  • ‘format’ — Формат вывода опубликованного файла сценария, один из

    ‘html’ (по умолчанию), ‘doc’, ‘latex’, ‘ppt’, ‘pdf’ или ‘xml’.

    Форматы вывода ‘doc’, ‘ppt’ и ‘xml’ в настоящее время не поддерживаются. Чтобы сгенерировать отчёт ‘doc’, откройте сгенерированный отчёт ‘html’ в вашей программе для офисных приложений.

    В Octave пользовательские форматы поддерживаются путём реализации всех подфункций обратного вызова в файле функции с именем ‘__publish_<custom format>_output__.m’. Для получения шаблона для формата HTML введите:

    edit (fullfile (fileparts (which ("publish")), ...
          "private", "__publish_html_output__.m"))
  • ‘outputDir’ — Полный путь к каталогу, в котором будет расположен сгенерированный отчёт. Если каталог не указан, отчёт генерируется в подкаталоге html относительно текущей рабочей директории.
  • ‘stylesheet’ — Не поддерживается, только для совместимости с MATLAB.
  • ‘createThumbnail’ — Не поддерживается, только для совместимости с MATLAB.
  • ‘figureSnapMethod’ — Не поддерживается, только для совместимости с MATLAB.
  • ‘imageFormat’ — Желаемый формат для любых изображений, созданных во время оценки кода. Допустимые форматы изображений зависят от формата вывода:
    • ‘html’, ‘xml’ — ‘png’ (по умолчанию), любой формат изображения, поддерживаемый Octave
    • ‘latex’ — ‘epsc2’ (по умолчанию), любой формат изображения, поддерживаемый Octave
    • ‘pdf’ — ‘jpg’ (по умолчанию) или ‘bmp’, обратите внимание, что MATLAB использует ‘bmp’ в качестве значения по умолчанию
    • ‘doc’ или ‘ppt’ — ‘png’ (по умолчанию), ‘jpg’, ‘bmp’ или ‘tiff’
  • ‘maxWidth’ и ‘maxHeight’ — Максимальная ширина (высота) созданных изображений в пикселях. Пустое значение означает отсутствие ограничений. Оба значения должны быть установлены для правильной работы опции.

    ‘[]’ (по умолчанию), целое число ≥ 0

  • ‘useNewFigure’ — Использовать новое окно графики для графиков, созданных оценённым кодом. Это предотвращает побочные эффекты с уже открытыми окнами графиков.

    ‘true’ (по умолчанию) или ‘false’

  • ‘evalCode’ — Оценить код файла исходного кода Octave

    ‘true’ (по умолчанию) или ‘false’

  • ‘catchError’ — Ловить ошибки при оценке кода и продолжать

    ‘true’ (по умолчанию) или ‘false’

  • ‘codeToEvaluate’ — Команды Octave, которые должны быть оценены перед публикацией файла сценария. Эти команды Octave не отображаются в сгенерированном отчёте.
  • ‘maxOutputLines’ — Максимальное количество строк вывода из оценки кода, которые включаются в вывод.

    ‘Inf’ (по умолчанию) или целое число > 0

  • ‘showCode’ — Показывать оценённые команды Octave в сгенерированном отчёте

    ‘true’ (по умолчанию) или ‘false’

Опция вывода output_file — строка с путём и именем файла сгенерированного отчёта.

См. также: grabcode.

Аналогом publish является grabcode:

: grabcode filename ¶
: grabcode url ¶
: code_str = grabcode (…) ¶

Извлекает код из отчёта, созданного функцией publish.

Извлечённый код внутри опубликованного отчёта должен быть заключён в строки ‘##### SOURCE BEGIN #####’ и ‘##### SOURCE END #####’. Функция publish автоматически создаёт этот формат.

Если не требуется значение возврата, код сохраняется во временный файл и открывается в стандартном редакторе. ПРИМЕЧАНИЕ: временный файл должен быть сохранён под новым именем файла, иначе код будет утерян.

Если требуется значение возврата, извлечённый код будет возвращён в виде строки code_str.

Пример:

publish ("my_script.m");
grabcode ("html/my_script.html");

В примере выше файл my_script.m публикуется по умолчанию в расположение html/my_script.html. Затем опубликованный файл сценария Octave извлекается, чтобы отредактировать его содержимое в новом временном файле.

См. также: publish.

© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v8.1.0/Publish-Octave-Script-Files.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API