PDA

Показать полную графическую версию : [решено] Разная нумерация старниц в одном документе


Страниц : [1] 2 3

Sandre
05-06-2015, 14:34
Всем привет! Помогите, пожалуйста, с разной нумерацией страниц. В рамке есть два окошка под нумера:сверху справа и снизу справа. вверху - номер с самого начала работы, а вот внизу - определённого раздела( Исследовательская часть - новый раздел). То есть на странице 85 в верхнем окошке должно быть написано 85, а в нижнем - 1, на следующей странице - 86 и 2 и т.д.

a_axe
05-06-2015, 16:17
Самый незатейливый вариант - заходите в колонтитулы, жмете alt-f9 (при этом значения ваших номеров страниц будет отображаться в виде кодов - приблизительно "{PAGE \*MERGEFORMAT}".
Ставите курсор в то место, где должен быть ваш номер с особенной нумерацией, жмете сочетание ctrl+f9, получаете пару скобок {}. Жмете это сочетание два раза чтобы было {{}}.
Затем добиваете в эти готовые скобки {={page}+10}. Жмете alt-f9, чтобы отобразились значения вместо кодов.

В этом поле нумерация должна выдавать на 10 большие по значению, чем номер страницы. Прибавьте или отнимите нужную вам цифру (как я понимаю - {={page}-85})
Соответственно, возможно - в документ будет необходимо вставить разрывы разделов, чтобы колонтитулы были разные.
в произвольном месте документа пишем поле {set Delta{={FILLIN "Введите номер первой страницы"}}}
Номер получаем с помощью поля {=Delta+{page}-1} в колонтитуле (формула вбивается исходя из логики, что вы хотите получить - page нумерация страницы, Delta - разница которую вы закладываете).
Соответственно, если поставить курсор на первое поле и нажать F9, отобразится окно, в которое можно вбить значение для Delta, что будет удобнее, чем ковыряться в маленьком квадратике углового штампа, меняя число.

Sandre
05-06-2015, 17:50
Удалось сделать первым способом, спасибо, а вот вторым не получается(.

ПРи нажати Ф9 ничего не просиходит

Кстати, минус один же не нужно писать

По идее

a_axe, вы владеете программой mathtype?

a_axe
05-06-2015, 18:15
ПРи нажати Ф9 ничего не просиходит »
Ага, в моем посте опечатка в первом поле - закрывать строчку должны три фигурных скобочки: {set Delta{={FILLIN "Введите номер первой страницы"}}} , скобочки нужно ставить используя ctrl+f9.
Соответственно, если установить курсор внутри этой строчки и нажать f9, должно выскочить окошко, куда можно забить значение для Delta. Удобство спорное. По хорошему, поля можно подобрать так, что будет считать и автоматом.

Кстати, минус один же не нужно писать »
Зависит от того результата, который Вы хотите получить. (Обычно под Delta понимают сам номер, с которого должна начинаться нумерация, тогда -1 нужен. Все же от задачи зависит)
a_axe, вы владеете программой mathtype? »
К сожалению не владею, даже никогда не видел.

Sandre
05-06-2015, 21:43
a_axe, спасибо, разобрался). Есть ещё вопрос. Мне нужно скопировать в отдельный файл ворда один из разделов диплома с полностью неизменным форматированием и колонтитулами. К сожалению, не получается так. Что посоветуете? П.С. стили экспортировал - не дало результата

a_axe, как подобрать, что бы автоматом считало?

Iska
05-06-2015, 23:51
a_axe, как подобрать, что бы автоматом считало? »
Sandre, в общем случае простого решения с полями не существует: либо у Вас сплошная нумерация, либо нумерация с единицы в каждом разделе.

Дабы не править числа в каждом разделе «ручками» каждый раз, когда меняется число страниц в разделах, можно использовать макрос такого вида:
Option Explicit

Sub ReNum()
Dim objSection As Section

Dim intPageCount As Integer


intPageCount = 0

For Each objSection In ThisDocument.Sections
With objSection
With .Headers.Item(wdHeaderFooterPrimary)
.LinkToPrevious = False

With .Range.Fields
.Add Range:=.Parent, Type:=wdFieldPage, PreserveFormatting:=False
.Parent.InsertBefore "=" & CStr(intPageCount) & "+"
.Add Range:=.Parent, Type:=wdFieldEmpty, PreserveFormatting:=False
End With
End With

intPageCount = intPageCount + .Range.Information(wdActiveEndAdjustedPageNumber)

With .Footers.Item(wdHeaderFooterPrimary)
.LinkToPrevious = False

With .PageNumbers
.RestartNumberingAtSection = True
.StartingNumber = 1
End With

.Range.Fields.Add Range:=.Range, Type:=wdFieldPage, PreserveFormatting:=False
End With
End With
Next
End Sub

Общий принцип следующий:

колонтитулы разделов отсоединены от предыдущих;
в нижнем колонтитуле ведётся нумерация по разделам, для чего для каждого из них нумерация страниц устанавливается в «Начинать с: 1»;
в верхнем колонтитуле ведётся сплошная нумерация, для чего используется вышеуказанный коллегой a_axe способ с вычисляемым полем {= …}, содержимым которого являются два слагаемых: «общая сумма страниц предыдущих разделов» и «номер страницы в текущем разделе».

Выглядит сие примерно так:
http://i.imgur.com/PwczMVI.png
http://i.imgur.com/8Mav0Jr.png

Если Вас подобное устроит, посмотрю на его адаптацию непосредственно к Вашему документу.

Мне нужно скопировать в отдельный файл ворда один из разделов диплома с полностью неизменным форматированием и колонтитулами. К сожалению, не получается так. Что посоветуете? »
Создать копию исходного документа, в которой удалить всё лишнее.

a_axe
06-06-2015, 12:48
в общем случае простого решения с полями не существует »
ну как... вроде же работает рабоче-крестьянский вариант, только обновлять нужно вручную через F9, неудобно. По-сути аналогично вашему макросу, только через поля, и нумерация сквозная, а отнимаем мы от сквозной нумерации на каждой странице дельту, значение которой присваивается через поле в последней строчке раздела 1:

1. вставляем в книгу новый раздел, убираем в разделе 2 опцию "как в предыдущем" (чтобы колонтитулы для Раздела 1 и Раздела 2 были разными)
2. последней строчкой Раздела 1 (не в колонтитуле, а именно в основном тексте) пишем поле {set Delta{={page}}}
3. В колонтитуле Раздела 1 сверху пишем поле {page}
4. В колонтитуле Раздела 2 сверху также пишем поле {page}, в нижнем колонтитуле пишем {={page}-delta}
Результатом будет книга с непрерывной нумерацией сверху листа, и с нумерацией Раздела 2 снизу листа с отсчетом начиная с единицы.

Безусловным неудобством такого метода будет то, что поле {set Delta{={page}}} должно всегда находится на последней странице Раздела 1.

Обновлять каждый раз через F9 неудобно, можно использовать такой макрос:
Sub Field_update()

ActiveDocument.Fields.Update

End Sub

Iska
06-06-2015, 15:19
a_axe, я понимаю. А в третьем, четвёртом и так далее разделах — что пишем?

По сути же, выбор того или иного варианта основной нумерации будет зависеть от того, на какую именно нумерацию (сплошную или раздельную) ссылается в тексте документа коллега Sandre. Условно говоря, если стоит ссылка вида «см. рис. 5.1 "Очень красивый рисунок" на стр.18», то какую нумерацию должна будет использовать данная ссылка — ту и придётся выбрать в качестве основной, дабы эти кросс-ссылки работали.

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

a_axe
06-06-2015, 16:14
А в третьем, четвёртом и так далее разделах — что пишем? »
Свои переменные Delta1, Delta2, Delta3, я полагаю.
ту и придётся выбрать в качестве основной, дабы эти кросс-ссылки работали. »
Как я понимаю - через поля кросс-ссылки не реализовать?
Достаточно однократно задать в параметрах обновление полей при печати и затем пользовать предварительный просмотр. »
Спасибо, возьму на заметку ;).

