|
| |||
|
|
EPS boundary box Уже 5 лет мучаюсь с картинками в LaTeX. Которые в Matlab сгенерированы. Всегда приходиться подгонять итеративно. Но вот понадобилось это сделать с сотней картинок. Пришлось разобраться - за пару часиков. Матлаб генерирует дебильные eps-ы - с неправильным bounding box-ом. Латех их потом неправильно в текст вставляет (много пустого места вокруг). Причём я смотрю по файлам, 2007 Матлаб генерировал нормальный eps-3, а уже 2009 - дерьмовый eps-2, причём с неправильным хедером. Решение - пофиксить bounding box через epstool. Но эта утилита не хавает eps с неправильным хедером. Пришлось налабать программу быстренько (Немерле): Utility.GetFiles(@"c:\folder-with-eps\", def text = File.ReadAllText(file); def header = "%!PS-Adobe-2.0"; def alreadyGood = "EPSF-"; // assert (text.StartsWith(header)); when (text.StartsWith(header) && !text.Substring(0, 300).Contains(alreadyGood)) { def temp = "temp.eps"; File.WriteAllText(temp, text.Replace(header, "%!PS-Adobe-2.0 EPSF-2.0")); File.Delete(file); RunShell(@"c:\Mathematics\epstool-3.08\b }); Ну, профит типа. Ссылки помогшие: http://online.redwoods.cc.ca.us/instruc http://maverickranter.blogspot.nl/2 http://www.instructables.com/id/How-t http://pages.cs.wisc.edu/~ghost/gsv http://www.ctan.org/tex-archive/sup http://tex.stackexchange.com/questi http://www.mathworks.de/matlabcentral/f http://nibot-lab.livejournal.com/73 |
|||||||||||||