
Многие словари вставляют a \cdot
между слогами слова, как показано ниже:
Эти точки могут быть полезны для понимания сложных слов, а в некоторых случаях просто необходимы: без явного обозначения слоговых делений вы не сможете легко определить, что слово Ай (древний город) состоит из двух слогов.
К сожалению, эти точки означают, что нельзя просто нажать Ctrl+ Fи искать "aardvark". Это не имеет значения, если документ напечатан, но удобство поиска является основным преимуществом электронных форматов, и было бы обидно отказываться от этого.
Есть ли способ настроить LaTeX или PDF так, чтобы указанный выше текст можно было найти с помощью простого текстового поиска (чтобы функция поиска «пропускала» \cdot
)?
Кажется, это можно было бы сделать, если бы LaTeX имел способ создания "скрытых" символов, которые бы отображались на экране, но не в тексте, по которому выполняется поиск? Есть ли другой способ подойти к этому?
решение1
Есть один способ, который специфичен для читателя.accsupp
хорошо работает с Adobe Reader:
\documentclass{article}
\usepackage{accsupp,xstring}
\makeatletter
\newcommand{\@syllable}{$\cdot$}
\newcommand{\setsyllable}[1]{\renewcommand{\@syllable}{#1}}
\newcommand{\dict}[1]{%
\StrSubstitute{#1}{|}{}[\@ActualText]% Strip syllable symbol |
\StrSubstitute{#1}{|}{\@syllable}[\@VisualText]% Replace syllable
\BeginAccSupp{ActualText=\@ActualText}\@VisualText\EndAccSupp{}%
}
\makeatother
\begin{document}
\dict{Aard|vark}
\setsyllable{:}
\dict{Aar|dv|ark}
\setsyllable{-}
\dict{A|a|r|d|v|a|r|k}
\end{document}
С Суматрой это не работает.