построение таблицы изображений

построение таблицы изображений

Кажется, я столкнулся с неразрешимой проблемой, в решении которой мне нужна помощь, и я на 100% осознаю, что это невозможно с помощью чистого LaTeX, но я бы хотел, чтобы это было так. Итак, перейдем к рассматриваемому вопросу.

Я хочу создать таблицу изображений, в данном случае это eps-файлы из 11 251 кандзи. С самого начала я изучал, как зацикливать файлы в LaTex, так как не хотел вручную вводить все 11 251. И обнаружил, что без помощи скрипта оболочки это невозможно, поэтому я слепил это

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 слишком большой. Я предполагаю, что они все одинаковы, какая %%BoundingBoxлиния в EPS (и все ли они одинаковы?)

Может быть (я думаю), что вы просто создаете слишком длинную строку. Похоже, вы создаете список \includegraphics{}команд длиной 11251 без команд между ними. Для TeX включенная графика в основном похожа на письмо, и поэтому это похоже на то, что

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA....

с одной очень длинной неразрывной линией.

Измените свой скрипт оболочки, чтобы написать

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 (вертикальное выравнивание будет выполнено автоматически, поскольку они все одинакового размера, поэтому вам не понадобится конструкция таблицы).

Связанный контент