Теги спецнабора

=форматирование=
=матформулы=
=ссылки=
=обрисовка=
=списки=
=картинки=
=таблицы=
=размещение: объекты & текст=

=== ф о р м а т и р о в а н и е ===
[sp](N) число вставляемых пробелов в данном месте строки (N >= 0);
[h]
[hN]
тег, находящийся в начале каждой строки заголовка и задающий параметры выдачи заголовка всего документа или его разделов; число N=1,2,3 определяет поправку изменения размера шрифта (height) от базового значения; если тексту заголовка не предшествуют начальные пробелы, например, в начальном теге [sp](...), то текст заголовка центрируется;
[/h] конец заголовка (обязателен, если сразу за ним в строке начинается основной текст);
[p] пустая строка;
[p]... начало абзаца с "красной строки";
[pp]... начало абзаца без "красной строки"
[/p] конец абзаца (необязательный тег), альтернатива - пустая строка, начало нового абзаца, заголовок или теги объектов вставки (картинка, таблица, список);

Note. Для корректного выравнивания строк абзаца, содержащего заключенную в двойные кавычки подстроку, состоящую из нескольких лексем, рекомендуется расположить начало и конец этой подстроки на разных строках входного текста.

[i]...[/i] обрамляющие теги стиля шрифта
курсив;
[b]...[/b] обрамляющие теги стиля шрифта
жирный;
[u]...[/u] обрамляющие теги стиля шрифта
подчеркивание;
[i][u]...[/u][/i]
[u][i]...[/i][/u]
обрамляющие теги стиля шрифта
курсив + подчеркивание;
[i][b]...[/b][/i]
[b][i]...[/i][/b]
обрамляющие теги стиля шрифта
курсив + жирный;
[b][u]...[/u][/b]
[u][b]...[/b][/u]
обрамляющие теги стиля шрифта
жирный + подчеркивание;

[fn](fName [,fSize]) тег установки нового шрифта, отличного от базового, для выдачи следующего абзаца или строки:
fName   имя шрифта вместо базового для выдачи полного абзаца или отдельного фрагмента в строке:
  Arl   шрифт Arial,
  Cur   шрифт Courier New,
  Rom   шрифт Times New Roman;
  0   возврат к базовому шрифту и поправки к его размеру;
fSize   поправка к базовому размеру шрифта для выдачи следующего текста (параметр может отсутствовать):
  N   значение поправки - целое число со знаком;

Note. Этот тег позволяет выдать текст шрифтом, отличным от базового, например,
a) выдача отдельного абзаца шрифтом Courier с уменьшенным размером от базового:
[fn](Cur,-1)
[pp]текстовый абзац...
[fn](0)

b) вставка в строку фрагмента шрифтом Arial:
начало строки [fn](Arl)фрагмент[fn](0) конец строки
c) вставка в абзац фрагмента шрифтом Arial:
[pp]начало абзаца[br]
[fn](Arl)
фрагмент вставки[br]
[fn](0)
[pp]конец абзаца

[sz](N) поправка к базовому размеру шрифта (Size) для вывода последующей текстовой информации (N - положительное или отрицательное целое), при N=0 возврат к базовому размеру шрифта;
[sh](J1|J2)
[sh](0)
сдвиг последующих абзацев на J1 позиций от левого поля страницы и на J2 позиций от правого поля страницы, возврат к исходному состоянию задается 0-ым значением параметра;
[cl](Colr)
...
[cl](none)
цвет Colr для вывода отдельного фрагмента:
none - по умолчанию (черный) или отмена заданного цвета, black - черный, maroon - темно-красный, green - зеленый, olive - оливковый, navy - темно-синий, purple - пурпурный, teal - стальной, gray - серый, silver - серебряный, red - красный, lime - ярко-зеленый, yellow - желтый, blue - синий, fuchsia - фиолетовый, aqva -бирюзовый, white - белый;

