Как стать автором
Обновить

Комментарии 48

Добавил ссылку к статье.
Большие схемы можно, наверное, компилировать отдельно и вставлять сгенерированный PDF в текст работы.
А компиляция в draft режиме не помогает?
У меня draft режим ничего не делает с circuits/circuitikz (посмотреть). Эта опция действует на PGF, но не на TikZ
Да, это можно сделать завернув окружение tikzpicture в класс standalone. Класс документа standalone автоматически подгоняет размер листа под содержимое, и можно с помощью LaTeX генерить PDF с автоподбираемым размером листа. Использовать его можно так:
\documentclass[varwidth=true,border=4pt]{standalone}

Здесь border задаёт поля.
Ещё дополню, что в standalone можно оборачивать не только схемы но и любую графику. Замедление компиляции документа наблюдается не только для схем, но и для любой насыщенной графики TikZ.
Спасибо за статью. Но у меня сразу возникает вопрос: зачем мучаться с TikZ для построения схем даже среднего размера? Я полностью понимаю и разделяю желание хранить подобные схемы в «сыром» виде, чтобы можно было их в любой момент поправить и пересобрать конечный документ. Но почему TikZ? Неужели нет более достойного формата для составления электрических схем?
Немного поделюсь опытом: мне в своей диссертации приходилось рисовать разные графики. И в какой-то момент в мою голову залетела шальная мысль рисовать их на TikZ, но, слава богу, он быстро вылетела. В итоге все вычисления и построения графиков я делал на R; на каждую сборку документа скрипты перезапускались, рендерились новые картинки, вставлялись в документ. Работать удобно, в системе контроля версий все изменения логики построения графиков отслеживаются, легко вносить правки в любой момент. На главная идея в том, что R позволил мне тратить минимум усилий на рисование и отображение рисунков, чтобы я мог сосредоточиться на сути работы.
Это не критика. Я никогда не работал с электрическими схемами, не могу дать конкретных конструктивных советов. Просто подход с TikZ меня не воодушевляет. Пробовали вы искать альтернативные инструменты, которые можно было бы внедрить в процесс построения LaTeX-документа? Быть может, можно было бы избежать недостатков вашего способа, о которых вы пишете в конце статьи.
TikZ обеспечивает максимально нативный вид схемы. Можно нарисовать схемы с формулами LaTeX. Можно объединять их с уже существующей графикой TikZ, чтобы нарисовать схемы установок, которые не являются чисто электрическими схемами. Ни шрифты, ни типы линий ничем не отличаются от остального документа. И весь документ автоматически можно пересобрать один раз нажав на кнопку PDFLaTeX в Kile.

Похожие результаты можно получить используя экспорт SVG в PDF+LaTeX. Он подставляет шрифты LaTeX и обрабатывает формулы LaTeX. Подробнее здесь mydebianblog.blogspot.ru/2013/05/latex-inkscape.html. Но способ уже требует объединения при помощи Makefile или каждый раз переэкспортировать SVG.

Ну и если шрифты LaTeX и формулы в схемах не нужны или не важны, то можно напрямую их заэкспортировать из например KiCAD. Список свободного ПО для рисования схем есть здесь en.wikipedia.org/wiki/Wikipedia:WikiProject_Electronics/Programs

С графиками в TikZ я проблем не вижу. Чтобы строить их не всегда нужно вручную писать код TikZ. Gnuplot и Octave умеют автоматически генерить TikZ, который вставляется через /input{}.
Для Gnuplot нужно использовать set terminal tikz, а для Octave print -dtikz. При этом тоже на графике можно разместить например формулу TikZ, если заключить её в $...$. И всё тоже можно объединить через скрипты. Я так делал, чтобы автоматически перестраивать графики в отчёте, если изменились данные, пришедшие с приборов.

Вручную имеет смысл строить через TikZ графики, которые выражаются аналитической функцией. Кода здесь немного (не больше чем в Gnuplot) и результат весьма достойный.

