2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Графика в ЛаТеХе
Сообщение02.02.2016, 18:18 


01/02/16
10
 i  Toucan:
Отделено от темы «Что делать с TeX capacity exceeded?»


Спасибо! Всё заработало!

Теперь озаботился размерами букв на картинках! Естественно я буду теперь всё перегонять не из PNG, а прямо из Geogebr-ы в PDF. Тогда у меня вопросы.

1. Правильно ли я понимаю, что мне нужно освоить пакет tikz, то я смогу с его помощью подключать картинки сделанные в Geogebra (я готов их как угодно экспортировать, но не перерисовывать - уж очень их много).

2. Каков по Вашему мнению грамотный путь рисования картинок по геометрии, если он отличается от пути, предлагаемого в п. 1?

Спасибо ещё раз!

 Профиль  
                  
 
 Re: Что делать с TeX capacity exceeded?
Сообщение02.02.2016, 19:04 


13/07/14
257
Для этих вопросов лучше завести отдельную тему

 Профиль  
                  
 
 Re: Что делать с TeX capacity exceeded?
Сообщение02.02.2016, 19:46 
Заслуженный участник
Аватара пользователя


31/01/14
11312
Hogtown
Согласно общему мнению есть два доминирующих графических суперпакета pgf/tikz и pstricks. Каждый имеет кучу "спутников"--основанных на них дополнительных пакетов, разработанных другими.

Лично я использую pgf/tikz, а если готовлю задачи/решения для по геометрии для школьников, то дополнительно tkz-euclide. Это позволяет находить, например, пересечение двух окружностей. ГеоГебра может ещё находить пересечение двух эллипсов. С другой стороны, pgf/tikz может рисовать интересные кривульки и использовать мощь gnuplot.

Я считаю, что по возможности следует использовать pgf/tikz (прямо в документе), а не внешнюю графику.

ГеоГебра умеет экспортировать в графические форматы и в tikz, но тут есть проблема: полученный код "hard-coded" т.е. все точки имеют указанные координаты. А в tkz-euclide я могу задекларивать некоторые точки и длины, и потом если я изменю декларацию, то зависимые от них точки изменятся автоматически.

 Профиль  
                  
 
 Re: Графика в ЛаТеХе
Сообщение04.02.2016, 16:19 


01/02/16
10
То есть получается, что мне сразу надо было осваивать пакет tikz, а не не экспортировать картинки из ГеоГебры. Ибо в ГеоГебре моя главная головная боль - это как сделать так, чтобы размеры букв в тексте и на картинке были бы одинаковые. Я уже даже научился делать так, чтобы названия точек на картинках ГеоГебры были подписаны тем же шрифтом, что и в тексте. Но вот размер оставлял желать лучшего. Как-то это получалось, но очень примерно и после многократного подгона размера. Теперь Вы мне просто глаза открываете на то, как это надо делать на самом деле.

А является ли tikz WhatYouSeeThatYouGet? Или это пакет в стиле тех рисунков, которые описывает Львовский, только более мощный? Вообще, какая документация самая лучшая для освоения этого пакета? Если это более или менее несложно, то я готов перерисовать все свои картинки к книжке несмотря на их количество. Посоветуйте, а?

Заранее спасибо!

 Профиль  
                  
 
 Re: Графика в ЛаТеХе
Сообщение04.02.2016, 16:41 
Заслуженный участник
Аватара пользователя


31/01/14
11312
Hogtown
Sergey Belyaev в сообщении #1096763 писал(а):
А является ли tikz WhatYouSeeThatYouGet?


Нет. ТеХ вообще не из этой серии. Но Вы ведь можете экспортировать из ГГ в tikz и там Ваша головная боль уйдёт сама

 Профиль  
                  
 
 Re: Графика в ЛаТеХе
Сообщение04.02.2016, 21:52 


01/02/16
10
Сделал так, как Вы сказали. Всё получается. Возникает два технических вопроса.
1. Вот как выглядит исходная картинка в ГеоГебре:
https://drive.google.com/file/d/0BxHH8gqa5jxdWnN0cnFDS3JzOTA/view?usp=sharing