Iska
06-06-2015, 16:45
Свои переменные Delta1, Delta2, Delta3, я полагаю. »
a_axe, спасибо, теперь полностью ясно.

Как я понимаю - через поля кросс-ссылки не реализовать? »
Ох, возни будет чересчур. Они ведь и так сами по себе полями организованы.

Sandre
06-06-2015, 21:33
Iska, адаптировался, мягко говоря, не очень:пропали рамки во всех документах формалата ворд

Ещё пропали картинки в дипломе...

Sandre
06-06-2015, 22:28
В режиме чтения видны, между прочим

Iska
06-06-2015, 22:48
Iska, адаптировался, мягко говоря, не очень: »
Sandre, так не было ещё никакой адаптации, я только спрашивал:
Если Вас подобное устроит, посмотрю на его адаптацию непосредственно к Вашему документу. »
Так что — пробуем адаптировать? Ответьте тогда: у Вас какая нумерация в дипломе является основной — сквозная или по-раздельная?

пропали рамки во всех документах формалата ворд »
Во всех — такого быть не может: там явно сказано — «ThisDocument».

Ещё пропали картинки в дипломе... »
Проверьте, что не установлен параметр Word'а «Пустые рамки рисунков».

Sandre
06-06-2015, 23:11
Iska, не установлен параметр \\ Тем не менее, нигде не отражаются рамки.

