如何获取每个字符之间的空格值?

如何获取每个字符之间的空格值?

是否可以将章节的所有信息(包括空格、行和字符)写入文件?

例子
(来源:bankfotek.pl

我有文本和 5cm 宽的线。我需要包含以下内容的 ASCII 文本文件

Śród (space x1) takich (space x2) pól (x3) przed (x4)  laty(x5),(x6) 

nad (x7) brzegiem (x8) ruczaju,(x9) Na(x10)

pagórku () niewielkim,() we () br()-

zozowym gaju, .....

我需要字符和空格以及下一个字符空格...我需要使用我自己的字距将其转换回 tex。

\documentclass[a4paper, 12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\begin{document}
\parbox{5cm}{Śród takich pól przed laty, nad brzegiem ruczaju,
Na pagórku niewielkim, we brzozowym gaju,
Stał dwór szlachecki, z drzewa, lecz podmurowany;
Świeciły się z daleka pobielane ściany,
Tym bielsze, że odbite od ciemnej zieleni}
\end{document}

http://bankfotek.pl/image/1833810

答案1

您只需稍加努力就可以从日志中获取这些信息。

\documentclass{article}

\showoutput

\begin{document}

One two three four five six seven eight nine ten.
One two three four five six seven eight nine ten.
One two three four five six seven eight nine ten.
One two three four five six seven eight nine ten.
One two three four five six seven eight nine ten.


\end{document}

在此处输入图片描述

生成一条日志,第一行内容为

...\hbox(6.94444+1.94444)x345.0, glue set - 0.0698
....\hbox(0.0+0.0)x15.0
....\OT1/cmr/m/n/10 O
....\OT1/cmr/m/n/10 n
....\OT1/cmr/m/n/10 e
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/n/10 t
....\kern-0.27779
....\OT1/cmr/m/n/10 w
....\kern-0.27779
....\OT1/cmr/m/n/10 o
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/n/10 t
....\OT1/cmr/m/n/10 h
....\OT1/cmr/m/n/10 r
....\OT1/cmr/m/n/10 e
....\OT1/cmr/m/n/10 e

它显示(如果垂直阅读)每个字符集来自哪种字体,以及单词间空格。它们显示为具有拉伸和收缩分量的输入,但你可以使用该因子从框的开头计算出实际大小glue set,这里 glue set - 0.0698每个具有有限收缩分量的胶水都会按其收缩分量的比例收缩。

下一行看起来类似,第三行有

...\hbox(6.94444+1.94444)x345.0, glue set 0.08626

具有正的胶合固定率,因此在这种情况下使用了单词间胶合的拉伸分量。

最后一行有无限粘连:

...\hbox(6.67859+0.0)x345.0, glue set 306.6666fil
....\OT1/cmr/m/n/10 n
....\OT1/cmr/m/n/10 i
....\OT1/cmr/m/n/10 n
....\OT1/cmr/m/n/10 e
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/n/10 t
....\OT1/cmr/m/n/10 e
....\OT1/cmr/m/n/10 n
....\OT1/cmr/m/n/10 .
....\penalty 10000
....\glue(\parfillskip) 0.0 plus 1.0fil
....\glue(\rightskip) 0.0
...\glue 0.0 plus 1.0fil
...\glue 0.0
...\glue 0.0 plus 0.0001fil
..\glue(\baselineskip) 23.55556
..\hbox(6.44444+0.0)x345.0, glue set 170.0fil
...\glue 0.0 plus 1.0fil

现在,胶水组会告诉您每个1fil胶水的价值是多少pt。在这种情况下,所有胶水都来自\parfillskip完成最后两个单词后的短线。

相关内容