2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Автоматизация в MS Word
Сообщение16.08.2018, 05:50 


07/10/15

2400
Нумерация при помощи полей


Под впечатлением от полученной информации решил я пронумеровать формулы в одном своём незаконченном труде через поля MS Word, т.к. это показалось мне многообещающим. Но, как это часто бывает, столкнулся с одной трудностью, которую пока не знаю как лучше преодолеть. Возможно вы мне хотя бы намекнёте, как лучше сделать?

Дело в том, что нумерация формул (как впрочем и всего остального) у меня двухуровневая: первая цифра - номер главы, а вторая - собственно номер формулы.

Нумерацию разделов я сделал так {SEQ ГЛАВА \* Arabic}.{SEQ параграф \* Arabic}

Нумерация формул получается такая {SEQ ГЛАВА \* Arabic \*с}.{SEQ формула_методы \* Arabic}

Плохо то, что во втором уровне нумерации формул в каждой новой главе нужно указывать свой идентификатор, как у меня "формулы_методы". Это не очень хорошо. Например перетаскиваю я формулу в другую главу (хотя это и маловероятно, но всё же), она всё равно останется привязанной к старой главе.
Собственно вопрос: Можно ли как то подцепить к идентификатору формулы номер главы, в таком духе
{SEQ формула_{SEQ ГЛАВА \* Arabic \*с} \* Arabic} или как нибудь ещё?

я сначала попробовал - вроде как работало, но как только сменил нумерацию глав (добавил впереди одну новую) всё "слетело".

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение16.08.2018, 11:36 
Заслуженный участник


12/07/07
4522
Главы — это заголовки первого уровня. (Отмечу для однозначности: предполагается, что в параметрах стиля указана нумерация заголовка.) При двухуровневой нумерации формул можно вставлять номер главы (в качестве первого номера) разными способами

1. При помощи поля STYLEREF с ключом \n. В русской локализации { STYLEREF "Заголовок 1" \n }. [Здесь фигурные скобки — это не вводимый с клавиатуры текст, а объект; при отображении в Word они окружены пунктирными прямоугольниками.]

2. При помощи вставки ссылки на номер (конкретного) заголовка главы.
[В окне «Перекрестная ссылка» в списке «Тип ссылки» выбрать «Заголовок», в списке «Вставить ссылку на» выбрать «Номер заголовка», в списке в нижней части страницы «Для какого заголовка» выбрать соответствующий заголовок.
Если не будет сброшена галка на «Вставить как гиперссылку», то добавится поле вида {REF _Ref522177028 \r \h}.]


Если номер главы указан при помощи STYLEREF, то при перетаскивании в другую главу произойдет обновление (после нажатия F9, предварительного просмотра или во время печати). Если номер главы вставлен ссылкой на заголовок конкретной главы, то нужно редактировать вручную.

Для номеров всех формул можно использовать один идентификатор, например EQU. Тогда при перетаскивании формул из главы в главу не возникает затруднений. Для того чтобы нумерация формул в каждой главе начиналась с 1 достаточно в первой формуле каждой главы добавить ключ «начать нумерацию с 1»: \r 1.
[Для ссылки на номер формулы на этот номер ставится закладка и вместо вбивания в текст непосредственно номера вставляется ссылка на текст закладки.]

________

Естественно, вставлять стандартную нумерацию формул удобней при помощи Названий.
[В окне «Название»: в списке подпись выбрать «Формула», поставить галку в поле «Исключить подпись из названия»; открыв окно «Нумерация названий», поставить галку в поле «Включить номер главы», и выбрать разделитель. В Word 2003 окно «Название» можно открыть из глобального меню > Вставка> Ссылка. В 2007 окно «Название» можно открыть из: вкладки ленты «Ссылки»; группа «Названия»; «Вставить название».]
Прибегать к явному использованию полей приходится, если нужна нестандартная нумерация.

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение16.08.2018, 14:25 


07/10/15

2400
GAA из всего перечисленного, больше всего, мне понравился вариант с STYLEREFF, что характерно - если нумеровать формулы через названия, как указано Вами в самом конце, то всё равно создаётся номер из полей, которые так же можно редактировать. Получается так { STYLEREF 1 \s }.{ SEQ формула \* ARABIC \s 1}