Iska, я был бы Вам благодарен, если бы Вы отредактировали макрос под мой диплом. Правда, рамки есть не на всех страницах. Поэтому применение макроса должно приходиться на определённые разделы. \\ Что означает:"нумерация сквозная или отдельная"?

a_axe, у меня была идея сделать вариант с Ф9 таким образом: в конце диплома вставить пустую страницу и туда прописать delta для каждого раздела. Но как это реализовать...

a_axe
07-06-2015, 09:46
у меня была идея сделать вариант с Ф9 таким образом: в конце диплома вставить пустую страницу и туда прописать delta для каждого раздела. »
Ну тут скорее в колонтитуле первого раздела следует прописать
{set Delta2{={sectionpages}}} (по-хорошему - сделайте первый колонтитул раздела "особым", и вбейте это поле в него. Требование это не обязательное, если значение Delta2 будет присваиваться в каждом колонтитуле Раздела 1, работать будет).
В колонтитуле Раздела 2 используете поле {={page}-Delta2}, и в этом же разделе прописываете значение для Delta3 для следующего Раздела 3 ({set Delta3{={sectionpages}}}), в Разделе3 используете поле {={page}-Delta3} и задаете {set Delta4{={sectionpages}}}и так далее для всех разделов.
Что означает:"нумерация сквозная или отдельная"
У вас в дипломе две нумерации: одна идет по порядку через все страницы документы, "насквозь" через все страницы документа, очевидно что она сквозная. Вторая - начинается заново для каждого раздела, отдельно от нумерации других разделов, очевидно, что она отдельная. Соответственно, вы должны определиться, какая из них "главнее".

Sandre
07-06-2015, 11:31
у меня была идея сделать вариант с Ф9 таким образом: в конце диплома вставить пустую страницу и туда прописать delta для каждого раздела. »
Ну тут скорее в колонтитуле первого раздела следует прописать
{set Delta2{={sectionpages}}} (по-хорошему - сделайте первый колонтитул раздела "особым", и вбейте это поле в него. Требование это не обязательное, если значение Delta2 будет присваиваться в каждом колонтитуле Раздела 1, работать будет).
В колонтитуле Раздела 2 используете поле {={page}-Delta2}, и в этом же разделе прописываете значение для Delta3 для следующего Раздела 3 ({set Delta3{={sectionpages}}}), в Разделе3 используете поле {={page}-Delta3} и задаете {set Delta4{={sectionpages}}}и так далее для всех разделов.
Что означает:"нумерация сквозная или отдельная"
У вас в дипломе две нумерации: одна идет по порядку через все страницы документы, "насквозь" через все страницы документа, очевидно что она сквозная. Вторая - начинается заново для каждого раздела, отдельно от нумерации других разделов, очевидно, что она отдельная. Соответственно, вы должны определиться, какая из них "главнее".
Как быть с рамками? Они пропали

Iska
07-06-2015, 12:13
Iska, не установлен параметр \\ Тем не менее, нигде не отражаются рамки. »
Ну, тогда не знаю :).

Iska, я был бы Вам благодарен, если бы Вы отредактировали макрос под мой диплом. »
Я попробую.

Правда, рамки есть не на всех страницах. »
На каких страницах рамок нет? Есть какой-то общий принцип?

Поэтому применение макроса должно приходиться на определённые разделы. »
На какие именно разделы? Мне надо точно представлять обстоятельства применения макроса, дабы он отрабатывал корректно.

Что означает:"нумерация сквозная или отдельная"? »
Коллега a_axe дал выше точное разъяснение.

Как быть с рамками? Они пропали »
Вы документ уже успели сохранить с этими пропавшими рамками?

Sandre
07-06-2015, 12:39
Нет, не сохранял. Рамки пропали абсолютно во всех документах. Хочу заметить, что в режиме чтения они пояаляются

a_axe
07-06-2015, 12:42
Рамки пропали абсолютно во всех документах. »
Sandre, целиком пропали? И вертикальные линии (по длинной стороне листа) тоже? Или только штампы?
Я имею в виду - это не самый простой вариант, что редактируя колонтитул вы щелкнули мышкой между листиками и перешли в "компактный режим", когда не отображаются колонтитулы и расстояние между листами? У вас действительно не отображаются рамки (колонтитулы), верно?

Sandre
07-06-2015, 13:19
a_axe, прикрепил скрин. Теперь так во всех документах




© OSzone.net 2001-2012