
Я хочу иметь возможность сказать TeX, что здесь граница слова без использования пробелов. И я хочу, чтобы TeX сам решал, добавлять ли пробел на обозначенной границе слова или нет.
Например: я хочу удалить пробелы из этой строки TeX: ``Look \emph{Mummy! no} Spaces!''
и получить что-то вроде этого ``\wb{}Look\wb{}\emph{Mummy\wb{}!\wb{}no\wb{}}\wb{}\wb{}\wb{}Spaces\wb{}!''
, где один или несколько пробелов \wb{}
обозначают границу слова.
И я хочу, чтобы TeX, увидев границы моих слов, решал в соответствии с внутренними правилами, нужно ли вставлять пробел или нет.
Например, No\wb{}Spaces
нужен пробел, чтобы TeX создал No Spaces
. Но Spaces\wb{}!
не нужен пробел (перед !
), и TeX создаст Spaces!
.
Контекст в том, что я создаю документы TeX динамически, из HTML, с помощью компьютерной программы, которая использует конечный автомат. И я продолжаю добавлять содержимое TeX к общему документу в зависимости от того, какой тег HTML я встречаю. (ПОЖАЛУЙСТА, этот вопрос не о том, как сделать преобразование HTML2TeX эффективным.) Я не хочу принимать решения о том, где поставить пробел (например, если я добавляю знак препинания к какому-то слову, то я должен решить не добавлять пробел между ними, но если я добавляю другое слово, то я должен добавить пробел), потому что это становится очень сложным для меня. Я хочу, чтобы TeX принимал эти решения внутренне, например, как расстановку переносов для разных языков. И поэтому я подумал, что было бы решением, если бы вместо пробелов я добавлял границы слов, а TeX решал, нужно ли заменить эти границы слов пробелом или вообще ничем.
Мне нужно это решение для работы latex, pdflatex and xelatex
.
Я задал похожий вопрос, но он был слишком упрощен и запутал людей:Я хочу, чтобы LaTeX автоматически обрабатывал пробелы до и после слов без моего добавления пробелов.
Обновление: добавление этого примера:
\documentclass{article}
\usepackage{xspace}
\begin{document}
He said: ``\xspace Look\xspace \emph{Mummy\xspace !\xspace no}\xspace Spaces\xspace!\xspace ''
blah\xspace (\xspace see\xspace here\xspace)\xspace .
\end{document}
Вышеуказанное работает нормально, за исключением случаев, когда предшествует открывающая кавычка/скобка и добавляет пробел после себя. Я бы предпочел, чтобы там не было пробела.И я бы предпочел не принимать это решение, а позволить TeX решить его.