Получается, вместо "Заголовок 1" можно писать просто 1, работает так же. Я так понимаю, если использовать во втором поле ключ \s 1, то нумерация формул будет начинаться заново в каждом новом заголовке 1 уровня. Мне кажется это лучше чем \r 1. В последнем случае, после перетаскивания первой формулы раздела, если в новом разделе она станет не первой, ключ \r 1 в ней нужно сменить на \n, а ключ второй формулы исходного раздела - с \n на \r 1. Если в новом разделе она станет первой, то её ключ менять не нужно, но нужно сменить ключ второй формулы. Если же использовать \s, то в ручную ничего менять не нужно. Правильно ли я понимаю?

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение16.08.2018, 16:38 
Заслуженный участник


12/07/07
4522
STYLEREF 1 — ссылка на встроенный стиль заголовка первого уровня. Если нужно иметь другие стили заголовок первого уровня (отличные от встроенного), например для приложений (с нестандартной нумерацией, в частности буквами), то нужно будет указывать имя стиля явно.

Недокументированный ключ \s поля STYLEREF предназначен для исключения «постоянной части номера» (Например, если номер заголовка имеет вид Глава 7, то с ключом \s будет вставлено только 7).

В отношении замены \r 1 на \s Вы, конечно, правы.

По поводу использования Названий добавлю следующее.
1. При вставке названия автоматически создается скрытая закладка. Это позволяет удобным способом вставлять ссылки на формулу, используя окно «Перекрестные ссылки» (в списке «Тип ссылки» надо выбрать «Формула»). Только в нестандартных случаях приходится прибегать к ручной нумерации формул, рисунков и таблиц (преимущественно приложения).
2. В некоторых версиях Word, чтобы в текст закладки на номер не была включена сама формула нужно название вводить в следующем параграфе (абзаце), а затем удалить символ конца параграфа (абзаца) (и отформатировать как задумано).

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение16.08.2018, 17:38 


07/10/15

2400
Понятно, спасибо!

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение17.08.2018, 04:22 
Заслуженный участник


12/07/07
4522
Я немного заврался с Названиями. Если захватывает формулу, открывающую скобку (типа постоянная часть номера) и нужно иметь возможность вставлять номер формулы при помощи перекрестной ссылки, то вставлять название на формулу, действительно, можно в следующий абзаце, но потом символ абзаца нужно не удалить, а сделать скрытым. Чтобы можно было делать несколько ссылок (закладок).
Например, пусть формула — h^2, а справа от неё должен быть номер в скобках. Тогда пишем в одну строку формулу, пробелы, открывающую скобку и нажимаем Enter, а в следующей строке вставляем название, а за ним закрывающую скобку. Потом символ абзаца делаем скрытым. В режиме отображать непечатаемые символы будет как-то так
Код:
h^2                              (
                              1.1)
А в режиме не отображать непечатаемые символы как-то так
Код:
h^2                         (1.1)
Аналогично с подписями рисунков. После постоянной части (Рисунок и тире) переход на следующий абзац и затем вставка названия. Затем символ абзаца делаем скрытым. Может есть лучший вариант, я не знаю.

Upd Погуглил. Для рисунков работают ключи \# 0.0x. Для формул, если несколько раз надо делать закладки, то вместо форматирования скрытым конца абзаца, можно часть текста закладки (после того как он вставлен в основную часть документа) форматировать как скрытую.

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение17.08.2018, 06:27 


07/10/15

2400
Наконец получилось. В перекрёстной ссылке нужно выбрать не просто тип "формула", а в разделе "вставить ссылку на:" нужно ещё выбрать "Постоянная часть и номер". Что это за такая постоянная часть - непонятно, но подозреваю, что это сама формула и есть, вернее, всё то что есть перед номером в этой строке. Это косвенно подтверждается тем, что без абзаца вставляется номер вместе с формулой.
Можно ещё выбрать "название целиком", тогда скрытый абзац будет лучше поставить перед первой скобкой, а не после неё. Тогда номер вставляется вместе со скобками - скобки вручную вводить не нужно. Мелочь конечно, но всё же. Да и сама исходная формула, при включенном форматировании, смотрится как то посимпатичнее, просто номер на другой строчке, ничего не разорвано.

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

