В меню

Спецнабор:  списки различной маркировки

 
     Списки - один из самых эффективных способов организации и представления
информации. Различают  списки  по  видам:  упорядоченные,  имеющие  маркеры-
перечислители (арабские и римские цифры, латинские буквы) для своих элементов 
и неупорядоченные, не имеющие маркеров или имеющие однотипные маркеры  (тире,
жирные точки  и другие графические знаки).  Часто  создание  списка  сложной  
структуры вызывает затруднение и для удобства в спецнабор включена возможность
через систему специальных тегов генерировать  списки  различной  конфигурации  
явно не заботясь о визуальной иерархической структуре вложенных списков. 
 
Теги для создания списка (всегда располагаются в начале строки):
 
[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 определяет начальные символы до маркера-перечислителя:
       параметр lidelim определяет конечные символы после маркера-перечислителя:
                      (например, "(" и ") " для нумерации  (1) , (2) …);
       параметр 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'  - признак для учета ширины объекта (таблица, картинка)
                   при обтекании объекта этим списком справа; 
                   при установке соответствующего значения сдвига списка
                   можно задать текст обтекания списка слева,
                   при этом текст начинается на следующей строке 
                   и не должен иметь тега начала абзаца; 
       параметр liwidth ограничительная ширина строк списка:
       не задан  - список прижат к левому краю страницы,
            N%   - задается в процентном отношении от ширины листа
                   печати (например, при обтекании списка справа),
         'obj'   - по признаку определяется разностью между шириной
                   листа печати и шириной объекта (таблица, картинка)
                   при обтекании объекта этим списком справа или слева;
 
[lh] - тег для задания заголовка списка (многострочный заголовок может иметь
       этот тег перед каждой строкой заголовка или содержать тег [br] для переноса
       строки заголовка); шрифт заголовка определяется параметром lhsize, а текст
       может содержать теги стилей форматирования (стилевое оформление);
Note. Перед тегом можно разместить тег закладки [m](Lname), определяющий 
переход на начало списка,при этом закладки на каждый элемент списка будут 
создаваться автоматически с именами Lname#n, где n=1,2..., при этом ссылка, 
например на элемент списка [5], будет иметь вид: [[r](bmark:Lname#5,"5")]
 
[li] - тег для задания пункта списка (располагается перед текстом каждого
       нового пункта списка); текст пункта может иметь стилевое оформление;
       чтобы пропустить текущий пронумерованный пункт списка, следует
       задать текст: skipli   
 
[/l] - тег для задания конца списка (всегда располагается на отдельной строке). 
[/l]... -  строка-ограничитель списка после тега, где наличие конечных
           символов [br] определяет число дополнительных пустых
           строк в конце списка, например, в конце списка строка
           подчеркивания с начальным отступом и две пустых строки:
           [/l][sp](5)_________________________________[br][br]  
[/l]contobj - признак 'contobj' после тега используется если список 
           обтекает объект (картинку), а затем добавляется текст для 
           продолжения обтекания объекта, например, текст обтекания
           после списка, отделяющийся пустой строкой:
           [/l]contobj 
           [br]текст после списка                      
 
Note. Дополнительные теги позволяют создать через список иерархическое
содержание документа с указанием страниц и расположением на странице в
виде двух колонок с разделительной вертикальной линией:
 
[ld](N%)- тег для указания места разделения списка, т.е. перенесения
          оставшихся пунктов списка во вторую колонку со сдвигом от
          левого края страницы на N% от ее ширины;    
[pn](N) - тег для указания номера страницы N, приформированной к концу
          строки пункта содержания с точечным отступом, где N можно задать как:
          - явный номер страницы n>=1 
          - ссылка на страницу с явным номером для пункта содержания
            [r](bmark:закладка,"n")
          - ссылка на страницу с генерируемым номером для пункта содержания
            [r](bmark:закладка,"pglink"), на что указывает признак 'pglink';
            Например:
               [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]  - разделительная сплошная линия
 
Список  может  участвовать  в  обтекании  другого  объекта  (картинка, таблица),
но в этом случае необходимо определить   ширину списка и возможное смещение от
левого края страницы при обтекании объекта справа), что делается  автоматически
при задании признака  "obj".
 
Например,
1) схема простого списка
 
[l](type="1" shift="10%" lidelim=") " lilength="4 liwidth="70%" lhsize="l") 
[lh][b]Заголовок списка[/b]
[li]Пункт списка 1
[li]
Пункт списка 2
[li]Пункт списка 3
[/l]
 
2) обтекание таблицы списком справа: 
 
   . . . . . . . . . . . . . . . . . . . 
  [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]contobj
   . . . . . . . . . . . . . . . . . . . 
 
 

В меню