建立图像表

建立图像表

我似乎遇到了一个无法解决的问题,需要帮助解决,我完全清楚这在纯 LaTeX 中是不可能的,但我希望如此。所以开始讨论手头的问题。

我想建立一个图像表,在这种情况下,它们是 11,251 个汉字的 eps。现在从一开始我就研究了如何在 LaTex 中循环文件,因为我不想手动输入所有 11,251 个。我发现如果没有 shell 脚本的帮助,这是不可能的,所以我拼凑了这个

for f in *.eps; do echo "\includegraphics[scale=0.25]{./Reference/kanji/eps/$f}" >> ../eps.list; done

这只是一个开始,它工作得非常好,现在唯一的问题是 LaTeX 不能很好地处理该列表。它会抛出错误,例如Number too big ...=0.25]{./Reference/kanji/eps/0002e.svg.eps}它们Dimension too large ...=0.25]{./Reference/kanji/eps/0002e.svg.eps}只有 512x512,所以我假设这意味着边界框太大,作为对 eps 的说明,它们是使用以下脚本从 SVG 转换而来的

for f in *.svg; do inkscape -f $f -D -E $f.eps -z; done

而且它只花了大约 58 分钟就运行完毕,所以我的生活可能更糟了。我主要想寻求帮助的是如何生成表格。它需要有 6 列,N 行,并按顺序填充插槽,我不知道该怎么做,所以如果你愿意帮助我的话。

我可能要提出的另一个问题是,我似乎在使用 CJK 包时遇到了很多麻烦,经过几个小时在这里和其他地方的查找,我已经完成了字体并重建了字体数据库,更新了所有内容,但它仍然死机,Undefined control sequence 縲梧律并出现大量Undefined control sequence 縲梧律错误,主文件看起来像这样

\documentclass[UTF8,14pt]{book}
\usepackage{graphicx}
\usepackage{CJK}
\newcommand{\bookversion}{v0.0 REV 0}
\begin{document}
\begin{CJK*}{UTF8}{min}
\input{Title}
\clearpage
「日本語」
\tableofcontents
\include{Introduction/Part.Introduction}
\include{Learn/Part.Learn}
\include{Reference/Part.Reference}
\clearpage
\end{CJK*}
\end{document}

正如之前提到的,我在多个方面都感到不知所措,对于冗长的文字我深表歉意,并感谢您提供的所有帮助。

答案1

嗯,很难知道从哪里开始。

您说您认为边界框太大。我认为它们都是一样的,%%BoundingBoxEPS 中的线是什么(它们都是一样的吗?)

这可能是(我认为)你只是生成了一条太长的行。你似乎在制作一个\includegraphics{}11251 长的命令列表,中间没有命令。对于 TeX 来说,包含的图形基本上就像一封信,所以它就像

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA....

有一条很长的、不可断的线。

修改 shell 脚本以写入

for f in *.eps; do echo "\do\includegraphics[scale=0.25]{./Reference/kanji/eps/$f}" >> ../eps.list; done

现在你们\do每个人面前都有了。

如果您\let\do\par在包含图像列表之前说,每个图像将位于其自己的段落中,这会占用 TeX 内存很多。这不是您想要的布局,但这是一个很好的测试,可以查看错误在这种情况下是否会改变。

要连续获取六幅图像,您可以定义

\newcount\imgcount

\def\do{%
\advance\imgcount 1 
\ifnum\imgcount=7
\par
\imgcount=0
\else
\space
\fi}

这样就会在每幅图像之间留出一个空格,并且每 6 幅图像开始一个新段落(垂直对齐是自动的,因为它们都是相同的大小,所以您不需要构造表格。

相关内容