Вообще, очень странно, почему нет возможности выбора в разделе "вставить ссылку на:" варианта "только номер", ведь это наиболее востребованный вариант.

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение17.08.2018, 19:45 
Заслуженный участник


12/07/07
4522
Спасибо за уточнение по поводу "вставить ссылку на:". Пропустил, когда писал выше.
Для рисунков и таблиц в поле REF вместо \# "0.0x" (как написано по ссылке выше) можно добавить \# "#.##" (более «документированный вариант»). По смыслу постоянная часть номера рисунка, таблицы или формулы — это подпись «Рисунок», «Таблица» или «Формула». Но MS при вставке закладки в качестве постоянной части вставляет весь текст от начала абзаца до номера. Если вставлять номер формулы с подписью, т.е. вида
Код:
                    H                    (Формула 1.1)
то при вставке ссылки при помощи окна «Перекрестные ссылки» и для номера формул работает ключ \# "#.##". Т.е. изменив для примера {REF _Ref522295805 \h} на {REF _Ref522295805 \h \# "#.##"}, получим ссылку в виде 1.1. Текст «Формула» в номере можно пометить как скрытый и дальше он не будет мешать.

Итого 3 наиболее удобных, на мой взгляд, варианта.
1. Вставлять номер с подписью, добавлять ссылку при помощи окна «Перекрестные ссылки» и ключ в REF \# "#.##", а потом форматировать подпись «Формула» перед номером как скрытую (если нужно).
2. Вставлять номер в следующем абзаце без подписи, добавлять ссылку на номер формулы при помощи окна «Перекрестные ссылки», а затем удалять символ абзаца.
3. Вставлять в следующем абзаце без подписи, делать символ абзаца скрытым и когда удобно добавлять ссылку при помощи окна «Перекрестные ссылки».

В каждом варианте есть свои недостатки.

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение17.08.2018, 20:22 


07/10/15

2400
Хотелось бы всё таки добавить. При выделении номера формулы как закладки есть, всё же, один небольшой бонус: её можно сделать как гиперссылку, и она будет подсвечиваться. Например "уравнение_Пуассона", мне очень нравятся подсветки, часто не нужно переходить по ссылке, посмотрю подсветку и вспоминаю что нужно. Только они у меня какие то серенькие, невзрачные. GAA а можно их сделать как то по пестрее? желтенькие например какие нибудь?

-= Добавлено =-

Хотелось бы уточнить, что под подсвечиванием, имелась в виду выплывающая подсказка, которая появляется при наведении на ссылку мышью. В тексте этой подсказки, сверху указано название закладки (если на номере создана закладка) или просто "текущий документ" (если ссылка сделана через названия), а снизу, жирными буквами "для перехода нажмите CTRL и щелкните ссылку". Эта всплывающая подсказка к сожалению серая. Но Вы GAA, в предыдущих сообщениях писали, что она может быть и желтой. Мне бы тоже хотелось так сделать, если это конечно возможно.

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение18.08.2018, 04:47 
Заслуженный участник


12/07/07
4522
1. XP: Панель управления \ Экран \ оформление \ Дополнительно \ Элемент \ Всплывающая подсказка.
2. Win 7:
Железячник на форуме ixbt писал(а):
Панель управления\Персонализация\Цвет и внешний вид окна\Дополнительные параметры → "Всплывающая подсказка"
Но в этой ветке это оффтопик. Не будем дальше обсуждать здесь настройки Windows.

 Профиль  
                  
 
 Re: Автоматизация в MS Word
Сообщение13.12.2021, 09:12 


13/12/21
1
Я использую римскую нумерация в заголовке. Но мне нужна арабские в название формулу или рисунке, то есть, например

Глава II.

Рис. 1.1.

но у меня получится Рис. I.1

что мне делат. Помогите. Кто нибуд знаеть?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group