Для версии Microsoft Word 2000 в данной статье см.
209227.
Для версии Microsoft Word 97 в данной статье см.
181816.
Для версии Microsoft Word 7.0 в данной статье см.
106388.
Обзор
В данной статье описывается, как хранить и извлекать переменные документа при использовании Microsoft Word.
Дополнительные сведения
Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и без явных или подразумеваемых гарантий. Это включает, но не ограничиваясь, подразумеваемые гарантии товарной пригодности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения дополнительных функциональных возможностей или создания процедур для определенных требований.
Дополнительные сведения о том, как использовать примеры кода в этой статье щелкните следующий номер статьи базы знаний Майкрософт:
290140 OFFXP: запуск кода примера из статей базы знаний
Задавать и извлекать содержимое строковой переменной в документ или шаблон можно использовать Visual Basic для приложений Microsoft коллекции переменных .
Кроме того можно использовать поле DocVariable для извлечения значения переменной документа после его для отображения в документе Word.
Как задавать и извлекать значения переменной документа
Следующий пример макроса использует свойство переменные для хранения, а затем извлечь значение строковой переменной с именем «FullName» с текущим документом.
Sub GetSetDocVars()Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName".
ActiveDocument.Variables.Add Name:="FullName", Value:=fName
' Retrieve the contents of the document variable.
MsgBox ActiveDocument.Variables("FullName").ValueEnd Sub
Примечание: Если в документе уже задано имя переменной появляется следующее сообщение об ошибке:
Ошибка во время выполнения «5903»: Имя переменной уже существует.
Необходимо удалить имя или просто сбросить значение аргумента.
Удаление переменной документа
Следующий пример макроса использует свойство Variables в первом наборе и получить значение переменной документа и затем удалить переменную из активного документа.
Sub GetSetDeleteDocVars()Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName."
ActiveDocument.Variables.Add Name:="FullName", Value:=fName
' Retrieve the contents of the document variable.
MsgBox ActiveDocument.Variables("FullName").Value
' Delete the variable.
ActiveDocument.Variables("FullName").DeleteEnd Sub
Как извлечь значение переменной документа с помощью поля DocVariable
Следующий пример макроса использует свойство Variables для задания переменной документа. Следующий пример макроса являются действия, чтобы использовать поле DocVariable для извлечения значения в содержимое одного документа.
Sub GetSetDocVars()Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName."
ActiveDocument.Variables.Add Name:="FullName", Value:=fNameEnd Sub
Чтобы использовать поле DocVariable, выполните следующие действия.
-
В меню Вставка щелкните поле.
Примечание. В Microsoft Office Word 2007 выберите в группе текст на вкладке ВставитьЭкспресс-блоки и выберите поле.
-
В списке категории выберите Документ автоматизации.
-
В списке поле выберите DocVariable.
-
В поле Новое имя в разделе свойств полявведите имя переменной документа.
Примечание: Если вы видите Дополнительные свойства поля , а не
Свойства полянажмите кнопку Скрыть коды. -
Нажмите кнопку ОК.
Если необходимо сохранить значение между сеансами работы макроса можно хранить значения, используя любой из следующих методов:
-
Свойство PrivateProfileString используется для хранения значений в файле настройки закрытого.
Дополнительные сведения о свойстве PrivateProfileString в редакторе Visual Basic нажмите кнопку Справки Microsoft Visual Basic в меню Справка выберите Свойство PrivateProfileString введите в поле помощника Office или мастера ответов, а затем Нажмите кнопку Поиск для просмотра раздела.
-
Используйте свойство переменные для хранения значений в документе.
Дополнительные сведения о свойстве переменные в редакторе Visual Basic меню Справка выберите команду Справка по Microsoft Visual Basic , введите Свойство Variables в поле помощника Office или мастера ответов и нажмите кнопку поиска Просмотрите раздел.
-
Использование Visual Basic для приложений операторы Ввода-вывода для записи в текстовый файл (например, написать инструкцию или инструкции Print ).
Дополнительные сведения о записи данных в файлы, в редакторе Visual Basic выберите команду Справка по Microsoft Visual Basic в меню Справка , введите запись данных в файлы в поле помощника Office или мастера ответов и нажмите кнопку поиска Просмотрите раздел.
-
Использование объекта AutoTextEntry для хранения значений в элемент автотекста.
Дополнительные сведения об объекте AutoTextEntry в редакторе Visual Basic меню Справка выберите команду Справка по Microsoft Visual Basic , объектом AutoTextEntry введите в поле помощника Office или мастера ответов и нажмите кнопку поиска для просмотра раздела.
Нужна дополнительная помощь?
Я делал так (пользовался формами).
1. MSWord -> RClick на панелях инструментов Ворда -> «Формы» (чтобы отобразить панель инструментов «Формы»)
2. На панели инструментов «Формы» — LClick «Текстовое поле» -> В документе появится текстовое поле (серенькое, если затенение полей формы включено)
3. RClick на появившемся поле в документе -> Свойства
4. В окне «Параменты текстового поля» -> «Параменты поля/Закладка:» вводим, например, «MyTextField1» -> ОК
5. В текстовом поле документа (сереньком) вводим какой-нибудь текст, например, «QWERTY»
6. В ВБА (Alt+F11) -> пишем:
Код: Выделить всё
Sub tt()
MsgBox ThisDocument.FormFields.Item("MyTextField1").Range.Text
End Sub
7. F5 на макросе и видим на экране «QWERTY» ! Или «ЙЦУКЕН», как у меня, что в общем-то тоже радует глаз!
Я, кстати, ещё и защиту документа включал, чтобы «никто » не мог исправить ничего, кроме данных форм…
Пойдёт? Извиняюсь, что так подробно, вдруг всё-таки кто-ньть читать будет
What is a DOCVARIABLE
in Microsoft Word 2003? How do I set it? How do I make it display in my Word document?
asked Oct 15, 2008 at 15:30
You can use the Microsoft Visual Basic for Applications Variables collection to set and retrieve the contents of a string variable in a Word document or template.
Also, you can use the DocVariable field to retrieve the value of a document variable after it has been set to display within a Word document.
Source: How to store and retrieve variables in Word documents
Sub GetSetDocVars()
Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName".
ActiveDocument.Variables.Add Name:="FullName", Value:=fName
' Retrieve the contents of the document variable.
MsgBox ActiveDocument.Variables("FullName").Value
End Sub
answered Oct 15, 2008 at 15:38
Chris SerraChris Serra
13.1k3 gold badges25 silver badges25 bronze badges
2
How do I make it display in my word document:
Insert->Field->Category:DocumentAutomation->Field Names:DocVariable->Field COdes Button-> Then enter the name of the variable.
answered Oct 15, 2008 at 16:07
joejoe
16.9k36 gold badges94 silver badges131 bronze badges
0
I was also looking for an answer to this question.
Created a small script to display all ActiveDocument.Variables
Here is it:
Sub GetVariables()
' Declaration of output variavle, which is a string
Dim output As String
output = ""
For Each Variable In ActiveDocument.Variables
' & is used for string concatenation.
output = output & Variable.Name & " = " & Variable & vbNewLine
Next
MsgBox output
End Sub
answered Jul 23, 2019 at 8:59
wojtekcwojtekc
611 silver badge2 bronze badges
-
January 24 2014, 22:06
- IT
- Cancel
Доброго вечера и нескучных выходных почтенным.
Возникла такая проблема: в тексте несколько раз встречается название организации. Как бы сделать так, чтобы заполнив поле один раз в шапке, далее просто указать эту переменную в шаблоне и автоматом получать туда текст из шапки?
Туплю и даже не могу сформулировать запрос в гугл, ибо никогда не работал с офисом в таком качестве
Заранее спасибо.
Время на прочтение
11 мин
Количество просмотров 124K
– А ларчик просто открывался.
И.А. Крылов
О чём эта статья
В настоящей работе описываются способы автоматической организации нумерованных объектов при написании статей, рефератов, докладов, диссертаций и пр. При написании подобного рода материалов неизбежно возникает необходимость нумеровать те или иные объекты, например, формулы или пункты в списке используемой литературы. При этом многие авторы пользуются при написании текстовым редактором Microsoft Word.
В случае тривиальной «ручной» организации, при которой каждый номер прописывается непосредственно руками (обычно, в самом конце, когда текст полностью готов), автор работы может ошибиться в каком-либо номере, и все дальнейшие номера окажутся неверными. Более того, после рецензии те или иные части работы могут быть вставлены в текст или убраны из него. Последнее, зачастую, требует полной перенумерации объектов в документе. Таким образом, цель настоящей статьи состоит в доведении до читателя способов автоматической организации нумерации объектов, позволяющих избежать вышеописанные ситуации.
Предупреждение: в данную статью вошли лишь те приёмы, с которыми автор столкнулся при написании кандидатской диссертации. Описываемые способы организации нумерованных объектов не претендуют на единственность, полноту и оптимальность. Имеются другие интересные способы, например, в TeX. Несомненно, читатель сможет найти и иные способы достижения сформулированной цели. В любом случае, ознакомиться с подходами автора (хотя бы на досуге) следует любому заинтересованному читателю.
Основы работы с полями MS Word
В данном разделе описываются основные поля текстового редактора MS Word, необходимые для организации списков и ссылок на них, а также методы работы с ними.
Поле MS Word – это объект, принимающий то или иное значение в зависимости от ключевых слов и параметров этого поля. Для вставки поля в текст необходимо нажать сочетание клавиш Ctrl + F9 или выбрать соответствующее меню на ленте.
После вставки поля в тексте появятся серые фигурные скобки.
Отличить поля в тексте очень легко – достаточно выделить нужный блок текста. Все поля в выделенном фрагменте будут подсвечены серым цветом.
После того, как поле вставлено в текст, необходимо задать значение этого поля. Для задания значения тому или иному полю необходимо написать определённые ключевые слова, рассмотренные в разделе 2, внутри поля. После задания полю значения необходимо выделить блок текста, содержащий это поле, и нажать F9. Если в выделенном фрагменте окажутся несколько полей, то все они будут обновлены. Для обновления полей во всём документе необходимо выделить всё (Ctrl + a) и нажать F9. Обновить поле можно также с помощью нажатия на соответствующий пункт контекстного меню.
NB! Бывает, что все поля необходимо обновить два раза: первое обновление переупорядочит списки, а второе – расставит нужные значения ссылок.
Значение того или иного поля может быть изменено в любой момент. Для этого необходимо лишь выделить поле (или фрагмент текста, содержащий поля) и выбрать пункт «Коды/значения полей» контекстного меню.
Основные поля MS Word, необходимые для автоматической организации нумерованных объектов
В данном разделе описываются основные поля и ключи, используемые с этими полями. Данные поля позволяют организовать автоматическую нумерацию, списки и ссылки.
Для организации автоматической нумерации необходимо использовать следующие поля:
SEQ
Поле SEQ используется для создания нумерованных списков. Каждое поле SEQ увеличивает на единицу уникальную переменную, указанную в данном поле. Если такая переменная ни разу не использовалась, то её значение становится равным 1. Если поле с данной переменной вставить в ту или иную часть текста и полностью обновить документ, то нумерация всех полей, идущих после вставленного, автоматически увеличится на единицу.
Пример задания поля SEQ
{ SEQ pic_chap1 }
NB! Желательно использовать осмысленные имена переменных, например: pic_chap1 – рисунки первой главы, fn_intro – формулы во введении и т.п. Авторы могут использовать любые имена переменных, но именно осмысленные имена позволят быстро сориентироваться в тексте и исправить его.
Важные ключи поля SEQ. Ключ «с» используется для вывода текущего значения переменной. В частности, с помощью закладки (SET) со значением поля с ключом «c» можно организовать автоматический вывод количества таблиц, рисунков, формул и других объектов, что будет показано ниже. Ключ «h» увеличивает значение переменной в том месте, где задано поле, не отображая само поле. Использование ключей «h» и «c» совместно, очевидно, допустимо, но не имеет смысла. Автор рекомендует воздержаться от подобного.
Примеры использования ключей поля SEQ
{ SEQ pic h }, { SEQ tables c }
SET
Поле SET устанавливает закладку в данном месте документа.
Пример использования поля SET
{ SET lit_Z2009 “1” }
Здесь lit_Z2009 – имя закладки, а «1» – текст закладки. Наиболее существенным является возможность использования вложенных полей, т.е. полей внутри полей. В частности, их можно использовать в качестве текста закладки. Для этого надо вставить поле вышеописанным способом, находясь внутри поля.
Пример
{ SET lit_Z2009 “{SEQ lit c}” }
REF
Поле REF используется для создания ссылок и гиперссылок на закладки. Если закладка была определена где-либо в тексте, то сослаться на неё можно, например, так:
После обновления данного поля на его место будет вставлен текст закладки. Ключ «h» используется для задания гиперссылки на закладку. При нажатии на гиперссылку пользователь будет перемещён в место, заданное ссылкой. Ключ «* MERGEFORMAT» сбрасывает формат текста исходной ссылки, преобразуя его в формат текущей части текста.
PAGEREF
Поле PAGEREF работает так же, как и поле REF, за тем исключением, что текстом ссылки является номер страницы, на котором находится соответствующий объект, а не номер объекта.
Организация автоматической нумерации в документах
Перед тем, как начать описание способов автоматической нумерации объектов в документах, необходимо предупредить читателя об очевидном минусе предлагаемого подхода: для каждого типа объектов и для каждого элемента списков со ссылками придётся создавать свой уникальный идентификатор. В данном случае автор рекомендует заранее продумать систему уникальных имён и записать её где-нибудь, дабы она всё время была перед глазами. Огромным плюсом будет являться то, что при переносах, вставках, добавлении и удалении объектов и ссылок все объекты гарантированно будут иметь верные номера, а ссылки гарантированно будут указывать на нужные объекты.
Нумерация в названиях глав и разделов
Для названия глав и разделов можно воспользоваться стилями MS Word, после чего вставить автооглавление. Тем не менее, если вторая глава вдруг станет третьей или раздел 2.2 станет разделом 2.3, то перенумерация большого числа формул, таблиц и рисунков окажется хлопотным делом. Особые трудности вызовет перенумерация списка литературы, организованного в порядке появления. Чтобы избежать вышеописанного, рекомендуется задать каждой главе уникальное имя (исходя, вероятно, из её смысла). Кроме того, для глав необходимо определить уникальную переменную – имя поля SEQ. Например, именем настоящей главы может быть CHAP_USING_FIELDS, а переменная-счётчик глав – CHAP.
После определения того, как именовать и нумеровать главы, в заголовке пишется следующая (одна из следующих) строка:
- { SEQ CHAP }. Организация автоматической нумерации в документах
- { SEQ CHAP h }{ SET CHAP_USING_FIELDS “{ SEQ CHAP c }”}{ SEQ CHAP c }. Организация автоматической нумерации в документах
Разберём эти строки подробнее. Первая строка приводит к тому, что значение переменной CHAP увеличивается на единицу. После обновления поля, на его месте появится текущий номер главы. Такой способ нумерации подходит для объектов, ссылка на которые не планируется в тексте (например, для промежуточных формул). Если же требуется ссылка на объект, то необходимо использовать вторую конструкцию. В ней первое поле увеличивает значение переменной CHAP без вывода на экран, второе поле устанавливает закладку с именем CHAP_USING_FIELDS, задавая ей текст третьего поля – текущего значения (уже увеличенной на 1) переменной CHAP, а четвёртое поле выводит в данном месте текущее значение (уже увеличенной на 1) переменной CHAP. Следует обратить внимание на то, что третье поле вложено во второе поле. Такая конструкция используется потому, что нет чёткого понимания, какое поле обновится раньше и в каком случае – вложенное или идущее после, если бы только у одного из них был ключ «c». Опыт показал, что увеличение переменной в фоновом режиме и использование текущего значения приводит к желаемому результату. На этом приёме и построены все дальнейшие рассуждения.
Для нумерации разделов внутри главы необходимо задать переменную (уникальную для каждой главы, иначе в следующей главе разделы начнутся с номера n+1), а для каждого раздела необходимо определить уникальное имя.
В качестве примера можно привести следующие строки
{ SEQ CHAP h } { SET CHAP_USING_FIELDS “{ SEQ CHAP c }”}{ SEQ CHAP c }. Организация автоматической нумерации в документах
{ SEQ SUBCHAP_FIELDS h }{ SET SUBCHAP_USING_REF “{ SEQ CHAP c }.{ SEQ SUBCHAP_FIELDS c }”}{ SEQ CHAP c }.{ SEQ SUBCHAP_FIELDS c }. Использование REF
После обновления ссылок этот фрагмент текста превратится в
3. Организация автоматической нумерации в документах
3.1. Использование REF
В данном примере используется второй приём, описанный в нумерации глав, только теперь вложенными и идущими после оказываются два поля. Первое поле { SEQ SUBCHAP_FIELDS h } в фоновом режиме обновляет соответствующую переменную, определённую под разделы данной главы, поля 2-4 { SET SUBCHAP_USING_REF “{ SEQ CHAP c }.{ SEQ SUBCHAP_FIELDS c }”} задают ссылку со значением «ТЕКУЩАЯ ГЛАВА.ТЕКУЩИЙ РАЗДЕЛ», а поля 5-6 { SEQ CHAP c }.{ SEQ SUBCHAP_FIELDS c } вставляют в данное место документа значение «ТЕКУЩАЯ ГЛАВА.ТЕКУЩИЙ РАЗДЕЛ».
Следует ещё раз повторить, что для каждой главы и раздела (подглавы, параграфа) необходимо определить свои уникальные имена для задания ссылок на них, если это необходимо.
Автосодержание
Средства MS Word позволяют организовать автосодержание, однако рекомендуется использовать поля REF для задания ссылок на номера глав и поля PAGEREF для ссылок на страницы. Располагать их лучше в таблицах со скрытыми границами размера Nx3, где N — число элементов в автосодержании: разделы, подразделы и пр. В первом столбце будут содержаться номера пунктов, получаемые из полей REF. Во втором столбце будут содержаться имена элементов. (Увы и ах! Их придётся записать руками). В третьем столбце будут содержаться номера страниц, на которых находится соответствующее поле SET. Получение значений производится через PAGEREF.
Нумерация формул
Для нумерации формул нужно использовать те же конструкции, что и для нумерации глав и подразделов. Автор рекомендует размещать формулы в таблицах Nx2, где N – число формул, следующих подряд, скрывая границы таблиц и выставляя нужное выравнивание.
Пример показан здесь
x = a + b (3.5)
Здесь (3.5) – это значение поля, которое в исходных кодах записывается следующим образом:
({ SEQ FN_CHAP_FIELDS h }{ SET FN_AX2_BX_C “{ SEQ CHAP c }.{ SEQ FN_CHAP_FIELDS c }”}{ SEQ CHAP c }.{ SEQ FN_CHAP_FIELDS c })
Здесь FN_CHAP_FIELDS – имя переменной для нумерации формул текущей главы, { SEQ CHAP c }.{ SEQ FN_CHAP_FIELDS c } – номер соответствующей формулы.
NB! При конвертации документа в pdf формулы часто отображаются неверно. В финальной версии диссертации автор заменил все формулы соответствующими рисунками через старый-добрый PrintScreen – MS Paint.
Нумерация таблиц и рисунков
Нумерация таблиц и рисунков делается так же, как и нумерация формул. Разница лишь в том, что соответствующим объектам лучше давать иные имена и придумывать для них другие переменные-счётчики, например, PIC_CHAP2, TABLE_BETTER_NPV и т.д.
Приведём пару примеров.
Пример 1, таблицы
Таблица { SEQ TAB_CH2 h }{ SET TAB_CH2_SHOPS “{ SEQ CHAP c }.{ SEQ TAB_CH2 c }”}{ SEQ CHAP c }.{ SEQ TAB_CH2 c }. Сравнение склад/рынок по магазинам.
Магазин 1 Магазин 2
Склад 100 180
Рынок 16 29
Здесь TAB_CH2 – переменная-счётчик таблиц второй главы, TAB_CH2_SHOPS – выбранное автором имя для данной таблицы. Пусть данная глава имеет номер 3, и в ней уже было 3 таблицы. Тогда данная формула, как несложно показать, будет преобразована в следующий текст:
Таблица 3.4. Сравнение склад/рынок по магазинам.
Магазин 1 Магазин 2
Склад 100 180
Рынок 16 29
Абсолютно аналогичным образом строится работа с изображениями. Необходимо задать свои переменные-счётчики, имена и пр. В целом, с точки зрения автонумерации, нет никакой разницы между таблицей и рисунком. Вся разница заключается лишь в форматировании частей текста: иные названия, подписи снизу/сверху и пр.
Пример 2, изображения
Рисунок { SEQ PIC_CH2 h }{ SET PIC_CH2_EXPONENT “{ SEQ CHAP c }.{ SEQ PIC_CH2 c }”}{ SEQ CHAP c }.{ SEQ PIC_CH2 c }. Экспонента, косинус и синус.
Аналогично таблицам, здесь PIC_CH2 – переменная-счётчик рисунков второй главы. Опять же, очевидно, что в результате будет получено нечто подобное:
Рисунок 3.10. Экспонента, косинус и синус.
Организация списка используемой литературы
Работа со списком литературы в целом похожа на работу с формулами, таблицами и рисунками, но всё же имеет одно существенное отличие. Из-за этого организация списка литературы была вынесена в отдельный раздел. В данном разделе детально описано построение списка используемой литературы в алфавитном порядке. Построение списка литературы в порядке появления в тексте описано не столь подробно, но может легко быть сделано по аналогии.
Оформление списка используемой литературы в алфавитном порядке в конце документа
Итак, в тексте возникла необходимость сделать ссылку на книгу, статью, журнал и т.п. Если они должны идти единым списком, оформление следует делать подряд по алфавиту. Если они должны идти по типам источников, то нужно записывать сперва книги по алфавиту, потом статьи по алфавиту и т.д. В смысле автонумерации это не имеет значения. Важен лишь порядок, в котором эти источники будут записаны, после чего им будут присвоены номера.
NB! Каждому источнику надо задать уникальное имя, которое будет использоваться для задания ссылок в тексте. Автор при написании диссертации пользовался форматом «lit_ИНИЦИАЛЫ_АВТОРОВ_ГОД» или «lit_ИНИЦИАЛЫ_АВТОРОВ_ПОСТФИКС_ГОД». Постфикс нужен для того, чтобы разделить те или иные работы, которые автор(ы) мог выпустить в течение одного года. Храните этот список уникальных имён перед глазами, т.к. к нему придётся часто обращаться.
При добавлении новых источников достаточно лишь вставить их в нужное место списка используемой литературы, сохраняя порядок, и дважды обновить документ. Обновление дважды требуется для обновления вложенных полей и внешних полей. Двойное обновление документа гарантирует как обновление списка литературы, так и обновление ссылок на него.
Пример части списка с развёрнутыми формулами указан ниже
{ SEQ LIT h }{ SET lit_CHR2011 “{ SEQ LIT c }”}{ SEQ LIT c }. Christofides N. Graph Theory: An Algorithmic Approach. Academic Press Inc., London, 1975. – 400 p.
{ SEQ LIT h }{ SET lit_CHVATAL1983 “{ SEQ LIT c }”}{ SEQ LIT c }. Chvatal V. Linear Programming. W. H. Freeman and Company, 1983. – 425 p.
{ SEQ LIT h }{ SET lit_ERL1978 “{ SEQ LIT c }”}{ SEQ LIT c }. Erlenkotter D. A Dual-Based Procedure for Uncapacitated Facility Location. J. Operations Research, 26, 1978. – pp. 992-1009.
Нетрудно показать, что данный список преобразуется в
15. Christofides N. Graph Theory: An Algorithmic Approach. Academic Press Inc., London, 1975. – 400 p.
16. Chvatal V. Linear Programming. W. H. Freeman and Company, 1983. – 425 p.
17. Erlenkotter D. A Dual-Based Procedure for Uncapacitated Facility Location. J. Operations Research, 26, 1978. – pp. 992-1009.
Если между авторами Chvatal [16] и Erlenkotter [17] нужно вставить какую-либо работу, то всё, что требуется сделать, это добавить пустую строку, скопировать в неё уже имеющийся пункт литературы (например, Chvatal [16]), заменить уникальное имя работы, заменить текстовое описание работы и дважды обновить весь документ.
Оформление ссылок на элементы списка используемой литературы в тексте
Теперь, пожалуй, очевидно, как сделать ссылки на литературу в тексте.
Зная уникальные имена, достаточно использовать поле REF
Из решения классической задачи транспортного типа [{ REF lit_MEELIT1972 h }] следует, что любой базис такой задачи содержит ровно m+s-1 элементов. Из теоремы Данцига [{ REF lit_CHVATAL1983 h }] следует, что все элементы базиса в сформулированной задаче будут являться либо нулями, либо натуральными числами.
После двукратного обновления документа, данный фрагмент текста примет следующий вид:
Из решения классической задачи транспортного типа [26] следует, что любой базис такой задачи содержит ровно m+s-1 элементов. Из теоремы Данцига [16] следует, что все элементы базиса в сформулированной задаче будут являться либо нулями, либо натуральными числами.
Оформление списка используемой литературы в порядке появления в тексте
Если предыдущий метод оказался понятен, то оформление списка литературы в порядке появления также не составит особого труда. Ссылки, задававшиеся в конце, теперь надо размещать непосредственно в тексте. Если данный источник встретился впервые, то указать конструкцию вида [{ SEQ LIT h }{ SET lit_ERL1978 “{ SEQ LIT c }”}{ SEQ LIT c }, стр. 18]. Если данный источник уже встречался ранее, то указать конструкцию вида [{ REF lit_ERL1978 h }, стр. 95]. В сам список, разумеется, нужно помещать поля { REF lit_ERL1978 h } – ссылки на появления источников в тексте. Вся трудность заключается в ручной расстановке полных названий источников. Однако если где-то в тексте произойдут изменения в порядке появления ссылок, то (после двукратного обновления) это сразу отразится на порядке в списке литературы, что может быть быстро исправлено вырезанием и вставкой. Дополнительный плюс: проверка порядка следования источников в данном случае является «контрольной суммой». Ошибки в порядке следования либо отсутствуют, либо, если таковые будут иметь место, очевидны.
Выгрузка документа в формат pdf с сохранением ссылок
Ну вот, пожалуй, и финал данной истории. Документ готов. Можно заняться его распространением, но не хочется отдавать оригинал. Имеются два способа. Первый состоит в замене ссылок их значениями средствами MS Office. Достигается это нажатием Ctrl+Shift+F9, однако автор крайне не рекомендует так делать.
Куда более интересной является выгрузка документа в формат pdf. При выгрузке можно заменить поля значениями, разбив тем самым ссылки на объекты, или оставить их. Преимущество второго случая (зачем всё это вообще делалось) состоит в том, что при чтении текста читатель может нажать на ту или иную ссылку для перемещения к нужной формуле, таблице, рисунку или элементу списка литературы. Включить или выключить данную опцию можно при сохранении в pdf: Create bookmarks using: Word bookmarks.
|
|||||||||||
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее… |