Например:
\begin{figure}[!ht]
  \centering
  \begin{tikzpicture}
   \draw[-latex] (0,0) -- (7,0) node [anchor=west] {$\omega$};
   \draw[-latex] (0,0) -- (0,5) node [anchor=south] {$|H(j\omega)|$};
    \draw[domain=0:2,y=4cm, x=3cm,smooth,name path=MR] plot  function{1/(1+x**8)**0.5};
    \path [name path=Fc] (0,3.5) -- (5,3.5);
    \path [name path=Fs] (0,1) -- (5,1);
    \draw [dashed,name intersections={of=MR and Fc}] (0,3.5) node [anchor=east]
    {$\alpha_p$} -- (intersection-1);
    \draw [dashed,name intersections={of=MR and Fc}] (intersection-1) |- (0,0);
    \draw [dashed,name intersections={of=MR and Fs}] (0,1) node [anchor=east]
    {$\alpha_s$} -- (intersection-1);
    \draw [dashed,name intersections={of=MR and Fs}] (intersection-1) |- (0,0);
    \node [anchor=north] at (2.6,0) {$\omega_c$};
    \node [anchor=north] at (4.2,0) {$\omega_s$};
  \end{tikzpicture}
  \caption{Typical 4-th order Butterworth filter magnitude response}  \label{fig:butterw}
\end{figure}


Здесь достаточно замороченный график с греческими буквами и точками пересечений на кривой.
Слышал, что иностранные научные издания иногда требуют оформления статей в формате ТеХ, в этом смысле без него не обойтись. Если есть большой объем таких статей, то и диссертацию имеет смысл делать в этом редакторе. Но на западе это, возможно, дань традиции, так исторически сложилось, ТеХ был тогда, когда еще не было другого научно-технического ПО. В РФ все редакции берут статьи в формате Word, графики-диаграммы там легко делаются в Exel, а схемы предварительно делаются в каком-нибудь редакторе из ПО САПР и вставляются в формате JPG.
А какое другое ПО для набора научно-технического текста вы знаете? Графики в Excel и статьи в Word повеселили, конечно.
Больше никакого не знаю — не было необходимости, в десятке журналов статьи, нигде ничего кроме Word не требовали.
Мы в Nature Communication статью отправили. Биотехнологии. Word и отдельно иллюстрации с видеоматериалами
Это возможно, IEEE, у них вроде такого вида схемы в материалах. Характерное такое изображение символов.
И, кстати, не ГОСТовское. Возможно, потому редакции в РФ и не берут.
Допустим Вы написали в Word огромный текст с сотней формул, с сылками на них, с сотней рисунков, с упомининием рисунков в тексте, с огромным перечнем источников в конце и ссылками на них по тексту. Вот вы набрали этот текст, а потом… Вам вдруг понадобилось вставить в середину пару формул, один махонький рисуночек, да и оказалось, что литературу Вы набрали не по тому ГОСТу, что требует Ваша редакция.

Ваши действия в Word?

Мои действия в LaTeX: 1) вставить формулы 2) вставить рисунок 3) сменить стиль оформления библиографии. Всё. А нумерацией и исправлением ссылок займется текстовый процессор LaTeX.

Вот поэтому иностранные издания в подавляющем большинстве и используют LaTeX. А вот, что

В РФ все редакции берут статьи в формате Word


характеризует их не лучшим образом. Это вот в РФ так «исторически сложилось». К сожалению.

