Главная Обратная связь

Дисциплины:






Команды горизонтального и вертикального размещения



В языке форматирования имеются следующие команды для управления горизонтальным и вертикальным размещением данных:

 

 

Команда Функция

----------- ------------------------------------------------------------

 

Xn ..Вставляет n пробелов

 

Cn Устанавливает n-ю позицию строки (табуляция в позицию n)

 

/ Переход на новую строку (если предыдущая строка не была
пустой)

 

# Переход на новую строку (безусловный)

 

% Удаляет ранее созданные пустые строки (если они есть)

Рис. 7

 

Команда / приводит к размещению последующих данных с начала следующей строки. Однако подряд расположенные команды /, хотя и являются синтаксически правильными, но имеют тот же смысл, что и одна команда /, т.е. команда / никогда не создает пустых строк.

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

Использование команды # может вызвать затруднение в тех случаях, когда выбираемое поле оказывается пустым. Эта ситуация хорошо иллюстрируется на следующем примере:

/#V10/#V20/#V30 ...

Если все поля присутствуют в документе, то в результате поля 10, 20, и 30 будут располагаться с начала строк и каждому будет предшествовать одна пустая строка. Однако, если поле 20 в документе отсутствует, то между 10 и 30 полями будут вставлены две пустые строки. Это может оказаться нежелательным, если действительно требуется, чтобы между полями была пропущена именно одна пустая строка, независимо от наличия или отсутствия некоторых полей. Таким образом, приведенный выше формат не приведет к желаемому результату.

Эту проблему решает команда %. Ее действие заключается в подавлении всех последовательно расположенных пустых строк (если они имеются) между текущей строкой и последней непустой строкой. Таким образом, формат

%##V10%##V20%##V30 ...

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

Примечание. Команду Сnимеет смысл применять только в случае использования моноширинных шрифтов. Команды / # % не применимы в случае использования в форматах показа средств RTF или HTML. Команды Сn и Xn не работают в HTML-форматах (см. ниже).

Литералы

Литерал - это строка символов, заключенная в соответствующие ограничители, которая вносится в выводимый текст в таком виде, как она приведена в формате. Литералы могут использоваться, например, для именования полей.



Существуют литералы трех типов:

Условный литерал Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля/подполя. Если поле является повторяющимся, то текст будет выведен только один раз, независимо от количества экземпляров поля/подполя. Условные литералы заключаются в двойные кавычки ("), например, "Заглавие: ".
Повторяющийся литерал Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля или подполя. Однако, если поле повторяющееся, литерал будет выводиться для каждого экземпляра поля/подполя. Повторяющиеся литералы заключаются в вертикальные черты (|), например, |Автор: |.
Безусловный литерал Он определяет текст, который будет выведен независимо от наличия поля в записи. Безусловные литералы заключаются в одинарные кавычки ('), например, 'Краткое содержание' или ‘Заголовок‘.

 

Литерал не должен содержать ограничителей литерала. Например, безусловный литерал не может содержать одинарную кавычку (хотя может содержать двойные кавычки и/или вертикальные черты).

Условные и/или повторяющиеся литералы связываются с полем или подполем своим расположением в формате. Литералы, предшествующие команде вывода поля/подполя, называемые префикс-литералами, выводятся перед содержимым поля/подполя, в то время, как литералы, следующие за командой вывода поля/подполя, называемые суффикс-литералами, выводятся после содержимого поля/подполя.

Если за повторяющимся префикс-литералом непосредственно следует знак '+' (например, |xxx|+), то он будет выведен перед каждым, кроме первого, экземпляром поля/подполя.

Если повторяющемуся суффикс-литералу непосредственно предшествует знак '+' (например, +|xxx|), то он будет выведен после каждого, кроме последнего, экземпляра поля/подполя.

С полем/подполем может быть связан более чем один литерал. В этом случае различные литералы должны подчиняться следующим правилам и порядку:

префикс-литералы:

1. Один или более условных префикс-литералов. За условным префикс-литералом могут следовать другие условные префикс-литералы, команды вертикального и горизонтального размещения, и/или команды режима вывода. Все команды между первым условным префикс-литералом и соответствующей ему командой вывода поля/подполя становятся условными и будут выполнены только при наличии поля/подполя, иначе они игнорируются.

2. Один и только один повторяющийся префикс-литерал. Если такой литерал есть, то он должен непосредственно предшествовать соответствующей ему команде вывода поля/подполя.

 

суффикс-литералы:

3. Один и только один повторяющийся суффикс-литерал. Если такой литерал есть, то он должен следовать непосредственно за соответствующей ему командой вывода поля/подполя.

4. Один и только один условный суффикс-литерал. Если такой литерал есть, то он должен следовать непосредственно за повторяющимся суффикс-литералом или связанной с ним командой вывода поля/подполя.

5. Суффикс-литералы не должны разделяться запятыми и не должно быть запятой между командами вывода поля/подполя и первым суффикс-литералом, так как запятая обозначает конец суффикс-литералов, связанных с данной командой вывода поля/подполя.

 

Пустые литералы: (т. е. литералы нулевой длины, такие, например, как "" или ||) вполне допустимы и могут использоваться, например, как префикс-литералы для обеспечения условного вертикального размещения или как суффикс-литералы для временного подавления автоматической пунктуации, которая обеспечивается в режиме данных.

Литералы подвергаются преобразованию в прописные буквы, если расположены после соответствующей команды режима вывода.

Примеры различных типов литералов приведены на рис. 8.

 

Формат Выходные данные

----------- ------------------------------------------------------------

 

'MFN: ',mfn(3) MFN: 034

mdl,"Заглавие: "v200 Заглавие: Конструктор Сухой. Люди и
самолеты.

 

 

v675 623.746623.746(092) Сухой П.О.

 

v675|; | 623.746; 623.746(092) Сухой П.О.;

 

v675+|; | 623.746; 623.746(092) Сухой П.О.

 

|; |v675 ; 623.746; 623.746(092) Сухой П.О.

 

|; |+v675 623.746; 623.746(092) Сухой П.О.

 

 

"УДК"/v675+|; | УДК

623.746; 623.746(092) Сухой П.О.

 

|(|v675|)| (623.746)(623.746(092) Сухой П.О.)

 

"(УДК: ",v675+|; |")" (УДК: 623.746; 623.746(092) Сухой П.О.)

 

mdl,v210 Военное изд-во; М., 1993.

 

mdl,v210"" Военное изд-во; М., 1993

Рис. 8





sdamzavas.net - 2018 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...