Note. Этот тег применяется для цветового оформления как фрагмента текста, так и для матформулы, например, выделение синим цветом -
... [cl](navy)текстовый фрагмент[cl](none) ...
... [cl](navy)[s]запись матформулы[/s][cl](none) ...

[br] переход на новую строку;
[fl] выравнивание последней строки абзаца по ширине страницы перед переходом на новую строку [fl][br] или для конечной строки абзаца [fl][/p];
[ml] центрирование текущей строки абзаца по ширине страницы; например, центрирование пронумерованной формулы: [pp][s]...[/s][ml] (1)[fl]
[pg] переход на новую страницу (тег находится в начале отдельной строки);
[po](...) текст, заключенный в круглые скобки, выводится между предыдущей и последующей строкой, не занимая отдельной строки; например, для межстроковой нумерации двух матформул:
[pp][s]...[/s]         //матформула
[po]([pp](7)[fl]) //нумерация справа (7)
[pp][s]...[/s]         //матформула

=== м а т ф о р м у л ы ===
[s]...[/s] обрамляющие теги для специального текстового представления формул и символов, которое находится в файле запроса;

Note. Если матформула располагается внутри текста, оформленного тегами стиля, то необходимо для корректной работы обрамляющие куски текста закрыть или открыть соответствующими тегами стиля, например
[i]...[/i] [s]...[/s] [i]...[/i]

Note. Для задания подстрочной или надстрочной части в основной формуле используется автономная формула, располагающаяся в следующей или предыдущей строке основной формулы и начинающаяся с префикса:
 _up_    подстрочная формула, приподнятая на 1/2 высоты строки с сохранением размера текущего шрифта,
 _upN_    при задании N>=0 увеличивается высота поднятия и уменьшается размер текущего шрифта на 2 пункта (устанавливается максимальное значение N из всех подстрочных формул в текущей строке);
 _dn_    надстрочная формула, приспущенная на 1/2 высоты строки с сохранением размера текущего шрифта,
 _dnN_    при задании N>=0 увеличивается высота опускания и уменьшается размер текущего шрифта на 2 пункта (устанавливается максимальное значение N из всех надстрочных формул в текущей строке);
(например, с начальной подгонкой пробелами к позиции основной формулы: [sp](10)[s]_up2_K>0[/s] или [s]_up2_String(          )&K>0[/s]).

=== с с ы л к и ===
[r] (link,"text") a) тег для задания внешней ссылки (web или mail) с двумя параметрами:
  link   ссылка без пробелов вида:
https://... (адрес web-ссылки) или
mailto:... (адрес mail-ссылки)
  "text"   текст под ссылку, заключенный в двойные кавычки)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  b) тег для задания внутренней ссылки на закладку (bookmark) с двумя параметрами:
  link   ссылка без пробелов вида:
bmark:... (имя закладки в тексте)
  "text"   текст под ссылку, заключенный в двойные кавычки)
[m] (bookmark) тег установки в тексте закладки для внутренней ссылки, всегда располагающийся в начале строки
(bookmark - имя закладки без пробелов); создание ссылок на элементы списка - см.тег [lh];

