我想创建一个宏,将其参数转换为图像,目的是使用内置的搜索功能找不到此宏中的文本标准PDF 查看器。
因此,在结果文档中搜索“文本”应该只产生两个匹配项,而不是四个。也就是说,突出显示框中的任何文本都应被忽略。
用例
我生成一个大的文件索引,并且希望能够仅通过索引条目(而不是文件名)进行搜索。
梅威瑟:
\documentclass{article}
\usepackage{tikz}
\tikzset{Node Style/.style={draw=red, thin, fill=yellow!50, anchor=base, inner sep=1pt,}}
\newcommand{\NonSearchableText}[2][]{%
\tikz[baseline] \node [Node Style, #1] at (0,0) {#2};%
}%
\begin{document}
\textbf{searchable text}
\indent\NonSearchableText{non-searchable-text}
\textbf{searchable text}
\indent\NonSearchableText{non-searchable-text}
\end{document}
期望输出
non-searchable-text.png
可以通过使用此处的第一个文件来创建第二个文件所包含的图像,从而创建所需的输出。
文件名:
non-searchable-text.tex
%%% https://tex.stackexchange.com/questions/34054/tex-to-image-over-command-line \documentclass[convert={density=300,outext=.png}]{standalone} \usepackage{tikz} \tikzset{Node Style/.style={draw=red, thin, fill=yellow!50, anchor=base, inner sep=1pt,}} \newcommand{\NonSearchableText}[2][]{% \tikz[baseline] \node [Node Style, #1] at (0,0) {#2};% }% \begin{document} \NonSearchableText{non-searchable-text} \end{document}
主文件:
\documentclass{article} \usepackage{graphicx} \usepackage[export]{adjustbox} %% https://tex.stackexchange.com/questions/98297/create-command-to-inline-an-image-in-a-question \newcommand*{\Image}[1]{\includegraphics[valign=m]{#1}}% \begin{document} \textbf{searchable text} \indent\Image{non-searchable-text.png} \textbf{searchable text} \indent\Image{non-searchable-text.png} \end{document}
答案1
该accsupp
包可以做到这一点。语法是\BeginAccSupp{method=escape,ActualText=<searchable non-visualized text>}<non-searchable visualized text>\EndAccSupp{}
。
\documentclass{article}
\usepackage{tikz,accsupp}
\tikzset{Node Style/.style={draw=red, thin, fill=yellow!50, anchor=base, inner sep=1pt,}}
\newcommand{\NonSearchableText}[2][]{%
\tikz[baseline] \node [Node Style, #1] at (0,0) {%
\BeginAccSupp{method=escape,ActualText=}#2.\EndAccSupp{}};%
}%
\begin{document}
\textbf{searchable text}
\indent\NonSearchableText{non-searchable-text}
\textbf{searchable text}
\indent\NonSearchableText{non-searchable-text}
\end{document}
视觉输出与以前一样
该文件的可搜索文本包括以下内容:
searchable text
searchable text