Этот пример добавляет комплексный номер страницы в нижние колонтитулы в Microsoft® Документ Word. Комплексный номер имеет форму [Глава #] [диафрагма] [Страница #], например, 7-1. Можно добавить этот тип номера в верхний или нижний колонтитул. Это можно сделать с помощью шаблона, путем вставки номера страницы в нижний колонтитул и определения свойств номера страницы.
Независимо от того, используется ли шаблон или программа, шаблон должен использовать многоуровневый список для уровня заголовка, который содержит ссылку на главу. Чтобы создать список такого типа:
В шаблоне Word на вкладке Home нажмите кнопку Multilevel List.
Выберите нумерованный элемент заголовка.
Примените к абзацу стиль Normal.
Сохраните и закройте шаблон.
Затем можно использовать программу, подобную этой, чтобы использовать комплексный номер страницы. The ChapterStartStyle
и ChapterSeparator
свойства на PageNumber
Объект задайте, чтобы использовать уровень заголовка 1 для номера главы и en-dash в качестве диафрагмы.
import mlreportgen.dom.*; d = Document('mypages','docx','numberChapters'); open(d); layout = d.CurrentPageLayout; % Page number formatting pgnum = PageNumber(1,'n'); pgnum.ChapterStartStyle = '1'; pgnum.ChapterSeparator = 'endash'; % Add page number object to page layout styles layout.Style = {pgnum}; % layout.Style = [layout.Style {pgnum}]; % Create the footer object and insert a page number myfooter = DOCXPageFooter(); para = Paragraph(); para.HAlign = 'center'; append(para,Page()); append(myfooter,para); % Set PageFooters on the current layout to your footer object layout.PageFooters = myfooter; % Create content for i=1:5 title = append(d,Heading1(['Chapter' num2str(i)])); title.Style = {PageBreakBefore}; for j=1:30 append(d,'This is the body of the chapter'); end end close(d); rptview(d.OutputPath);
Совет
Создайте макет страницы для каждой главы, чтобы перезапустить нумерацию страниц для каждой главы в 1.
mlreportgen.dom.DOCXPageFooter
| mlreportgen.dom.DOCXPageLayout
| mlreportgen.dom.PageNumber