Стили и форматирование

Стили и форматирование

Один из посетителей нашего блога решил поделиться своими наработками по настройке списка литературы для Word 2007. Мне его советы кажутся очень дельными.

Автор Осокин Георгий


 

Вдохновившись статьёй про замену скобок и столкнувшись с проблемой указания номеров страниц при нумерованных ссылках на библиографические источники, я решил покопаться в файлах стилей, дабы сделать всё удобно и автоматично.

 

Первая проблема заключалась в изменении «стр.» на «с.». Метод с изменением языка на украинский меня не устраивал, т.к. вместо «и» он писал «та». Вторая проблема была в том, что вместо стандартного формата указания страницы [2, c.90] Word вставлял следующее: [2 c.90]. Ещё интереснее он делал при указании нескольких страниц: [2 cc. 90-95], т.е. по образу и подобию «pp.» в английском языке.

 

Вторая проблема решается правкой строк 911-932:

 

При указании нескольких страниц:

<xsl:template name="templ_str_PagesCountinousShort" >
<xsl:param name="LCID" />
<xsl:variable name="_LCID">
<xsl:call-template name="localLCID">
<xsl:with-param name="LCID" select="$LCID"/>
</xsl:call-template>
</xsl:variable>
<!--xsl:value-of select="/*/b:Locals/b:Local[@LCID=<?xml version="1.0" encoding="UTF-8"?><HTML xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD><LINK rel=stylesheet type=text/css href="STYLE_SHEET">INITIAL_CONTENTLCID]/b:Strings/b: PagesCountinousShort"/>-->
	<xsl:text>c.</xsl:text>
</xsl:template>

При указании одной страницы:

<xsl:template name="templ_str_PageShort" >
<xsl:param name="LCID" />
<xsl:variable name="_LCID">
<xsl:call-template name="localLCID">
<xsl:with-param name="LCID" select="$LCID"/>
</xsl:call-template>
</xsl:variable>
<!--xsl:value-of select="/*/b:Locals/b:Local[@LCID=<?xml version="1.0" encoding="UTF-8"?><HTML xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD><LINK rel=stylesheet type=text/css href="STYLE_SHEET">INITIAL_CONTENTLCID]/b:Strings/b: PageShort"/>-->
	<xsl:text>c.</xsl:text>
</xsl:template>

На этом еще не все, т.к. после указания номера источника Word ставит всегда пробел: [2 , c.90]. Эта проблема решается так:

Строки 3769-3787, комментируем одну строчку и вставляем другую:

<xsl:if test="string-length($volume) > 0 or string-length($pages) > 0">
<xsl:if test="string-length($displayAuthor) > 0 or string-length($displayTitle) > 0 or string-length($year) > 0">
<xsl:text>, </xsl:text> <!--строчкасзапятой и пробелом(!)-->
<!--xsl:call-template name="templ_prop_Space"/>--> <!--//строчкаспробелом-->
</xsl:if>
<xsl:choose>
<xsl:when test="string-length($volume) > 0 and string-length($pages) > 0">
<xsl:value-of select="$volume"/>
<xsl:call-template name="templ_prop_EnumSeparator"/>
<xsl:value-of select="$pages"/>
</xsl:when>
<xsl:when test="string-length($volVolume) > 0">
<xsl:value-of select="$volVolume"/>
</xsl:when>
<xsl:when test="string-length($ppPages) > 0">
<xsl:value-of select="$ppPages"/>
</xsl:when>
</xsl:choose>
</xsl:if>


 

От себя добавлю, что все изменения проводятся в файле ISO690Nmerical.xsl, который, как и другие файлы определения стилей, находится по пути: Папка установки Microsoft Office\Office12\Bibliography\Style.

Соответственно и применять в документе нужно именно этот стиль.

 

Исправленный файл стиля можно скачать отсюда iso690nmerical.xml

Настя спрашивает:

Иногда в чужих созданных документах Word 2007 я замечаю, что порядок названия стилей отличается от того, что у меня создается по умолчанию. Как можно влиять на порядок стилей? Например, стиль "обычный" идет первым, потом "Без интервала", потом заголовки по убыванию уровней. Можно ли передвинуть название "обычный" в середину списка?

Стили в окне стилей (область задач "Стили"), как правило, отсортированы в алфавитном порядке. Если это не так, значит сортировка выполнена по иным правилам.

Откройте область задач со списком стилей («Alt+Ctrl+Shift+S») и нажмите ссылку Параметры (внизу области задач). Откроется окно Параметры области стилей, где вы можете изменить сортировку списка, выбрав один из нескольких вариантов:

Читать далее...

Юрий интересуется:

Предположим, что часить слова написана полужирым шрифтом, а часть - обычным. Выделив слово и нажав кнопку И (или клавиши «Ctrl+B») мы приведём всё слово к полужирному начертанию. Нажав ещё раз - к обычному и т.д.

Существует ли способ переключить начертание, чтобы те буквы (не слова), что были жирными, стали обычными, а обычные - жирными?

Юрий, вот примеры макросов для ваших целей, подсказанные Александром Витером .

Читать далее...

Сергей интересуется:

Имеется 2 документа word 2007. В первом документе имеется только один лист с текстом. Формат этого листа - книжный. Этот лист является 1-м листом 2го докумнета.

Второй документ - основной. В нем имеется несколько страниц с разлиным форматированием листа, т. е. есть листы книжной раскладки, есть листы альбомной раскладки. И начинается 2-ой документ как раз с альбомного листа.

Вопрос: Как мне вставить лист из 1го документа во второй, таким образом чтобы при вставке этот лист не изменял автоматически свою ориентацию на альбомную?

Сергей, решить эту проблему можно с помощью макроса.

Вам нужно открыть ваш основной документ (2-й документ), запустить макрос, выбрать нужный файл и он будет вставлен в качестве 1-й страницы книжного формата вашего основного документа.

Вот код макроса:

Читать далее...

К заметке "Поиск заголовков и вставка разрывов страниц перед ними" некоторые пользователи оставили абсолютно справедливые комментарии, что при выборе определенного стиля, например, "Заголовок 1", можно в его настройках определить вставку разрыва страницы перед текстом, оформленным данным стилем. И нечего "огород городить" с помощью макроса.

Полностью согласен.

Но мне поступил новый вопрос на почти аналогичную тему от пользователя Валерия. Он спрашивал:

Читать далее...

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

Читать далее...

Number one designer
^ Наверх