Мои действия в LaTeX: 1) вставить формулы 2) вставить рисунок 3) сменить стиль оформления библиографии. Всё. А нумерацией и исправлением ссылок займется текстовый процессор LaTeX.
Ради справедливости, MS Word тоже умеет выполнять автоматическую нумерацию объектов, ссылки, плавающие рисунки, и форматы библиографии. Но да, MS Word начинает плохеть (тупит, кособочит вёрстку и прочее), когда количество ссылок, формул, табличек и прочей шушеры переваливает за несколько сотен в одном документе. Другое дело, что его часто используют в качестве печатной машинки, а детей на уроках информатики компьютерной грамотности учат фигне вместо эффективных приёмов использования офисных пакетов.
Журналы как правило требуют текст без форматирования, без стилей и с ручными ссылками, т.к. если скомбинировать в одном документе файлы из нескольких Вордов, то гарантированно или он свои ссылки забудет или стили перепутаются. Проблемы с Вордом начинаются гораздо раньше чем через 100 рисунков/таблиц/формул.
Ещё забыл сказать о формулах — копипастить трехэтажные крокодилы однозначно удобнее в LaTeX.

Ради справедливости, MS Word тоже умеет выполнять автоматическую нумерацию объектов, ссылки, плавающие рисунки, и форматы библиографии.


Умеет, но знания об этом сокрыты глубоко в разнообразых неочевидных мышиных меню.

TeX держит структуру документа на поверхности — раз, и, позволяет сосредоточится на содержании документа, а не на его оформлении — два. TeX приучает к грамотной организации документа с самого начала, а Word — сладко отравляет мозг новичка иллюзорными преимуществами WYSIWYG, и понимание структурной организации документа и приобретение навыков в её соблюдении в Word ведет к коренной ломке первичных навыков, которые крепки, а поэтому ломка болезненна.

TeX жил и будет жить. А вот Word — я не знаю.

P.S.: Но по хорошему надо уметь и то, и другое
*Office хорош на производстве, чтобы быстро писать договора, письма, служебки и т.п. Там ему самое место. А затаскивать *Office в научную среду не стоит. Там должен использоваться TeX, DocBook и т.п.

Сам иногда использую LibreOffice для написания тезисов на 1-2 стр. с 1-2 рисунками без формул.
Думаю, это из разряда «теплого, лампового звука» и «настоящий смартфон только от Эппл».
Отнюдь. Это из разряда практического опыта работы в разных пакетах
Ну что же, рад что вы выбрали такой замечательный пакет.
Физики и математики как правило принимают статьи в LaTeX даже в РФ. С техническими науками ситуация печальная. Например «Труды МГТУ им.Н.Э. Баумана» раньше игнорировали LaTeX, а теперь видимо узнали о существовании LaTeX и заявили на своём сайте, что его не принимают. Зато они требуют рисунки в Visio.
Нумерация сквозная по всему документу? Тогда да, проблема. Можно конечно, сделать нумерацию формул списком, тогда автоматически исправится. В Word много инструментов для нумерации. Но я никогда так не заморачивался, лень просто изучать. Разбиваем текст на главы, разделы и нумеруем все в пределах раздела. Типа рисунок 1.1.15, формула 2.4.4. Диссертация у меня была 150 страниц, список литературы около 100 наименований, много правок пришлось делать — особенных проблем с нумерацией не помню.
Нумерация сквозная по всему документу?

Любая нумерация
Можно конечно, сделать нумерацию формул списком,

Можно микроскопом и гвозди забивать, если уж на то пошло.
Но я никогда так не заморачивался, лень просто изучать

Прелесть теха в том, что там особенно-то и не надо изучать как нумеровать (утрирую конечно). Он сам нумерует и предоставляет средства для управления этим процессом
Спасибо, что сам нумерует это я понял. Это классный пакет, рад за вас, что вы им владеете.
А как вы из главы 5 раздела 8 будете ссылаться на формулу 4(d) из главы 2 раздела 3? Это же сущий ад. Для латеха изменить нумерацию со с сквозной на нумерацию по главам дело одной(!) команды. Можете хоть римскими, хоть арабскими цифрами, хоть буквами как хотите. А из автореферата как ссылаться на формулы в диссертации? Тоже вручную?