Note. В начале каждой страницы автоматически устанавливается закладка вида [m](Page#n), где n - номер страницы, а в тексте документа можно установить на нее ссылку.
Примеры ссылок:
[r](https://orcid.org/0000-2248,"0000-2248")
[r](mailto:zaripov@mail.ru,"zaripov@mail.ru")
[r](bmark:Avtors,"Иванов И.И.")
[m](Avtors)текст после закладки
[r](bmark:Page#5,"стр.5")

Note. Если тег [r] располагается внутри текста, оформленного тегами стиля, то необходимо для корректной работы обрамляющие куски текста закрыть или открыть соответствующими тегами стиля, а для задания стиля самой ссылки необходимо обрамить её соответствующими стилевыми тегами, например
[i]...[/i] [r](...) [i]...[/i] ... [u][r](...)[/u] ...

=== о б р и с о в к а ===
[o]( ... ) тег для задания обрисовки области страницы (текст или формула) геометрической фигурой с параметрами:
fgtype="..."   определяет фигуру обрисовки:
  0   прямоугольник (по умолчанию),
  1   прямоугольник с закругленными углами,
  2   эллипс (в частности круг);
ofline="0"   число символов (по ширине пробела) смещения левого края фигуры обрисовки по текущей строке (если 0 - от начала строки);
wdline="0"   число символов (по ширине пробела), определяющих ширину фигуры обрисовки в текущей строке (если 0 - вся строка);
addoftop="0"   число добавочных пикселей смещения фигуры обрисовки от верхнего края текста или формулы (по умолчанию 0, допустимо отрицательное значение);
addofbot="0"   число добавочных пикселей смещения фигуры обрисовки от нижнего края текста или формулы (по умолчанию 0, допустимо отрицательное значение);
addofline="0"   число добавочных пикселей смещения фигуры обрисовки по текущей строке (по умолчанию 0, допустимо отрицательное значение);
addwdline="0"   число добавочных пикселей ширины фигуры обрисовки в текущей строке (по умолчанию 0, допустимо отрицательное значение);
penwdh="2"   ширина пера для рисования фигуры в пикселях (по умолчанию 2);
penclr="..."   цвет рисования фигуры, определенный выше в теге [cl] (по умолчанию - текущий);
penstl="..."   стиль рисования фигуры: psSolid, psDash, psDot, psDashDot, psDashDotDot (по умолчанию - текущий);
brushclr="..."   цвет кисти рисования фигуры, определенный выше в теге [cl] (по умолчанию - текущий);
brushstl="..."   стиль кисти рисования фигуры: bsSolid, bsDiagCross, bsCross, bsBDiagonal, bsFDiagonal, bsHorizontal, bsVertical, bsClear (по умолчанию - прозрачный);
[/o] тег, определяющий конец области и обрисовка её геометрической фигурой;

Note. Область страницы, подлежащая обрисовкой геометрической фигурой, располагается между тегами [o]...[/o] и может определяться в границах позиций строки, задаваемых тегом [sh](J1|J2) перед тегом обрисовки:
. . . . . . . . . .
[sh](15|15)
[o](fgtype="2" penclr="teal" penwdh="1" ofline="19" wdline="10")
Формула[sp](5)[s]c/Sqrt(rho_0)[/s][sp](5)см.раздел 2.
[/o]
[sh](0)
. . . . . . . . . . .

=== с п и с к и ===
[l]( ... ) тег начала основного или вложенного списка с параметрами:
type="..."   определяет тип маркера списка:
пусто|-1   без маркера,
  0   маркер в виде "-",
  1   маркер-перечислитель в виде арабских цифр (1,2,3,...),
  2   маркер-перечислитель в виде больших римских цифр (I,II,III,...),
  3   маркер-перечислитель в виде маленьких римских цифр (i,ii,iii,...),
  4   маркер-перечислитель в виде прописных латинских букв (A,B,C,...),
  4r   маркер-перечислитель в виде прописных русских букв (А,Б,В,...),
  5   маркер-перечислитель в виде строчных латинских букв (a,b,c,...),
  5r   маркер-перечислитель в виде строчных русских букв (а,б,в,...),
  6   маркер в виде диска,
  7   маркер в виде ромбика,
  8   маркер в виде кружка;
lipref="..."   начальные символы до маркера-перечислителя (допускается использование спецформулы), например, "[" или для длинной вертикальной черты,
"[s]At(Empty,Empty)[/s][sp](2)";
lidelim="..."   конечные символы после маркера-перечислителя (допускается использование спецформулы), например, "]";
liposit="..."   позиция маркера по отношению к тексту:
пусто|out   текст пункта при переводе строки оставляет висячий маркер-перечислитель,
ins   текст пункта при переводе строки начинается под маркером-перечислителем;
lilength="..."   число позиций, занимаемых вычисляемым перечислителем (по умолчанию - "3");
lioff="..."   число позиций сдвига строки вложенного цикла относительно внешнего цикла (по умолчанию - "2"); чтобы игнорировать сдвижку строк надо задать значение "-1";
listyle="..."   стиль шрифта элемента списка:
пусто   текст без стиля,
i   курсив,
b   полужирный,
u   подчеркнутый;
lifont="..."   имя шрифта элементов списка:
пусто   текущий шрифт,
msf   моноширинный шрифт (Courier New) устанавливается для всего списка в параметре головного списка;
liwidth="..."   ограничительная ширина строк списка:
пусто   список прижат к левому краю страницы,
N%   задается в процентном отношении от ширины страницы печати (можно использовать при обтекании списка текстом слева),
obj   признак для определения ширины списка как разности между шириной листа печати и шириной объекта (таблица, картинка) при обтекании объекта этим списком справа или слева;
lhsize="..."   размер шрифта заголовка:
пусто   текущий размер,
l   увеличенный,
s   уменьшенный;
shift="..."   сдвиг списка от левого края страницы печати (устанавливается по значению головного списка):
пусто   список прижат к левому краю страницы,
N   число пробелов сдвижки от левого края страницы,
N%   задается в процентном отношении от ширины страницы печати (можно использовать при обтекании списка текстом слева),
obj   признак учета ширины объекта (таблица, картинка) для сдвига списка от левого края страницы при обтекании объекта этим списком справа;
[lh] тег для задания строк заголовка списка (многострочный заголовок может иметь этот тег перед каждой строкой заголовка или содержать тег [br] для переноса строки заголовка);шрифт заголовка определяется параметром lhsize, а текст может содержать обрамляющие теги стиля шрифта форматирования;

Note. Перед тегом можно разместить тег закладки [m](Lname), определяющий переход на начало списка, при этом закладки на каждый элемент списка будут создаваться автоматически с именами Lname#n, где n=1,2..., при этом ссылка, например на элемент списка [5], будет иметь вид: [[r](bmark:Lname#5,"5")];

[li] тег для задания пункта списка (перед каждым пунктом); чтобы пропустить текущий пронумерованный пункт списка, следует задать текст: skipli
[/l] тег для задания конца списка (на отдельной строке);
[/l]... тег для задания конца списка:
1) с ограничительной строкой, где наличие конечных символов [br] определяет число дополнительных пустых строк в конце списка (например, в конце списка строка подчеркивания с начальным отступом и две пустых строки:
[/l][sp](5)_____________[br][br] );
2) с признаком contobj, если список обтекает объект (картинку), а затем добавляется текст для продолжения обтекания объекта (например, текст обтекания после списка, отделяющийся пустой строкой:
[/l]contobj
[br]текст после списка );

Note. Дополнительные теги позволяют создать через список иерархическое содержание документа с указанием страниц и расположением на странице в виде двух колонок с разделительной вертикальной линией:

[ld](N%)   тег для указания места разделения списка, т.е. перенесения оставшихся пунктов списка во вторую колонку со сдвигом от левого края страницы на N% от ее ширины;
[pn](N)   тег для указания номера страницы N, приформированной к концу строки пункта содержания с точечным отступом, где N можно задать как:
- явный номер страницы n>=1
- ссылка на страницу с явным номером для пункта содержания [r](bmark:закладка,"n")
- ссылка на страницу с генерируемым номером для пункта содержания [r](bmark:закладка,"pglink"), на что указывает признак 'pglink' (см.тег [r]), например:
[li]Введение[pn](3)
[li]Введение [pn]([r](bmark:Point_1,"pglink")), при этом надо задать в тексте закладку перед названием текущего пункта [m](Point_1);
[/l]vertsep   признак 'vertsep' после тега указывает на необходимость вертикальной разделительной линии между колонками;

Note. В титульной или завершающей строке списка, а также в качестве строки списка, можно задать односимвольную строку по всей ширине списка (через конструкцию [sp](0)...[fl]), например:
[hl][sp](0)*[fl] - строка из звездочек
[li][sp](0)[s]Symbol(8212)[/s][fl] - сплошная линия

=== к а р т и н к и ===
[g]( ... ) для вставки картинки с параметрами:
src="..."   доступ к графическому файлу формата bmp, gif, jpg, ico и др. полный или относительно каталога запуска редактора,
width="..."   ширина картинки в пикселях или как % к реальному размеру картинки,
height="..."   высота картинки в пикселях или как % к реальному размеру картинки,
hspace="..."   поле слева и справа от картинки в пикселях,
vspace="..."   поле над и под картинкой в пикселях,
align="..."   расположение картинки:
left - слева, right - справа, center - в центре, line - в ряд,
border="..."   ширина рамки картинки в пикселях,
offtitsz="-1"   коррекция размера текущего шрифта для выдачи подписи (по умолчанию уменьшение на -1, для сохранения текущего значения - 0);
title="..."   подпись, располагающаяся под картинкой;

=== т а б л и ц ы ===
[t]( ... ) тег для вставки таблицы с параметрами:
C:\tabl\dat.tbl   путь доступа к tbl-файлу таблицы полный или относительно каталога запуска редактора (файл создается в редакторе через меню [Таблица]);

Note. Таблицы с расширением tbl предварительно создаются на интерактивной форме, вызываемой через меню [Таблица], и могут редактироваться в процессе создания файла запроса для генерации документа, а основы работы с таблицей приведены в меню [Информация]-->[Работа с таблицей].

Note. Имеется возможность задать заголовки "T" (T - произвольный текст или конструкция вида "img:<графический файл формата bmp, gif, jpg, ico и др.>", при этом файл задается с полным путем доступа или относительно каталога с адресом текущей таблицы) в области объединенных строк J и объединенных столбцов N таблицы через дополнительные параметры:
R{N}="T"  
  - для строки 0 и столбца N (от 0 до ColCount-1),
R{N1:N2}="img:Pict.jpg"  
  - для строки 0 и диапазона столбцов (Ni от 0 до ColCount-1 или отрицательное N при отсчете от ColCount),
R{J#N}="T"  
  - по строке J (от 0 до RowFixCount-1) и столбцу N,
R{J1:J2#N1:N2}="T"  
  - для диапазона строк (Ji от 0 до RowFixCount-1 или отрицательное J при отсчете от RowFixCount) и диапазона столбцов Ni;

Note. Изображение может быть также вставлено в любую ячейку информационной зоны таблицы в виде конструкции "img:<графический файл формата bmp, gif, jpg, ico и др.>", при этом файл задается с полным путем доступа или относительно каталога с адресом текущей таблицы.

Note. Текст в ячейке можно расположить вертикально, задав соответствующий размер ячейки по вертикали, достаточный для его размещения, и указав перед текстовой строкой тег:
[vt]... текст, расположенный после этого тега должен содержать только текстовые символы и располагается в ячейке вертикально "снизу вверх";

Note. Ячейку таблицы можно визуально разделить диагональю, имеющей вершины, сдвинутые по горизонтали от противоположных углов таблицы на N% от ширины ячейки, для этого перед текстом, содержащимся в ячейке, помещается тег:
[dg](N%) задание диагонали через ячейку таблицы со сдвижкой вершин от верхнего левого и правого нижнего углов на N% (N=0,1,...) или прямо от углов, если параметр отсутствует [dg]();

Note. В ячейке таблицы можно установить индивидуальный фон подложки, для этого перед текстом, содержащимся в ячейке, помещается тег:
[bg](Сolr) задание цвета фона ячейки таблицы, значение параметра Сolr - см.тег [cl]; например, [bg](gray)12.345

Note. Расположение текста в ячейке в зависимости от его вида:
- текст, состоящий из одной строки, центрируется в ячейке по вертикали и горизонтали,
- текст, состоящий из нескольких строк, размещается от верхней границы ячейки и центрируется по горизонтали,
- текст, начинающийся тегом [sp](n), размещается со сдвигом на n пикселей от левой границы ячейки,
- текст, заканчивающийся тегом [fl], сдвигается к правой границе ячейки, а для сохранения числа пробелов между лексемами текста надо использовать тег [sp](n), где n - число пробелов.

Note. Расположение таблицы на странице печати определяется заданием левого ( ofLf ) и правого ( ofRt ) отступов при создании таблицы на интерактивной форме и удовлетворяет следующим правилам:
- при ofLf=ofRt=0 таблица располагается по центру;
- при ofLf < ofRt таблица прижимается влево на расстоянии левого отступа;
- при ofRt < ofLf таблица прижимается вправо на расстоянии правого отступа;
- при расположении таблицы в одной строке с другим объектом надо задать ofLf=ofRt, но отличными от 0 (значение отступа определяет расстояние между объектом и таблицей);
- при расположнии нескольких таблиц в одном ряду без разделительных пробелов у примыкающей таблицы надо задать ofLf=0 и ofRt > 0.

Note. Небольшая "подгонка" расположения таблицы на странице при обтекании ее текстом может осуществляться заданием верхнего и/или нижнего поля, при этом следует иметь в виду, что каждая единица значения соответствует примерно 1/4 высоты символа пробел для текущего в данный момент шрифта (имя, размер).

=== размещение: объекты & текст ===

Для объектов вставки (картинка, таблица, список) допускается обработка объектов и обрамляющего текста в зависимости от их расположения в исходном тексте:
- подряд стоящие строки с тегами означают, что эти объекты будут располагаться рядом на странице; например, задание на выходе двух таблиц рядом:
. . . . . . . . . . .
[t](C:\resr\tab1.tbl)
[t](C:\resr\tab2.tbl)
. . . . . . . . . . .
- объекты (таблицы, картинки, списки), разделенные строкой с тегом [sz](), размещаются на странице один под другим и могут обтекаться текстом совместно; например, при задании картинки под таблицей с заданным уменьшенным размером шрифта:
. . . . . . . . . . .
[sz](-1)
[t](C:\resr\tab.tbl)
[sz](0)
[sz]()
[g](src="C:\resr\img.gif" ... )
. . . . . . . . . . .
- текст, обтекающий объект с одной из его сторон, должен начинаться на следующей строке за конечным тегом, описывающим объект и не должен начинаться с тега начала абзаца [p] или [pp]; например, задание обтекания картинки справа поясняющим текстом:
. . . . . . . . . . . . . . . . . . .
[g](src="С:\pict\ris3.jpg" align="left" hspace="16" vspace="16" title="Рис.3")
[sp](3)Рисунок иллюстрирует ...
. . . . . . . . . . . . . . . . . . .
- список может участвовать в обтекании другого объекта, но в этом случае необходимо определить ширину списка и возможное смещение от левого края страницы при обтекании объекта справа), что делается автоматически при задании признака "obj"; например обтекание таблицы списком справа:
. . . . . . . . . . . . . . . . . . .
[t](C:/Документы/tab5_14.tbl)
[sp](3)Aлгоритм для решения задачи по шагам:[br][br]
[l](type="1" lipref="Шаг " lidelim=". " lilength="1" liposit="out" liwidth="obj" shift="obj")
[lh][b]Алгоритм бильярдного моделирования.[/b]
[li]Вычисляется значение радиуса базовых шаров.
[li]Осуществляется сдвиг шаров по заданному направлению.
[li]Осуществляется сдвиг шаров в случайном направлении.
[/l]
. . . . . . . . . . . . . . . . . . .
- в спецнаборе можно "слить" таблицы, имеющие одинаковую ширину столбцов, например, для объединения ячеек и столбцов внутри общей таблицы; для этого следует использовать между таблицами связующую строку с тегом [sz]() :
[sz](-1)        //умешьшенный размер текста
[t](D:\tab1.tbl R{ ... }="Текст" ...)
[sz]()
[t](D:\tab2.tbl R{ ... }="Текст" ...)
[sz]()
[t](D:\tab3.tbl R{ ... }="Текст" ...)
[sz](0)        //исходный размер текста