Octave 스크립트 파일 게시하기

Octave 스크립트 파일 게시하기 (Publish Octave Script Files)

publish 함수는 스크립트 파일을 문서화하는 동적인 방법을 제공해요. 정적 문서와 달리 publish는 스크립트 파일을 실제로 실행해서, 실행 중 생긴 그림과 출력을 저장해 원하는 출력 형식으로 정적 문서 옆에 함께 보여줘요. 정적 문서는 Publishing Markup을 사용해 출력을 꾸미고 사용자 정의할 수 있어요.

출처: 문서

본문

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

Octave 스크립트 파일 file에서 여러 출력 형식 중 하나로 보고서를 생성해요. 생성된 보고서는 섹션 주석(section comment) 안의 Publishing Markup을 해석하는데, 이는 GNU Octave 매뉴얼에 자세히 설명되어 있어요. 섹션 주석은 이중 주석 문자로 시작하는 줄로 시작하는 주석 블록이에요.

다음 예제가 pub_example.m 스크립트 파일의 내용이라고 해볼게요. Publishing Markup이 섞여 있어요.

## Headline title
#
# Some *bold*, _italic_, or |monospaced| Text with
# a link.
##

# "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 보고서가 생성돼요. pub_example.m의 Octave 명령들은 별도의 컨텍스트에서 평가되고, 스크립트 실행 중 만들어진 모든 그림이 보고서에 포함돼요.

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 — 평가된 코드가 만드는 그림에 새 figure 창을 사용해요. 이미 열려 있는 figure 창과의 부작용을 피할 수 있어요. '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 스크립트를 가져와 내용을 새 임시 파일에서 편집해요.

더 알아보기

  • Publishing Markup에 대한 내용도 함께 보면 좋아요.