建立圖像表

建立圖像表

我似乎遇到了一個無法解決的問題,我需要幫助解決,我 100% 意識到這只是純 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

嗯,很難知道從哪裡開始。

你說你認為邊界框太大。我假設它們都是一樣的,%%BoundingBox每股盈餘中的線是什麼(它們都一樣嗎?)

(我認為)可能是您只是生成了一條太長的線。您似乎正在製作一個\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 個開始一個新段落(垂直對齊將是自動的,因為它們的大小都相同,因此您不需要表格構造。

相關內容