Я пишу макрос для преобразования документа Word в LaTeX.
Все идет хорошо, кроме одного: в документе интенсивно используются шаблоны стилей, в сущности, используются стили символов для достижения функциональной разметки. Например, все имена авторов, которые появляются в тексте, используют стиль символов "Имя автора". Все неанглийские слова или (и это становится хитрым) фразы имеют стиль "Иностранное слово", примененный к ним.
Давайте рассмотрим пример стиля "Иностранное слово". Чтобы преобразовать его в LaTeX, мне нужно создать поиск, который как можно более жадно ищет все символы, к которым применен стиль "Иностранное слово", возьмите эту строку и оберните ее в \emph {\1} (\1 указывает положение совпадающей строки).
Используя очень скромное объяснение Microsoft о его синтаксисе с подстановочными знаками, я ожидаю, что поиск по термину «*» (без кавычек) и применяемому стилю "иностранного слова" должен это делать, но это не так. Это не достаточно жадный, только поиск отдельных персонажей. Я могу сделать поиск с подстановочными знаками более жадным, включив в поиск разделители --- "[] * []" действительно находит целые слова ---, но в текущем случае это не получится, потому что, например, при использовании термина "" ad-hoc "может предшествовать и сопровождаться пробелом, к самому пространству не будет применен стиль" Иностранное слово ", и, таким образом, он будет исключен из поиска (не говоря уже о том, что существует множество потенциальных границ строк: иностранной фразе перед словом может предшествовать двоеточие, точка с запятой, пробел, один из шести символов потенциальной кавычки, знак абзаца или ...).
По сути, я ищу подстановочное поисковое выражение для Word, которое соответствует самой длинной непрерывной строке, к которой применен определенный стиль.
Отредактировано barlop, чтобы добавить разъяснения ОП.
`В качестве примера, приведенного ниже текста, который я поместил в кавычки.
«Помимо seigneuries, были также присуждены более высокие дворянские владычества, хотя в настоящее время единственным оставшимся титулом дворянства в Квебеке, который можно проследить до церковной системы, является титул« Барон де Лонгёй »в семье Le Moyne»
Глядя на этот текст, приведенный выше. Все слова, выделенные курсивом, имеют к ним стиль "Иностранное слово". В случае "Барон де Лонгвейл" это включает пробелы между "Барон", "де" и "Longueil". Я ищу поиск, который бы улавливал каждое из этих трех выделенных курсивом слов в одну строку соответственно.
Результат должен быть следующим: «Помимо \emph {seigneuries}, были также присуждены более высокие дворянские владения, хотя в настоящее время единственным оставшимся дворянским титулом в Квебеке, который можно отследить до системы \emph {seigneurial}, является титул« \emph {Baron de Longueuil} ', в семье Ле Мойн`