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