А вот как она же выглядит после обработки перегона её ГеоГеброй в Tikz, вставки кода в TeX и компиляции:
https://drive.google.com/file/d/0BxHH8gqa5jxdMk1EdDQzYmNmRHM/view?usp=sharing

(простите, так и не научился вставлять картинку в форум - говорит, что не может вставить картинку несмотря на то, что она меньше 800 пикселей по ширине)

Как видно, буквы (имена точек) немного поехали. Ясно, что это можно править руками меняя абсолютные координаты положения подписи, но ясно, что это не вариант. Это ГеоГебра кривой код выдаёт или ТеХ криво компилит? Это лечится? Вот код, сгенерированный ГеоГеброй (если он нужен)
Код:
\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\clip(-4.33,-9.43) rectangle (14.24,6.49);
\draw [line width=1.6pt] (-1.7,-0.98)-- (2.78,-0.96);
\draw [line width=1.6pt] (2.78,-0.96)-- (2.76,3.52);
\draw [line width=1.6pt] (2.76,3.52)-- (-1.72,3.5);
\draw [line width=1.6pt] (-1.72,3.5)-- (-1.7,-0.98);
\draw [line width=1.6pt] (-1.72,3.5)-- (-0.14,5.09);
\draw [line width=1.6pt] (2.76,3.52)-- (4.34,5.11);
\draw [line width=1.6pt] (2.78,-0.96)-- (4.36,0.63);
\draw [dash pattern=on 5pt off 5pt] (-1.7,-0.98)-- (-0.12,0.61);
\draw [line width=1.6pt] (-0.14,5.09)-- (4.34,5.11);
\draw [line width=1.6pt] (4.34,5.11)-- (4.36,0.63);
\draw [dash pattern=on 5pt off 5pt] (4.36,0.63)-- (-0.12,0.61);
\draw [dash pattern=on 5pt off 5pt] (-0.12,0.61)-- (-0.14,5.09);
\draw [dotted] (1.31,4.31)-- (3.56,2.08);
\draw [dotted] (3.56,2.08)-- (1.33,-0.17);
\draw [dotted] (1.33,-0.17)-- (-0.92,2.06);
\draw [dotted] (-0.92,2.06)-- (0.53,1.27);
\draw [dotted] (0.53,1.27)-- (3.56,2.08);
\draw [dotted] (0.53,1.27)-- (1.33,-0.17);
\draw [dotted] (-0.92,2.06)-- (1.31,4.31);
\draw [dotted] (1.31,4.31)-- (0.53,1.27);
\draw [dotted] (1.31,4.31)-- (2.11,2.86);
\draw [dotted] (2.11,2.86)-- (-0.92,2.06);
\draw [dotted] (2.11,2.86)-- (3.56,2.08);
\draw [dotted] (2.11,2.86)-- (1.33,-0.17);
\begin{scriptsize}
\fill [color=black] (-1.7,-0.98) circle (2.5pt);
\draw[color=black] (-1.89,-1.6) node {$A$};
\fill [color=black] (2.78,-0.96) circle (2.5pt);
\draw[color=black] (2.97,-1.54) node {$B$};
\fill [color=black] (2.76,3.52) circle (2.5pt);
\draw[color=black] (3.26,3.19) node {$B_1$};
\fill [color=black] (-1.72,3.5) circle (2.5pt);
\draw[color=black] (-2.18,3.57) node {$A_1$};
\fill [color=black] (-0.12,0.61) circle (1.5pt);
\draw[color=black] (0.07,0.13) node {$D$};
\fill [color=black] (-0.14,5.09) circle (2.5pt);
\draw[color=black] (-0.23,5.34) node {$D_1$};
\fill [color=black] (4.36,0.63) circle (2.5pt);
\draw[color=black] (4.69,0.15) node {$C$};
\fill [color=black] (4.34,5.11) circle (2.5pt);
\draw[color=black] (4.73,5.29) node {$C_1$};
\fill [color=black] (-0.93,4.3) circle (1.5pt);
\draw[color=black] (-1.27,4.38) node {$M_{12}$};
\fill [color=black] (2.1,5.1) circle (1.5pt);
\draw[color=black] (2.35,5.36) node {$M_{11}$};
\fill [color=black] (3.55,4.32) circle (1.5pt);
\draw[color=black] (3.24,4.36) node {$M_{10}$};
\fill [color=black] (4.35,2.87) circle (1.5pt);
\draw[color=black] (4.82,2.74) node {$M_7$};
\fill [color=black] (3.57,-0.16) circle (1.5pt);
\draw[color=black] (3.92,-0.51) node {$M_2$};
\fill [color=black] (0.54,-0.97) circle (1.5pt);
\draw[color=black] (0.52,-1.58) node {$M_1$};
\fill [color=black] (-1.71,1.26) circle (1.5pt);
\draw[color=black] (-2.25,1.08) node {$M_5$};
\fill [color=black] (-0.91,-0.18) circle (1.5pt);
\draw[color=black] (-1.14,0.04) node {$M_4$};
\fill [color=black] (-0.13,2.85) circle (1.5pt);
\draw[color=black] (0.26,2.64) node {$M_8$};
\fill [color=black] (2.12,0.62) circle (1.5pt);
\draw[color=black] (2.33,0.12) node {$M_3$};
\fill [color=black] (3.56,2.08) circle (1.5pt);
\draw[color=black] (3.96,1.83) node {$T_2$};
\fill [color=black] (2.11,2.86) circle (1.5pt);
\draw[color=black] (2.35,2.3) node {$T_5$};
\fill [color=black] (0.53,1.27) circle (1.5pt);
\draw[color=black] (1.03,0.91) node {$T_3$};
\fill [color=black] (-0.92,2.06) circle (1.5pt);
\draw[color=black] (-1.1,2.17) node {$T_4$};
\fill [color=black] (1.33,-0.17) circle (1.5pt);
\draw[color=black] (1.71,-0.6) node {$T_1$};
\fill [color=black] (1.31,4.31) circle (1.5pt);
\draw[color=black] (1.48,4.51) node {$T_6$};
\fill [color=black] (1.32,2.07) circle (1.5pt);
\draw[color=black] (1.52,2.13) node {$O$};
\fill [color=black] (2.77,1.28) circle (1.5pt);
\draw[color=black] (3.18,0.95) node {$M_6$};
\fill [color=black] (0.52,3.51) circle (1.5pt);
\draw[color=black] (0.43,3.68) node {$M_9$};
\end{scriptsize}
\end{tikzpicture}
\end{document}



