11.06.2009 17:40
lomereiter — Circuitikz — эл. цепи в LaTeX.
Сегодня я решил погуглить что-нибудь более изящное, нежели metapost'овские пакеты makecirc, mpcirc и т.п. И нашёл — на ЛОРе проскочило упоминание о circuitikz.Во-первых, как раздобыть (по крайней мере, для дебиана):
wget http://www.ctan.org/get/graphics/pgf/contrib/circuitikz.zip
unzip circuitikz.zip
sudo cp -R circuitikz/ /usr/share/texmf/tex/latex/
wget http://www.ctan.org/get/macros/latex/contrib/xstring.zip
unzip xstring.zip
sudo cp -R xstring/ /usr/share/texmf/tex/latex/
wget -m -A *.cfg,*.sty ftp://www.tug.org/texlive/Contents/live/texmf-dist/tex/latex/siunitx/
sudo cp -R www.tug.org/texlive/Contents/live/texmf-dist/tex/latex/siunitx/ /usr/share/texmf/tex/latex/
sudo mktexlsr
(если кто-нибудь умеет делать проще — дайте знать)
Естественно, к этому моменту должны быть установлены LaTeX и PGF/TikZ.
Шаблон простейшего документа будет таким:
1 |
\documentclass{article}
|
Из команд наиболее часто используется \draw. После них обязательно должна быть точка с запятой (по правилам TikZ).
Синтаксис довольно простой: -- обозначает прямую линию,
to< имя_компонента > рисует между двумя точками элемент, точки же обозначаются (x,y). Например:
1 |
|
Список всех элементов довольно нехил, его можно посмотреть в circuitikzmanual.pdf, который валяется в директории с пакетом.
Теперь об опциях european и siunitx. Первая нужна, чтобы вид элементов был на европейский манер. Американские обозначения несколько отличаются. Впрочем, можно использовать некоторые из них, передавая их как опцию окружению circuitikz, как в следующем примере. Что касается siunitx, засчёт этого пакета возможно писать всякие 5\mega\ohm и тому подобное.
Теперь — более сложный пример:
Обо всём по порядку:
american inductor — указание изображать катушку индуктивности по-американски, завитушками (это нам более привычно).
ageneric — это та штуковина справа
l — подпись возле элемента, i — если нужно обозначить ток (есть ещё v — напряжение). Знаки ^ и _ указывают, с какой стороны будет выведен текст, > и < , как нетрудно догадаться, — направление тока.
Также можно использовать цвет, но фрагменты одного цвета следует заключать в фигурные скобки, иначе им будет залит весь остальной контур. Впрочем, тут не всё так гладко — читайте вышеупомянутый мануал.
Знаки *-* означают изображение конечных точек. Также может быть, например, o-* (начало — пустая точка, конец — закрашенная), -o и т.п.
Последние две команды — из стандартного Tikz (thick — толщина стрелки, anchor — расположение текста).
В общем, если кто заинтересовался — читайте 28-страничный мануал от автора, других источников я не видел.
P.S.: честно признаюсь, что об изображённой на 2-м рисунке ситуации понятия не имею; кому интересно, идите на Википедию :)
bobry 11.06.2009 17:44 #
+ 3 -
выглядит крайне sexy
Выглядит крайне аппетитно
С электронными электрическими схемами работал очень давно на лабах универе, кажется прога называлась Electronics Workbench =) естественно win32
насколько мощен этот Circuitikz ?
С электронными электрическими схемами работал очень давно на лабах универе, кажется прога называлась Electronics Workbench =) естественно win32
насколько мощен этот Circuitikz ?
Мне пока что с аналогами встречаться не доводилось, так что мощь оценить не в состоянии.
Можешь на сайте автора страничку с примерами поглядеть.
Можешь на сайте автора страничку с примерами поглядеть.
Если кому интересно - есть еще QElectrotech, но это далеко не LaTeX, кажется. Просто, если все же нужен более "визуальный" редактор, то он подойдет неплохо, думаю. Как можно догадаться, он на Qt4.
жалко элтеха больше не будет, когда то очень надо было..
приходилось извращаться по всякому
приходилось извращаться по всякому
Последний siunitx зависит также от пакетов xpackages и expl3, поэтому при установке добавятся два следующие шаги:
и только потом нужно делать
wget -m -A *.cfg,*.sty ftp://tug.org/texlive/Contents/live/texmf-dist/tex/latex/expl3/
wget -m -A *.cfg,*.sty ftp://tug.org/texlive/Contents/live/texmf-dist/tex/latex/xpackages/
sudo cp -R tug.org/texlive/Contents/live/texmf-dist/tex/latex/expl3/ /usr/share/texmf/tex/latex/
sudo cp -R tug.org/texlive/Contents/live/texmf-dist/tex/latex/xpackages/ /usr/share/texmf/tex/latex/
и только потом нужно делать
sudo mktexlsr