2014 dxdy logo

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

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




 
 Автоматизация в MS Word
Сообщение16.08.2018, 05:50 
Нумерация при помощи полей


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

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

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

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

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

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

 
 
 
 Re: Автоматизация в MS Word
Сообщение16.08.2018, 11:36 
Главы — это заголовки первого уровня. (Отмечу для однозначности: предполагается, что в параметрах стиля указана нумерация заголовка.) При двухуровневой нумерации формул можно вставлять номер главы (в качестве первого номера) разными способами

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 
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 
STYLEREF 1 — ссылка на встроенный стиль заголовка первого уровня. Если нужно иметь другие стили заголовок первого уровня (отличные от встроенного), например для приложений (с нестандартной нумерацией, в частности буквами), то нужно будет указывать имя стиля явно.

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

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

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

 
 
 
 Re: Автоматизация в MS Word
Сообщение16.08.2018, 17:38 
Понятно, спасибо!

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

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

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

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

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

 
 
 
 Re: Автоматизация в MS Word
Сообщение17.08.2018, 19:45 
Спасибо за уточнение по поводу "вставить ссылку на:". Пропустил, когда писал выше.
Для рисунков и таблиц в поле 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 
Хотелось бы всё таки добавить. При выделении номера формулы как закладки есть, всё же, один небольшой бонус: её можно сделать как гиперссылку, и она будет подсвечиваться. Например "уравнение_Пуассона", мне очень нравятся подсветки, часто не нужно переходить по ссылке, посмотрю подсветку и вспоминаю что нужно. Только они у меня какие то серенькие, невзрачные. GAA а можно их сделать как то по пестрее? желтенькие например какие нибудь?

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

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

 
 
 
 Re: Автоматизация в MS Word
Сообщение18.08.2018, 04:47 
1. XP: Панель управления \ Экран \ оформление \ Дополнительно \ Элемент \ Всплывающая подсказка.
2. Win 7:
Железячник на форуме ixbt писал(а):
Панель управления\Персонализация\Цвет и внешний вид окна\Дополнительные параметры → "Всплывающая подсказка"
Но в этой ветке это оффтопик. Не будем дальше обсуждать здесь настройки Windows.

 
 
 
 Re: Автоматизация в MS Word
Сообщение13.12.2021, 09:12 
Я использую римскую нумерация в заголовке. Но мне нужна арабские в название формулу или рисунке, то есть, например

Глава II.

Рис. 1.1.

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

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

 
 
 [ Сообщений: 11 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group