2. ГеоГебра считает, что размер шрифта на картинке должен быть scriptsize - см. две строчки \begin{scriptsize} и \end{scriptsize} в её коде. Нельзя ли её как-то попросить этого не делать. Ясно. что это можно опять-таки удалять руками, но у меня несколько сотен картинок и будет здорово если код сразу будет готов для Copy-Paste.

Спасибо!

 Профиль  
                  
 
 Re: Графика в ЛаТеХе
Сообщение04.02.2016, 22:48 
Заслуженный участник
Аватара пользователя


31/01/14
11312
Hogtown
Про ГГ особо ничего сказать не могу. Смотрите settings. Но очевидно это проблема ГГ, а не pgf/tikz

 Профиль  
                  
 
 Re: Что делать с TeX capacity exceeded?
Сообщение12.02.2016, 13:11 


06/02/12
35
Red_Herring в сообщении #1096214 писал(а):
Согласно общему мнению есть два доминирующих графических суперпакета pgf/tikz и pstricks. Каждый имеет кучу "спутников"--основанных на них дополнительных пакетов, разработанных другими.

Не знаю, что такое "общее мнение", но есть ещё METAPOST.

-- 12.02.2016, 14:18 --

Sergey Belyaev в сообщении #1096843 писал(а):
Ясно. что это можно опять-таки удалять руками, но у меня несколько сотен картинок

Для такой работы существуют замечательные средства в UNIX-подобных системах (обычно имеются даже в минимальной установке), такие как sed и т.д. С их помощью можно хоть миллион штук пакетно обработать. Не знаю, в какой ОС работаете, но и для Windows есть, наверно, большая часть в портированном виде. На Маках наверняка должны быть тоже, поскольку это UNIX-like OS.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group