有没有办法找出格式化文本中字母的坐标?
假设编译后的文本有三列,字母间距相等。那么我要找的是一个命令,它根据字母的(行、列)坐标决定是否以粗体打印字母。
如果我解释一下它的用途,事情可能就会变得更清楚。它是某种叠加的 ASCII 图像,隐藏在文本中。阅读文本时,您可能会注意到有些字符以粗体打印,有些则不是,这似乎是随机的。
当从远处看文本时,您会看到全局。
点代表常规文本,而“s”则代表粗体字符。
主要的挑战是它需要是多列文本,这使得更难分辨哪些字符需要以粗体打印。
我打算使用它来dvitype
满足我的需求。但有人知道吗,例如
131: setchar72 h:=1310720+491521=1802241, hh:=114
可能编码?我所知道的是,根据 ASCII72
表示哪个是tex 文件的第一个字母H
Hello World!
Hello World!
\bye
但其他数字的含义是什么?
答案1
使用KJO的想法并简化输入:
您可以使用一个环境,steganography
使两个字符处于活动状态,并定义这两个字符来打印一个点和一个粗体点。
这是一个非常粗略的演示方法(使用.
和#
KJO 示例中的一样):
\documentclass{article}
\makeatletter
\let\stegchar=.
\newlength\stegVspace \stegVspace=4\p@
\newlength\stegHspace \stegHspace=3\p@
\newenvironment{steganography}{%
\catcode`\.=\active
\catcode`\#=\active
\obeylines
\baselineskip=\stegVspace
\@steganography
}{}
\begingroup
\catcode`\.=\active
\catcode`\#=\active
\gdef\@steganography{%
\def.{\leavevmode\hb@xt@\stegHspace{\hss\stegchar\hss}}%
\def#{\leavevmode\hb@xt@\stegHspace{\hss\textbf{\stegchar}\hss}}%
}
\endgroup
\makeatother
\begin{document}
\pagestyle{empty}
\begin{steganography}
.##......##..........##..##................##.......##..................##.......##
.##......##..........##..##................##.......##..................##.......##
.##......##..#####...##..##..######........##...#...##..######..######..##.......##
.##########.##...##..##..##.##....##.......##..###..##.##....##..##..#..##...######
.##......##.#######..##..##.##....##.......##.##.##.##.##....##..##.....##..##...##
.##......##.##.......##..##.##....##.......####...####.##....##..##.....##..##...##
.##......##..######.###.###..######........##.......##..######..###.....###..######
\end{steganography}
\end{document}
答案2
这不是一个答案,而只是一种可能方法的概念证明形式?
正如本网站上的一些“有趣”答案所示,肯定还有很多其他潜在的答案。
使用一些输入作为覆盖(在本例中是 figlet 字体),我们可以以此作为输入开始
.##......##..........##..##................##.......##..................##.......##
.##......##..........##..##................##.......##..................##.......##
.##......##..#####...##..##..######........##...#...##..######..######..##.......##
.##########.##...##..##..##.##....##.......##..###..##.##....##..##..#..##...######
.##......##.#######..##..##.##....##.......##.##.##.##.##....##..##.....##..##...##
.##......##.##.......##..##.##....##.......####...####.##....##..##.....##..##...##
.##......##..######.###.###..######........##.......##..######..###.....###..######
然后像这样替换#就非常简单了
.\textbf.\textbf.......\textbf.\textbf...........\textbf.\textbf...\textbf.\textbf.................\textbf.\textbf........\textbf.\textbf...................\textbf.\textbf........\textbf.\textbf.
.\textbf.\textbf.......\textbf.\textbf...........\textbf.\textbf...\textbf.\textbf.................\textbf.\textbf........\textbf.\textbf...................\textbf.\textbf........\textbf.\textbf.
.\textbf.\textbf.......\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf....\textbf.\textbf...\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.........\textbf.\textbf....\textbf....\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf.\textbf...\textbf.\textbf........\textbf.\textbf.
.\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.\textbf..\textbf.\textbf....\textbf.\textbf...\textbf.\textbf...\textbf.\textbf..\textbf.\textbf.....\textbf.\textbf........\textbf.\textbf...\textbf.\textbf.\textbf...\textbf.\textbf..\textbf.\textbf.....\textbf.\textbf...\textbf.\textbf...\textbf...\textbf.\textbf....\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.
.\textbf.\textbf.......\textbf.\textbf..\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.\textbf...\textbf.\textbf...\textbf.\textbf..\textbf.\textbf.....\textbf.\textbf........\textbf.\textbf..\textbf.\textbf..\textbf.\textbf..\textbf.\textbf..\textbf.\textbf.....\textbf.\textbf...\textbf.\textbf......\textbf.\textbf...\textbf.\textbf....\textbf.\textbf.
.\textbf.\textbf.......\textbf.\textbf..\textbf.\textbf........\textbf.\textbf...\textbf.\textbf..\textbf.\textbf.....\textbf.\textbf........\textbf.\textbf.\textbf.\textbf....\textbf.\textbf.\textbf.\textbf..\textbf.\textbf.....\textbf.\textbf...\textbf.\textbf......\textbf.\textbf...\textbf.\textbf....\textbf.\textbf.
.\textbf.\textbf.......\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf.\textbf..\textbf.\textbf.\textbf..\textbf.\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.........\textbf.\textbf........\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf.\textbf...\textbf.\textbf.\textbf......\textbf.\textbf.\textbf...\textbf.\textbf.\textbf.\textbf.\textbf.\textbf.
也许。与 \usepackage{easyformat} 一起使用
[编辑]
我已经删除了上述糟糕的结果,因为 Phelype 现在已经对这个想法进行了更进一步的阐释。
此时我不确定这在什么情况下会起作用,因为如果我按照我最初看到的方式应用它,那么它需要比简单的“粗体”更大的强调才能起作用。
参见 wH在日埃恩博升定义页译文米ay 包含 b埃低的 ?