Более того, я сейчас перешел на новый уровень абстракции. Скажем если у меня есть внешнее магнитное поле, то я пишу не $\vec{h}_\text{ext}$, а $\hext$, определяя команду \hext. Если у меня есть операторы, которые жирные буквы с крышкой, то я ввожу команду \op{}, которая делает такой оператор и для каждого конкретного оператора (например T) делаю команду \T -> \op{T}. В этом случае все формулы выглядят как $\T \cdot \hext$, что совершенно естественно для глаза. Во-вторых, если я решил, что теперь у меня операторы это готические буквы с тильдой, например, то это дело одной команды поменять везде, причём что в диссертации на 150 страниц, что в статье на 4. Ссылки на уравнения тоже имеют читаемый вид, типа \label{eq:maxwell_with_dielectric} и я всегда вспомню куда надо сослаться, в отличие от бессмысленного 2.4.4, которое ещё и поменяться может.

И самое главное, что я абсолютно уверен, что я нигде не перепутаю нумерацию, ссылки, не забуду вставить какую-то формулу, потому что я всегда получу предупреждение. В отличие от Ворда, который никак не может помочь в этом. Это можно сравнить с выводом формул через CAS и на листочке. Выводить на листочке не только долго, но и опасно, так как легко можно потерять что-то.

Ворд и латех это как кукрузник и реактивный истребитель по скорости подготовки текста, соответственно. А если совместить latex с системой контроля версий git (пробовали когда-нибудь сравнить два больших вордовых документа, да?) и мощным редактором текста типа vim, emacs и тд, то всё это превращается в боевой космический зведолёт.

Но смысл же не в том, чтобы сделать сияющий корабль под названием latex + git + vim. Смысл в том, что в таком случае компьютер помогает делать работу и делает те куски этой работы, которые может делать лучше человека. В отличие от ворда, где всё может и есть, но настолько не очевидно — вам было проще мучатся с 150 страничным тестом, вместо того чтобы изучить как делать нумерацию). А человек занимается тем чем должен — наукой.

В следующей серии мы можем рассмотреть построение графиков с помощью python + numpy vs Excel :)
Да я понял, LaTeX это такой САПР для теоретиков. Что-то вроде Маткада, где формулы имеют смысл, а не просто графика. Кстати, в Маткаде тоже вроде бы можно статьи писать. Хотя сам не пробовал.
Сборник статей, подготовленный из этих кусков (поступивших в разных форматах doc, docx, rtf), путем копипаста выглядит как лоскутное одеяло, с поехавшими формулами и картинками.

В то же время для TeX это — штатная задача.
Редакции обычно оговаривают версию Word. Графики и диаграммы в Exel для Word «родные», формулы тоже рисуются встроенным инструментом, так что если что и «съезжает», поправить легко — мышкой двинуть.
maisvendoo Уже описал преимущества применения TeX'а.

От себя добавлю, что ПО САПР вообще-то платное и стоит немалых денег. Также чертежи следует сохранять в векторном формате SVG, EPS и т.п. Если его использовать нельзя, то в растровых PNG или GIF. JPG использовать нельзя, так как происходит размытие линий в чертежах и в статьях нередко потом можно видеть чертежи с пятнами. Это результат использования JPG.

Журналам как правило нужен текст в doc отдельно, а картинки отдельно. Это легко получить при помощи latex2rtf, а картинки сконвертировать в нужный формат, переименовать по шаблону и сложить в нужны каталог при помощи например скрипта на Баше.

Ещё файлы LaTeX текстовые, и поэтому хорошо индексируются системами контроля версий. Всегда можно иметь лог изменений, ветки, откатиться назад и держать бэкапы можно например в приватном репозитории на Bitbucket, а не возиться с файлами на флешках наподобие Моя_статья_старая_версия.doc
ПО САПР много и бесплатного, особенно, редакторов схем, без анализа. Чертежи с пятнами в JPG, это если не перевести в черно-белый формат, размытие линий — аналогично. И если вам так уж претят растровые форматы, Wоrd поддерживает импорт и векторных.
Все издания, с которыми я сталкивался, допускают Word тоже. Но обычно пишут, что Tex им больше нравится. Основная причина долгоживущей популярности в том, что многим исследователям он тоже больше нравится. Я написал три статьи в Word (мой профессор один из тех, кто Tex не знает), но мы сотрудничаем с другим институтом для другой статьи, и их проф сказал, что признает только Tex. И вот мне пришлось писать на Tex, и я очень доволен, собираюсь продолжать.

Причин много: 1. чистый текст—это хорошо (можно копировать, сравнивать версии, заменять регекспом) 2. вы концентрируетесь на тексте, не на оформлении 3. Tex делает за вас рутинную работу (нумерация и ссылки на формулы, главы, библиографию). В ворде можно все это делать, но намного неудобнее (для формул надо ставить макросы или mathtype, для библиографии zotero или mendelay; mathtype глючный, у них есть критические баги—они сами признали в переписке, я однажды переделывал все формулы; макросы для формул иногда конфликтуют с zotero; если вы перенесете главу, то все ссылки на нее испортятся).

А если вы верстаете диссертацию, то Word—это позор, потому что его typesetting, типографика, никуда не годятся. Вот очень наглядное сравнение.
Я не специализируюсь на оформлении бумажек и потому не считаю применение Word позором. Меня Word вполне устраивает.
В РФ в «формате Word» берут материалы либо конченые мурзилки, в которых публикация и за публикацию-то не считается, либо там, где нужно хорошо приплатить, чтобы это уродство кто-то перенабрал в латехе.
Вы не правы. Вполне нормальные ВАКовские журналы предпочитают Ворд. В основном это касается переферийных издательств. Допустим, моя крайняя публикация была набрана в латехе. Прямой вопрос ответственному за прием материалов человеку дал ответ, что мол, да, о латехе слышали, но вот сложилось так, что принимаем в ворде. Пришлось брать GrindEQ конвертировать и слегка править результат конвертации. Хорошо, что исходники чертежей были в SVG, который понимаем Visio, так что подгонка заняла не более часа.

Ну вот так у нас в РФ просто заведено, вот ворд и всё
Кажется в посте умерли картинки :(
У меня всё показывает правильно в нескольких браузерах.
Странно, у меня картинок нет вообще, вырезаны. Возможно AdBlock постарался.
И еще — я не претендую на истину в последней инстанции, просто поделился опытом, если нравится TeX или еще что-то — флаг в руки, пишите, рисуйте, оформляйте текст в консоли — да все что хотите! Спасибо за внимание.
И будем в консоли, если эту окажется рациональным.

В спор я втупил, возмутившись этой репликой, ибо аналогично могут рассуждать и те кто принимает решение в тех же редакциях об использовании той или иной системы. Видят — красиво WYSIWG, и на этом кругозор заканчивается, сжимаясь на конкретном (к тому же не дешевом) продукте. Да и ещё — рассуждать о вставке чертежей в JPG как о нормальном явлении при повсеместном расширении возможностей использования векторной графики как-то странно.

P.S.: В свое время тоже оформил кандидатскую в ворде. Докторскую так оформлять точно не буду
Мне не нравится, когда инструмент написания текста нужно изучать. Я посмотрел на LaTeX, когда у меня еще стояла Linux, и мне этот редактор показался чересчур сложным для инструмента набора текста. Редакции, в которые я пишу, обычно требуют экспериментального подтверждения написанного — железку, программу, их изготовление достаточно трудоемко и требует много времени. Статьи я пишу редко, раза 2-3 в год максимум, а иногда и вообще за год ни одной не пишу. Поэтому, нет смысла забивать голову командами текстового редактора, которые через год придется снова вспоминать. Я понимаю, если у кого-то статьи это конечный продукт, которым он отчитывается перед работодателем и он вынужден кропать их каждый месяц, то для него требуется какой-то особенный редактор, со множеством специальных опций, работой с векторной графикой и т.д. А мне векторная графика в текстовом редакторе ни к чему — я рисую схемы в пакете САПР, моделирую их там, потом отдаю паять или паяю сам, проверяю параметры, и если что-то получается, пишу статью. При написании перегоняю схему из пакета САПР в текстовый редактор. Переведенную в JPG формат схему более нигде не использую, только в конкретной статье. Если мне она требуется для другой статьи в измененном виде, открываю САПР, меняю там и опять перевожу в JPG. В редакторе САПР много чего можно, вставлять надписи, рисунки, рисовать различные линии и стрелки и т.п. Вот и вся технология.
Мне не нравится, когда инструмент написания текста нужно изучать

Ворд тоже надо изучать, чтобы не разгребать ошибки форматирования и прочие артефакты, возникающие в тексте ниоткуда — бац, и вылезла например строка черных точек поперек страницы.

Мне не нравится, когда… нужно изучать


Не в упрек Вам, но замечу, что в среде студенческой молодежи, выше приведенная фраза стала жизненным девизом за последние годы
Спасибо, институт я закончил в 1990 году и с тех пор изучал все больше какие-то технические моменты (одно время еще и бухгалтерские), а не инструменты оформления. В изучении должны быть какие-то приоритеты. Еще раз — если кто-то плотно занят написанием статей, ему требуется продвинутый инструмент для оформления, если статьи пишутся раз в год, инструмент желательно иметь такой, которым не придется каждый раз овладевать заново.
Похоже, тут всем больше доставляет то, что LaTeX кто-то критикует, а не какие-то тонкости его использования.
Кажется это первое подобие холивара на тему «ворд против латеха», который я видел, все же обычно пользователи ворда в собрания адептов латеха просто не заходят.

Среди преимуществ латеха традиционно перечисляют объективные: бесплатность, доступность, возможность работы с простым (plain) текстом, вследствие чего простота контроля версий, повторяемость и предсказуемость результата и пр. Также субъективные: качество документа на выходе, разделение форматирования и содержания и еще, скажем так, легкость и быстрота осуществления глобальных изменений (об этом выше писал ivlis).

У латеха есть, конечно, и недостатки: чтобы им пользоваться, надо что-то знать про компиляцию, синтаксис, классы документов или хотя бы нагуглить себе шаблон. Чтобы успешно пользоваться вордом, надо уметь давить кнопки на клавиатуре и, возможно, еще двигать курсор по экрану с помощью мышки. У ворда нулевой порог вхождения (может быть, и отрицательный вовсе), и это считается его большим преимуществом.

На самом деле, сравнивать ворд с латехом, конечно, вообще глупо, потому что они решают совершенно разные задачи: латех успешно верстает монографии, а при помощи ворда можно накалякать полстранички текста, когда времени мало (у меня, правда, нет ворда, поэтому полстранички я лично тоже калякаю в латехе, выходит очень красиво). К слову о монографиях: по латеховским форумам гуляет призказка о том, что учебники по ворду обычно верстают в чем угодно, кроме ворда, а учебники по латеху в латехе и верстают.

Вот, кстати, недавно вышло исследование, в котором пользователей ворда и латеха просили воспроизвести максимально близко к оригиналу кусочек чужой статьи. Оказалось, что опытные ученые делают это в среднем быстрее при помощи ворда. Авторы статьи на основании этого делают вывод, что ворд удобнее и лучше, игнорируя тот факт, что латех, вообще говоря, не для того, чтобы повторять верстку максимально близко к оригиналу, а чтобы создавать оптимальную верстку самостоятельно.

В общем, понятно, что выбор за пользователем и все такое, но мне кажется немного предсказуемым, что в хабе «LaTeX» комментарий в духе «Я слышал, что где-то заставляют пользоваться латехом; хорошо, что не везде, потому что по мне и ворд ничего» звучит примерно как «Я слышал, что где-то заставляют слушать Бетховена, а по мне и Стас Михайлов ничего». Как по мне, то этот комментарий везде так звучит, но это, конечно, только мое мнение.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории