libgeda: Don't double free path argument
[geda-gaf.git] / docs / wiki / geda-faq-gschem.ru.html
blob3363f89d36e105f76eacc92bdc45afd78cd3f6b8
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 <em>Эта страница доступна также на следующих языках:</em> <a href="geda-faq-gschem.html" class="wikilink1" title="geda-faq-gschem.html">English</a>,
15 <a href="geda-faq-gschem.fr.html" class="wikilink1" title="geda-faq-gschem.fr.html">Français</a>.
16 </p>
18 <h1 id="общее">Общее</h1>
19 <div class="level1">
21 </div>
23 <h2 id="янашёлошибкучтомнеделать">Я нашёл ошибку! Что мне делать?</h2>
24 <div class="level2">
25 <ol>
26 <li class="level1"><div class="li"> Проверьте, можете ли вы повторно воспроизвести эту ошибку.</div>
27 </li>
28 <li class="level1"><div class="li"> Спросите в списке рассылки geda-user, есть ли способ её обойти или не победили ли её уже в последней версии gEDA/gaf. Учтите, что прежде чем писать в этот список рассылки, на него нужно подписаться.</div>
29 </li>
30 <li class="level1"><div class="li"> Проверьте, не отмечена ли уже эта проблема в системе отслеживания ошибок gEDA/gaf. Если нет, заполните отчёт об ошибке. Обязательно представьте всю информацию, необходимую для воспроизведения ошибки, и укажите версию пакета gEDA/gaf, её содержащую.</div>
31 </li>
32 <li class="level1"><div class="li"> Наконец, как и для всех проектов с открытым исходным кодом, вы можете напрячь свои программистские мускулы и попробовать исправить ошибку самостоятельно. Пожалуйста, представьте заплату с нужными вам изменениями в систему отслеживания ошибок gEDA/gaf. Заплата будет охотно принята для улучшения следующей версии gEDA/gaf.</div>
33 </li>
34 </ol>
36 </div>
38 <h1 id="использованиеgschem">Использование gschem</h1>
39 <div class="level1">
41 </div>
43 <h2 id="вдиалоговомокневыборасимволовнетсимволов">В диалоговом окне выбора символов нет символов!</h2>
44 <div class="level2">
46 <p>
47 Диалоговое окно выбора символов представляет список названий разделов
48 библиотеки. Щёлкните слева от названия по направленному вправо
49 треугольнику. Список развернётся. Прокрутите его вниз до символа, который
50 нужно добавить в схему.
51 </p>
53 </div>
55 <h2 id="какпереместитькомпонент">Как переместить компонент?</h2>
56 <div class="level2">
57 <ol>
58 <li class="level1"><div class="li"> Выделите компонент, щёлкнув по нему левой кнопкой мыши. Компонент будет подсвечен.</div>
59 </li>
60 <li class="level1"><div class="li"> Переместите его (нажав левую кнопку мыши) в нужное место.</div>
61 </li>
62 </ol>
64 </div>
66 <h2 id="какперемещатькомпонентынетаскаяконцовподключенныхсоединений">Как перемещать компоненты, не таская концов подключенных соединений?</h2>
67 <div class="level2">
69 <p>
70 Для переключения такого поведения нажмите [<strong>o</strong>][<strong>r</strong>]. То есть сначала
71 клавишу [<strong>o</strong>], затем [<strong>r</strong>]. Выполнение команды переключения отразится в
72 окне состояния. Эта команда доступна также из меню <strong><em>Настройки</em></strong>
73 [<strong><em>Options</em></strong>].
74 </p>
76 </div>
78 <h2 id="какизменитьразмертекставсимволе">Как изменить размер текста в символе?</h2>
79 <div class="level2">
80 <ol>
81 <li class="level1"><div class="li"> Выделите символ.</div>
82 </li>
83 <li class="level1"><div class="li"> Щёлкните правой кнопкой -&gt; <strong><em>Войти в символ</em></strong> [<strong><em>Down symbol</em></strong>] (или из меню <strong><em>Иерархия</em></strong> -&gt; <strong><em>Войти в символ</em></strong> [<strong><em>Hierarchy</em></strong> -&gt; <strong><em>Down symbol</em></strong>]). Это приведёт вас в редактор символов.</div>
84 </li>
85 <li class="level1"><div class="li"> Выделите номер вывода, который нужно изменить.</div>
86 </li>
87 <li class="level1"><div class="li"> Выберите пункт меню <strong><em>Правка</em></strong> -&gt; <strong><em>Правка текста...</em></strong> [<strong><em>Edit</em></strong> -&gt; <strong><em>Edit text...</em></strong>] (или наберите с клавиатуры [<strong>e</strong>][<strong>x</strong>]).</div>
88 </li>
89 <li class="level1"><div class="li"> Измените во всплывающем окне размер шрифта.</div>
90 </li>
91 <li class="level1"><div class="li"> Повторите это для всех текстовых элементов, которые нужно изменить.</div>
92 </li>
93 <li class="level1"><div class="li"> <strong><em>Файл</em></strong> -&gt; <strong><em>Сохранить</em></strong> [<strong><em>File</em></strong> -&gt; <strong><em>Save</em></strong>].</div>
94 </li>
95 <li class="level1"><div class="li"> Щёлкните правой кнопкой -&gt; <strong><em>Наверх</em></strong> [<strong><em>Up</em></strong>] (или <strong><em>Иерархия</em></strong> -&gt; <strong><em>Наверх</em></strong> [<strong><em>Hierarchy</em></strong> -&gt; <strong><em>Up</em></strong>]). Теперь вы снова в редакторе схем.</div>
96 </li>
97 <li class="level1"><div class="li"> Пока символ ещё выделен, щёлкните <strong><em>Правка</em></strong> -&gt; <strong><em>Обновить компонент</em></strong> [<strong><em>Edit</em></strong> -&gt; <strong><em>Update component</em></strong>] (или воспользуйтесь горячими клавишами [<strong>e</strong>][<strong>p</strong>]). Если это не работает, просто удалите символ и снова вставьте его.</div>
98 </li>
99 </ol>
102 Эту же процедуру можно использовать и более широко и редактировать в символе
103 что-угодно. (При этом, конечно, вместо <strong><em>Правка текста...</em></strong> [<strong><em>Edit
104 text...</em></strong>] нужно выбрать другую желаемую функцию.)
105 </p>
107 </div>
109 <h2 id="можноливgschemзадатьчертунадтекстом">Можно ли в gschem задать черту над текстом?</h2>
110 <div class="level2">
113 Да, линию над текстом задать можно. Обратная косая черта и знак
114 подчёркивания отмечают начало текста, над которым должна быть линия. Вторая
115 комбинация этих символов вновь включит обычный текст. Пример: дважды
116 щёлкните по атрибуту и наберите «\_это\_».
117 </p>
120 Учтите, при трансляции в <strong>pcb</strong> линии над текстом в
121 <a href="geda-glossary.ru.html#топология" class="wikilink1" title="geda-glossary.ru.html">топологии</a> не будет. Обратная косая черта
122 игнорируется, поэтому по краям текста, над которым должна была бы быть
123 линия, останутся знаки подчёркивания.
124 </p>
126 </div>
128 <h2 id="какразблокироватьзаблокированныйкомпонент">Как разблокировать заблокированный компонент?</h2>
129 <div class="level2">
132 Когда компонент заблокирован, средней кнопкой мыши выделить его нельзя, но
133 можно выделить рамкой. Для выделения компонента рамкой нужно, нажав и
134 удерживая левую кнопку мыши, переместить мышь, определив таким образом
135 прямоугольную область, содержащую нужный компонент. Затем, чтобы
136 разблокировать компонент, выполнить команду <strong><em>Правка</em></strong> -&gt;
137 <strong><em>Разблокировка</em></strong> [<strong><em>Edit</em></strong> -&gt; <strong><em>Unlock</em></strong>].
138 </p>
140 </div>
142 <h2 id="каксделатьтакчтобыпозиционныеобозначенияпривычерчиваниисхемынумеровалисьавтоматически">Как сделать так, чтобы позиционные обозначения при вычерчивании схемы нумеровались автоматически?</h2>
143 <div class="level2">
146 Измените файл <em><code>system-gschemrc</code></em> или добавьте следующее в файл
147 <em><code>gschemrc</code></em> (либо в <em><code>~/.gEDA/gschemrc</code></em>, либо в <em><code>gschemrc</code></em> в
148 локальном каталоге, из которого вы запускаете <strong>gschem</strong>):
149 </p>
150 <pre class="code">(load (string-append geda-data-path &quot;/scheme/auto-uref.scm&quot;)) ; загрузить скрипт автонумерации
151 (add-hook! add-component-hook auto-uref) ; автонумерация при добавлении компонента
152 (add-hook! copy-component-hook auto-uref) ; автонумерация при копировании компонента</pre>
154 </div>
156 <h2 id="чтотакоешинаикакеёиспользовать">Что такое шина и как её использовать?</h2>
157 <div class="level2">
160 «Шина» --- это всего лишь декорация. Генератор списка соединений её
161 игнорирует. Фактическая работа по соединению точек между собой возложена на
162 атрибут <code>netname=</code> --- это то, что <strong>gnetlist</strong> читает и преобразует в
163 список соединений. Невозможно присоединить дискретную линию или «бит» к
164 шине, потому что, ещё раз, это просто графический элемент.
165 </p>
168 Некоторым пользователям кажется удобной такая организация соединений, когда в их имена входит название шины. Например, к каждому символу ответвления от шины («busripper») можно добавить атрибут вида <code>net=busA:1</code>, что облегчит сортировку соединений.
169 </p>
171 </div>
173 <h2 id="каковоназначениекнопокмышивgschem">Каково назначение кнопок мыши в gschem?</h2>
174 <div class="level2">
177 Стандартные настройки таковы:
178 </p>
179 <ul>
180 <li class="level1"><div class="li"> Левая кнопка мыши используется для выбора и черчения.</div>
181 </li>
182 <li class="level1"><div class="li"> Средняя кнопка мыши --- или для перемещения объекта (щёлкните по объекту и, удерживая кнопку, перемещайте мышь), или для его копирования (нажав и удерживая клавишу [<strong>Alt</strong>], щёлкните по объекту и, удерживая кнопку, перемещайте мышь).</div>
183 </li>
184 <li class="level1"><div class="li"> Правая кнопка мыши --- для контекстного меню.</div>
185 </li>
186 </ul>
189 Привязку средней кнопки можно изменить, добавив в файл <em><code>gschemrc</code></em> одну
190 из следующих строк:
191 </p>
192 <pre class="code">(middle-button &quot;action&quot;) ;привязка по умолчанию, перемещение или копирование объекта</pre>
195 или:
196 </p>
197 <pre class="code">(middle-button &quot;stroke&quot;) ;использование жестов (для этого нужно, чтобы была установлена библиотека libstroke)</pre>
200 или:
201 </p>
202 <pre class="code">(middle-button &quot;repeat&quot;) ;повтор последней выполненной команды</pre>
205 Привязку правой кнопки можно изменить, добавив в файл <em><code>gschemrc</code></em> одну
206 из следующих строк:
207 </p>
208 <pre class="code">(third-button &quot;popup&quot;) ;привязка по умолчанию -- вызов контекстного меню</pre>
211 или:
212 </p>
213 <pre class="code">(third-button &quot;mousepan&quot;) ;панорамирование в окне схемы</pre>
216 Более подробную информацию об этих настройках смотрите в файле
217 <em><code>${install_prefix}/share/gEDA/system-gschemrc</code></em>.
218 </p>
220 </div>
222 <h2 id="можноливgschemделатьиерархическиепроектыслистамиподсхем">Можно ли в gschem делать иерархические проекты с листами подсхем?</h2>
223 <div class="level2">
226 Да. Листы подсхем в основной схеме представляются специальными символами. В
227 разделе документации <strong>gschem</strong> можно найти пример иерархического проекта
228 (<em><code>geda-doc/examples/gTAG/gTAG.sch</code></em>). В настоящее время нет способа
229 создать символ подсхемы из существующей схемы автоматически. Его придётся
230 чертить вручную. Мы были бы очень признательны за любые заплаты или
231 сторонние скрипты, с помощью которых можно было бы это сделать.
232 </p>
235 Атрибут <code>source=</code>, прикреплённый к символу подсхемы, задаст путь доступа к
236 файлу этой подсхемы. Выводы символа соответствуют
237 <a href="geda-glossary.ru.html#порт" class="wikilink1" title="geda-glossary.ru.html">портам</a> --- переходам из основной схемы в
238 подсхему. Эти переходы должны соответствовать позиционным обозначениям
239 символов портов в подсхеме. Символами портов в текущей библиотеке gEDA
240 являются <em><code>in-1.sym</code></em> и <em><code>out-1.sym</code></em>. Для навигации в иерархии
241 листов подсхем используйте меню иерархии. Также для этого можно использовать
242 менеджер страниц.
243 </p>
246 Для преобразования иерархии в список соединений просто запустите
247 <strong>gsch2pcb</strong> для основной схемы. По умолчанию имена соединений и позиционные
248 обозначения компонентов являются строго локальными для подсхемы. При
249 добавлении в список соединений они получают префикс в виде позиционного
250 обозначения символа подсхемы. Можно использовать даже несколько экземпляров
251 символа подсхемы, не опасаясь коротких замыканий. Будут ли изменяться имена
252 соединений или позиционные обозначения, и оставаться таким образом
253 локальными для подсхемы, или не будут, можно настроить в файле конфигурации
254 <em><code>gnetlistrc</code></em>. Скопируйте соответствующие строки из
255 <em><code>system-gnetlistrc</code></em> в <em><code>gnetlistrc</code></em> в текущем рабочем каталоге
256 или в <em><code>$HOME/.gEDA/gnetlistrc</code></em>. Удобной настройкой может быть такая,
257 когда соединения, представляемые символами питания, становятся глобальными,
258 в то время как обычные соединения остаются локальными для подсхемы. Этого
259 можно добиться разрешением <code>hierarchy-netattrib-mangle</code>.
260 </p>
262 </div>
264 <h2 id="можноливgschemсделатьиерархиювкоторойсимволвосновнойсхемеизображаетмногостраничнуюсхему">Можно ли в gschem сделать иерархию, в которой символ в основной схеме изображает многостраничную схему?</h2>
265 <div class="level2">
268 Да. Просто прикрепите к символу атрибут <code>source=</code> несколько раз с разными
269 значениями. Войдите через этот символ в схему, затем страницы данного уровня
270 можно листать клавишами [<strong>Page Up</strong>] / [<strong>Page Down</strong>].
271 </p>
273 </div>
275 <h2 id="можнолинастроитьиерархиювнесколькихкаталогах">Можно ли настроить иерархию в нескольких каталогах?</h2>
276 <div class="level2">
279 Да. Для этого нужно, чтобы в декларациях <code>(source-library &quot;...&quot;)</code> и
280 <code>(component-library &quot;...&quot;)</code> в <em><code>gafrc</code></em> были перечислены все
281 нужные каталоги.
282 </p>
284 </div>
286 <h2 id="какобъявитьсоединениеглобальным">Как объявить соединение глобальным?</h2>
287 <div class="level2">
290 В отношении текущего листа все имена соединений глобальны. Являются ли имена
291 соединений глобальными в иерархическом стеке схем или нет, зависит от
292 настроек в <em><code>gnetlistrc</code></em>. Этот файл может находиться в
293 <em><code>$HOME/.gEDA</code></em> или в локальном каталоге вместе со схемами. Умолчания
294 установлены в <em><code>system-gschemrc</code></em>. Если хочется другого поведения,
295 скопируйте соответствующие строки в локальный <em><code>gnetlistrc</code></em>.
296 </p>
299 Способа сделать определённые имена соединений глобальными нет. Однако имена
300 для соединений можно разделить на те, что задаются с помощью атрибута
301 <code>netname</code>, и те, что определяются атрибутом <code>net</code>. Второй атрибут
302 предназначен для настройки соединений символов питания. При его
303 использовании соединения питания к символам подсхем подводить не нужно.
304 </p>
306 </div>
308 <h2 id="можнолиопределитьособыенастройкиибиблиотекидляподсхем">Можно ли определить особые настройки и библиотеки для подсхем?</h2>
309 <div class="level2">
312 Когда схема открывается, <strong>libgeda</strong> меняет каталог. Так что при обработке
313 схемы она должна загрузить любой <em><code>gafrc</code></em>, и в подкаталогах тоже.
314 </p>
316 </div>
318 <h2 id="естьлиограничениядляиерархическихпроектов">Есть ли ограничения для иерархических проектов?</h2>
319 <div class="level2">
322 Хотя поддержка подсхем охватывает многие аспекты иерархических проектов, несколько ограничений существует:
323 </p>
324 <ul>
325 <li class="level1"><div class="li"> Шины к подсхемам присоединять нельзя.</div>
326 </li>
327 <li class="level1"><div class="li"> В графическом интерфейсе нет способа создать начальную подсхему. Отдельные символы для каждой подсхемы придётся создавать вручную.</div>
328 </li>
329 </ul>
332 Не стесняйтесь исправить эти вопросы. Помощь приветствуется.
333 </p>
335 </div>
337 <h1 id="символыgschem">Символы gschem</h1>
338 <div class="level1">
340 </div>
342 <h2 id="гденайтисимволыкрометехчтоестьвстандартнойбиблиотеке">Где найти символы кроме тех, что есть в стандартной библиотеке?</h2>
343 <div class="level2">
346 Есть веб-сайт gedasymbols.org,
347 предназначенный для ресурсов, которыми пользователи содействуют проекту
348 gEDA. Есть поиск по сайту, предпросмотр символов и их можно загрузить по
349 отдельности. Если соответствующим образом сконфигурировать свой файл
350 <em><code>gafrc</code></em>, то эти символы можно разместить прямо рядом с файлами схем
351 своего проекта. Может быть вам следует создать локальную библиотеку
352 символов, чтобы все проекты имели доступ к новым символам. Смотрите
353 подробности <a href="#можноливgafrcзадатькорневойкаталогсвоейбиблиотекиспомощьюпеременной" title=":geda:faq-gschem.ru.txt ↵" class="wikilink1">ниже</a>.
354 </p>
357 Можно загрузить даже всё содержимое, добавленное пользователями
358 <em>gedasymbols</em>. Смотрите инструкции о том,
359 как получить доступ к gedasymbols с
360 помощью CVS.
361 </p>
363 </div>
365 <h2 id="чтозавопроснасчёттяжёлыхсимволовпротивлёгких">Что за вопрос насчёт тяжёлых символов против лёгких?</h2>
366 <div class="level2">
369 Эта терминология выросла из дискуссии, которая часто возникает в списках
370 рассылки <em>geda-user</em> и <em>geda-dev</em>. Лёгкий символ --- это символ,
371 содержащий очень мало встроенных атрибутов. При этом почти все атрибуты
372 пользователю придётся добавлять на этапе редактирования схемы (например, в
373 <strong>gschem</strong> или в <strong>gattrib</strong>). Тяжёлый символ --- это такой, многие
374 атрибуты которого (такие как посадочные места компонентов, названия
375 <a href="geda-glossary.ru.html#модель" class="wikilink1" title="geda-glossary.ru.html">SPICE-моделей</a> и пр.) уже встроены в файл
376 символа. Поэтому на этапе редактирования схемы атрибуты к тяжёлому символу
377 прикреплять практически не требуется --- просто вставляете его и всё готово.
378 </p>
381 Дебаты между сторонниками тяжёлых и лёгких символов очень детальны и
382 запутаны. В целом, сторонники тяжёлых символов думают, что они позволяют
383 достичь большей интеграции между <strong>gschem</strong> и <strong>pcb</strong>, так как важные
384 атрибуты топологии (такие как
385 <a href="geda-pcb_tips.ru.html#я_хочу_развести_плату_в_pcb._как_узнать_какое_значение_задать_атрибуту_footprint" class="wikilink1" title="geda-pcb_tips.ru.html">название
386 посадочного места</a>) уже встроены в символ. Считается, что это хорошо для
387 новых пользователей (нубов), которые просто хотят спроектировать простую
388 плату, и их не волнует миллион вариантов, существующих даже для обычного
389 резистора (например, различные корпуса, ТКС, точность, состав материала и
390 т. д.). Сторонники лёгких символов предпочитают работать с атрибутами при
391 редактировании схемы, потому что думают, что это более гибко. Они сразу
392 указывают, что если пытаться обозначить все различия между разными
393 вариациями компонентов, библиотека тяжёлых символов быстро разрастётся в
394 тысячи компонентов с абсурдно длинными названиями. Они также отмечают, что
395 предпочтительным инструментом для обработки атрибутов при редактировании
396 схем (то есть для файлов <em><code>.sch</code></em>) является утилита <strong>gattrib</strong>.
397 </p>
400 В gEDA/gaf по умолчанию используются лёгкие символы, хотя такую конфигурацию
401 можно изменить и использовать тяжёлые. Более подробно об этом можно узнать
402 из следующих дискуссий в списке рассылки <em>geda-user</em>:
403 </p>
406 http://archives.seul.org/geda/user/Jun-2005/msg00001.html
407 </p>
410 http://archives.seul.org/geda/dev/Oct-2005/msg00043.html
411 </p>
414 http://archives.seul.org/geda/user/Dec-2007/msg00146.html
415 </p>
417 </div>
419 <h2 id="язагрузилсимволизбиблиотекипочемуонневыравниваетсяпосетке">Я загрузил символ из библиотеки. Почему он не выравнивается по сетке?</h2>
420 <div class="level2">
423 Подавляющее большинство символов в библиотеке создано с выравниванием по
424 сетке в 100 единиц. Убедитесь, что сетка настроена на 100 единиц. Чтобы
425 проверить или изменить это значение, выберите <strong><em>Шаг сетки привязки...</em></strong>
426 [<strong><em>Snap Grid Spacing...</em></strong>] в меню настроек.
427 </p>
430 Символы добавлены в библиотеку такими же пользователями, как и вы. Некоторые
431 люди используют другие настройки сетки, нежели остальные (например, 50
432 единиц вместо 100). Если вы обнаружили символ, который, кажется, не
433 выравнивается по сетке, попробуйте уменьшить размер сетки и переместить
434 символ так, чтобы концы его выводов «сидели» на сетке. Потом вернитесь к
435 настройкам сетки, подходящим для вас. Кроме того, вы можете послать
436 исправленный символ в
437 список рассылки
438 geda-user.
439 </p>
442 Символы, находящиеся на сайте
443 gedasymbols.org, ещё более подогнаны под конкретные требования их авторов.
444 Да, документация gEDA строго рекомендует использовать размер сетки 100
445 единиц. Но каждый любит делать всё по-своему и абсолютного диктатора,
446 который мог бы навязать правила для вносимых в проект символов, нет. Поэтому
447 вам просто надо знать об этой возможности.
448 </p>
450 </div>
452 <h2 id="естьлиявныйсимволnoconnectкоторыйямогдолженбывставитьвсхемучтобыпрограммаgnetlistнедумалачтоязабылдобавитькакое-тосоединение">Есть ли явный символ «no connect», который я мог/должен бы вставить в схему, чтобы программа gnetlist не думала, что я забыл добавить какое-то соединение?</h2>
453 <div class="level2">
456 Ответ: <em><code>misc</code></em> -&gt; <em><code>nc-left, nc-right, nc-top, nc-bottom</code></em>.
457 </p>
460 Будьте осторожны: подчас при этом может быть создано соединение с названием
461 <em>no_connect</em> (или <em>NC??</em>), что может заставить <strong>gnetlist</strong> соединить
462 эти неподключенные выводы между собой, чего вы, скорее всего, <em class="u">не</em> хотели
463 бы.
464 </p>
467 Если вы хотите, чтобы символ был чисто графическим (не имел электрических
468 соединений), добавьте атрибут <code>graphical=1</code>. Такие символы полностью
469 игнорируются генератором списка соединений.
470 </p>
472 </div>
474 <h2 id="каквынестивсхемуневидимыйатрибутсимвола">Как вынести в схему невидимый атрибут символа?</h2>
475 <div class="level2">
478 Невидимые атрибуты, за некоторыми исключениями, из символов в схему не
479 выносятся. Чтобы они выносились, нужно сделать следующее. Поищите следующие
480 ключевые слова в файле <em><code>system-gafrc</code></em>:
481 </p>
482 <pre class="code">(attribute-promotion &quot;enabled&quot;);
483 (promote-invisible &quot;disabled&quot;) ; &lt;= Вот это
484 (keep-invisible &quot;enabled&quot;)</pre>
487 Добавьте в свой <em><code>gafrc</code></em>:
488 </p>
489 <pre class="code">(promote-invisible &quot;enabled&quot;)</pre>
492 и все атрибуты будут выноситься. Ключевое слово <code>keep-invisible</code> служит
493 для того, чтобы те атрибуты, что были скрытыми в файле символа, оставались
494 скрытыми и в схеме.
495 </p>
497 </div>
499 <h2 id="какмнебытьсвыводамипитаниядлясвоихсимволовделатьлиихвидимымиявнымиилиневидимыминеявными">Как мне быть с выводами питания для своих символов: делать ли их видимыми (явными) или невидимыми (неявными)?</h2>
500 <div class="level2">
503 В прошлом в схемах цифровой логики выводы питания скрывались и соединения
504 питания осуществлялись с помощью атрибутов внутри символа. В настоящее время
505 общее мнение на этот счёт изменилось, и такой подход считается плохим (хотя
506 порой всё ещё вспыхивают религиозные войны по этому вопросу).
507 </p>
510 Для старых логических схем, имеющих повсюду пятивольтовую ТТЛ-логику,
511 наличие скрытых выводов может быть и нормально. Если у вас на плате есть
512 только +5 В, то скрытие выводов питания может несколько упростить
513 схему. Однако сегодня немногие проектировщики делают такие схемы;
514 пятивольтовые ТТЛ (и пятивольтовые КМОП) быстро становятся технологией
515 древности.
516 </p>
519 Скрывать выводы питания аналоговых микросхем было неприемлемо всегда.
520 Во-первых, аналоговые микросхемы часто имеют несколько соединений питания
521 (<em>VCC</em>, <em>VEE</em>), которые требуется указывать явно. Во-вторых, хорошая
522 практика проектирования подразумевает установку развязывающих конденсаторов
523 на всех выводах питания без исключения. К тому же иногда последовательно с
524 питанием устанавливают катушку индуктивности. Так как всё это должно быть
525 начерчено в схеме, то лучше всего для их подключения использовать явный
526 вывод питания. Поэтому никогда не следует использовать скрытые выводы
527 питания для символов аналоговых компонентов.
528 </p>
531 В новых схемах логики для разных частей микросхемы часто используется
532 несколько источников питания (<em>OVDD</em>, <em>DVDD</em> и т. д.). Обычным также
533 является наличие нескольких типов логики на одной плате (5 В, 3.3 В и
534 т. д.). Поэтому лучше всего размещать и подключать выводы питания таких
535 символов явным образом. Скрытые выводы питания в этом случае будут причиной
536 многих бед, так как, например, питание 3,3 В можно весьма просто ошибочно
537 подключить к пятивольтовому прибору.
538 </p>
541 Перефразируя Ненси Рейган: просто скажи «нет» скрытым выводам питания.
542 </p>
545 К вышесказанному добавим, что тем не менее весьма удобным может быть
546 отделение выводов питания от функциональных частей символа. Чтобы добиться
547 этого, надо будет определить отдельный символ питания и задать ему то же
548 самое <a href="geda-glossary.ru.html#позиционноеобозначение" class="wikilink1" title="geda-glossary.ru.html">позиционное обозначение</a>, что и для функциональной
549 части. При запуске <strong>gsch2pcb</strong> эти двойняшки будут надлежащим образом
550 рассматриваться как один компонент. Так как ни <strong>gschem</strong>, ни <strong>gsch2pcb</strong>
551 не могут точно знать, вполне ли укомплектован компонент в схеме обоими
552 созданными для него символами, то это следует проверять самостоятельно. При
553 таком подходе все цепи питания могут вычерчиваться в одном углу схемы
554 отдельно от сигнальных цепей. Для аналоговых схем это в ряде случаев очень
555 удобно.
556 </p>
558 </div>
560 <h2 id="можнолииспользоватьвыводынулевойдлины">Можно ли использовать выводы нулевой длины?</h2>
561 <div class="level2">
564 Для обоих концов вывода можно задать одинаковые значения координат. При этом
565 будет выводиться только красный маркер вывода без продолжения. В настоящее
566 время в <strong>gschem</strong> графически такой вывод начертить нельзя. Но файл символа
567 можно открыть в текстовом редакторе и добавить вот такую строку:
568 </p>
569 <pre class="code">P 100 100 100 100 1 0 0</pre>
572 Получится вывод нулевой длины в нижнем левом углу рабочей области. Его можно перемещать, прикреплять к нему атрибуты, копировать его как и любой другой вывод. Если соединение к нему не подключено, он выглядит как маленький красный флаг, в противном случае --- пропадает. <strong>gnetlist</strong> без проблем обрабатывает его как и все прочие выводы.
573 </p>
575 </div>
577 <h2 id="естьлиспецификацияилируководствопосозданиюсимволовgschemеслиестьтогде">Есть ли спецификация или руководство по созданию символов gschem? Если есть, то где?</h2>
578 <div class="level2">
581 Есть. Это <a href="geda-gschem_symbol_creation.ru.html" class="wikilink1" title="geda-gschem_symbol_creation.ru.html">Руководство по созданию
582 символов</a>.
583 </p>
585 </div>
587 <h2 id="естьлипомощникпосозданиюсимволоввgschem">Есть ли помощник по созданию символов в gschem?</h2>
588 <div class="level2">
591 Помощника, встроенного в графический интерфейс <strong>gschem</strong>, нет. Но есть
592 скрипты для автоматического создания символов по заданным в файле
593 конфигурации параметрам. Один из этих скриптов ---
594 <a href="geda-tragesym_readme.ru.html" class="wikilink1" title="geda-tragesym_readme.ru.html">tragesym</a>. Он входит в стандартный набор программ
595 gEDA. Научиться им пользоваться вам поможет <a href="geda-tragesym_tutorial.ru.html" class="wikilink1" title="geda-tragesym_tutorial.ru.html">краткое
596 руководство</a>.
597 </p>
600 Один из основных разработчиков проекта написал свой собственный скрипт для
601 создания символов:
602 djboxsym.
603 </p>
606 Кроме того, существует утилита (<strong>ibs2symdef.py</strong>), позволяющая создавать
607 файлы описаний символов (<em>symdef</em>) для работы с <strong>djboxsym</strong> из
608 IBIS-моделей. Она распространяется в рамках проекта PyBIS:
609 PyBIS wiki.
610 </p>
613 Посмотрите страницу <a href="https://www.google.com/search?q=geda%3Agschem%20symbol%20generators&amp;btnI=lucky" class="interwiki iw_go" title="https://www.google.com/search?q=geda%3Agschem%20symbol%20generators&amp;btnI=lucky">geda:gschem symbol generators</a> на предмет других
614 доступных генераторов.
615 </p>
617 </div>
619 <h2 id="гдеможнонайтиинформациюоформатефайловgschem">Где можно найти информацию о формате файлов gschem?</h2>
620 <div class="level2">
623 В отличие от многих <a href="geda-glossary.ru.html#сапрэлектроники" class="wikilink1" title="geda-glossary.ru.html">САПР электроники</a>, разработчики
624 <strong>gschem</strong> строго придерживаются удобочитаемого текстового формата. Он
625 используется преднамеренно, для облегчения написания скриптов. К тому же он
626 позволяет быстро править файлы в текстовом редакторе. Описание формата
627 файлов <strong>gschem</strong> находится <a href="geda-file_format_spec.ru.html" class="wikilink1" title="geda-file_format_spec.ru.html">здесь</a>.
628 </p>
630 </div>
632 <h2 id="почемусимволытакиебольшие">Почему символы такие большие?</h2>
633 <div class="level2">
636 В <strong>gschem</strong> нет ничего, что определяло бы абсолютный размер объектов.
637 Единственной связью с реальными единицами измерения являются названия разных
638 рамок основных надписей. По какой-то давно забытой причине в рамках основных
639 надписей с названиями <em><code>title-A4.sym</code></em> или <em><code>title-B.sym</code></em>
640 помещаются только относительно простые схемы из символов стандартной
641 библиотеки. Если для более сложных схем вам нужно больше места, просто
642 выберите символ рамки подходящего размера.
643 </p>
646 <strong>gschem</strong> масштабирует вывод печати таким образом, что всё содержимое
647 растягивается на выбранный формат листа. Этот формат абсолютно независим от
648 используемого в схеме символа рамки основной надписи. Поэтому нет нужды
649 масштабировать сами символы, чтобы они поместились на конкретном формате.
650 Многие при печати на A4 предпочитают использовать <em><code>title-A2.sym</code></em> или
651 <em><code>title-A3.sym</code></em>. Кто-то использует символы основной надписи вообще без
652 рамок и затем чертит прямоугольник подходящего размера (см., например,
653 title-block.sym
654 от <em>Kai-Martin Knaak</em>).
655 </p>
658 Но в некоторых случаях всё же хочется на самом деле изменить размер символов. Для этого есть несколько способов:
659 </p>
660 <ul>
661 <li class="level1"><div class="li"> <em>DJ Delorie</em> написал для проекта скрипт на Perl под названием scale-schematic, находящийся на его странице на сайте <a href="geda-glossary.ru.html#gedasymbols.org" class="wikilink1" title="geda-glossary.ru.html">gedasymbols.org</a>.</div>
662 </li>
663 <li class="level1"><div class="li"> Можно сделать и свою собственную библиотеку символов. Это не так уж и страшно, так как многие приходят к использованию в любом случае исключительно собственных символов.</div>
664 </li>
665 </ul>
667 </div>
669 <h1 id="конфигурированиенастройкаgschem">Конфигурирование/настройка gschem</h1>
670 <div class="level1">
673 Вариантов настройки <strong>gschem</strong> гораздо больше, чем может быть здесь
674 рассмотрено. Поэтому, чтобы узнать, что можно изменить ещё, взгляните на
675 <em><code>system-gschemrc</code></em>.
676 </p>
678 </div>
680 <h2 id="каксконфигурироватьлокальныйфайлgafrcчтобыможнобылонайтикаталогсвоихсимволов">Как сконфигурировать локальный файл gafrc, чтобы можно было найти каталог своих символов?</h2>
681 <div class="level2">
682 <ol>
683 <li class="level1"><div class="li"> Создайте каталог проекта, например <em><code>${HOME}/myproj</code></em>.</div>
684 </li>
685 <li class="level1"><div class="li"> Поместите нужные вам символы в <em><code>${HOME}/myproj/symbols</code></em>.</div>
686 </li>
687 <li class="level1"><div class="li"> В <em><code>${HOME}/myproj</code></em> создайте файл <em><code>gafrc</code></em>.</div>
688 </li>
689 <li class="level1"><div class="li"> Добавьте в <em><code>gafrc</code></em> строку: <pre class="code"> (component-library &quot;./symbols&quot;)</pre>
690 </div>
691 </li>
692 <li class="level1"><div class="li"> Запустите <strong>gschem</strong> из каталога проекта. То есть для запуска <strong>gschem</strong> наберите следующее:<pre class="code">cd ${HOME}/myproj
693 gschem myschematic.sch</pre>
694 </div>
695 </li>
696 </ol>
699 Главное, что следует помнить:
700 </p>
701 <ul>
702 <li class="level1"><div class="li"> Код Guile, обрабатывающий rc-файлы не понимает или не интерпретирует метасимволы и шаблоны оболочки, такие как &lt;&lt;~&gt;&gt; или &lt;&lt;${HOME}&gt;&gt;. Он не считает, что &lt;&lt;.&gt;&gt; --- это текущий каталог, и не понимает абсолютных путей доступа к файлам. Если вы хотите сделать что-то мудрёное, то для получения информации о каталогах можно попробовать использовать функции Scheme.</div>
703 </li>
704 <li class="level1"><div class="li"> Убедитесь, что <em><code>gafrc</code></em> находится в главном каталоге проекта.</div>
705 </li>
706 <li class="level1"><div class="li"> Запускайте все программы gEDA из главного каталога своего проекта.</div>
707 </li>
708 <li class="level1"><div class="li"> Запускайте программы из командной строки в оболочке терминала --- не используйте никаких красивых, блестящих иконок для запуска <strong>gschem</strong> (если они у вас есть), так как вы не узнаете, в каком каталоге <strong>gschem</strong> запускается, а <strong>gschem</strong> может не найти <em><code>gafrc</code></em>.</div>
709 </li>
710 <li class="level1"><div class="li"> Самое главное здесь: запускать <strong>gschem</strong> из того же каталога, где лежит и <em><code>gafrc</code></em>.</div>
711 </li>
712 </ul>
714 </div>
716 <h2 id="какзадатькорневойкаталогсвоейбиблиотеки">Как задать корневой каталог своей библиотеки?</h2>
717 <div class="level2">
720 Существует два подхода. Если вам нужно, чтобы каждая библиотека имела
721 уникальное имя, абсолютно каждый из каталогов своих локальных библиотек
722 нужно отдельно прописывать в файле <em><code>gafrc</code></em>. Но общую часть полного
723 пути вовсе не обязательно повторять снова и снова. С помощью функции
724 <code>build-path</code> путь можно формировать «на лету»:
725 </p>
726 <pre class="code">(define gedasymbols &quot;/путь/к/локальной/библиотеке&quot;)
727 (component-library (build-path gedasymbols &quot;analog&quot;))
728 (component-library (build-path gedasymbols &quot;block&quot;))
729 (component-library (build-path gedasymbols &quot;connector&quot;))</pre>
732 Если вы не хотите перечислять отдельные подкаталоги, можно задать только имя
733 корневого каталога библиотеки:
734 </p>
735 <pre class="code">(component-library-search &quot;/каталог/с/моими_библиотеками_символов/&quot; &quot;library:&quot;)</pre>
737 </div>
739 <h2 id="можноливзаданиипутидоступакбиблиотекеиспользоватьпеременныеокружения">Можно ли в задании пути доступа к библиотеке использовать переменные окружения?</h2>
740 <div class="level2">
743 К переменной окружения <em>ENV</em> внутри предложений Scheme в <em><code>gafrc</code></em>
744 можно обратиться с помощью <code>getenv &quot;ENV&quot;</code>:
745 </p>
746 <pre class="code">; Определение пути доступа к локальному репозиторию символов:
747 (define symbolspath (build-path (getenv &quot;HOME&quot;) &quot;geda&quot; &quot;symbols&quot;))
748 ; Подключение с его помощью конкретной библиотеки:
749 (component-library (build-path symbolspath &quot;analog&quot;))</pre>
752 Альтернативный синтаксис --- <code>${ENV}</code>:
753 </p>
754 <pre class="code">(component-library &quot;${HOME}/geda/symbols/analog&quot;)</pre>
756 </div>
758 <h2 id="каксделатьтакчтобыназваниебиблиотекиотличалосьотимениеёкаталога">Как сделать так, чтобы название библиотеки отличалось от имени её каталога?</h2>
759 <div class="level2">
762 Добавьте третий аргумент в предложение <code>component-library</code> в
763 <em><code>gafrc</code></em>, то есть:
764 </p>
765 <pre class="code">(component-library &quot;/home/comp/sch_symbols/AutoGen/Panasonic/0603/1P&quot; &quot;Panasonic 0603 1P&quot;)</pre>
767 </div>
769 <h2 id="можноливбиблиотекехранитьчастонеобходимыечастисхем">Можно ли в библиотеке хранить часто необходимые части схем?</h2>
770 <div class="level2">
773 Да, благодаря тому, что символы могут содержать вложенные символы и соединения.
774 </p>
775 <ol>
776 <li class="level1"><div class="li"> Скопируйте часть схемы на новый лист (так как рамка основной надписи вам не понадобится, разблокируйте её и удалите).</div>
777 </li>
778 <li class="level1"><div class="li"> Позиционные обозначения должны заканчиваться на &lt;&lt;?&gt;&gt;, чтобы потом их можно было пронумеровать автоматически.</div>
779 </li>
780 <li class="level1"><div class="li"> Переместите эту часть схемы в нижний левый угол доступного для чертежа пространства (можно с помощью <strong><em>Правка</em></strong> -&gt; <strong><em>Смещение символа...</em></strong> [<strong><em>Edit</em></strong> -&gt; <strong><em>Symbol Translate...</em></strong>]).</div>
781 </li>
782 <li class="level1"><div class="li"> Сохраните полученную схему как символ (с расширением <em><code>.sym</code></em>) в свою локальную библиотеку.</div>
783 </li>
784 <li class="level1"><div class="li"> В рабочей схеме откройте окно выбора компонентов и перед вставкой этого составного символа снизу в выпадающем списке выберите <strong><em>Вставить как отдельные объекты</em></strong> [<strong><em>Include component as individual objects</em></strong>]. Содержимое символа будет полностью вставлено на лист. Не забудьте потом снова установить режим по умолчанию для вставки обычных символов.</div>
785 </li>
786 </ol>
788 </div>
790 <h2 id="библиотеказаваленасимволамистандартнойбиблиотекиможнолиограничитьсятолькосвоимилокальнымибиблиотеками">Библиотека завалена символами стандартной библиотеки. Можно ли ограничиться только своими локальными библиотеками?</h2>
791 <div class="level2">
794 Добавьте в <em><code>gafrc</code></em> следующие строки, заменив каталоги на свои:
795 </p>
796 <pre class="code">; очистить переменную, содержащую пути к библиотекам,
797 ; и добавить в неё локальные каталоги:
798 (reset-component-library)
799 (component-library &quot;/foo/localgedalib1&quot;)
800 (component-library &quot;/bar/foo/localgedalib2&quot;)</pre>
803 Можно либо добавить каталоги для всех локальных библиотек отдельно, или добавить целое дерево пути с подкаталогами. См. выше о том, <a href="#какзадатькорневойкаталогсвоейбиблиотеки" title=":geda:faq-gschem.ru.txt ↵" class="wikilink1">как это сделать</a>. Весьма неплохо поместить этот <em><code>gafrc</code></em> в каталог своего проекта. Таким образом при запуске <strong>gschem</strong> из какого-то другого каталога символы стандартной библиотеки всё равно будут появляться. Также это даёт возможность настройки библиотек специальных символов для особых проектов.
804 </p>
806 </div>
808 <h2 id="чтонадосделатьчтобыпоумолчаниюустанавливалсядругойразмертекста">Что надо сделать, чтобы по умолчанию устанавливался другой размер текста?</h2>
809 <div class="level2">
812 Добавьте в свой <em><code>gschemrc</code></em>
813 </p>
814 <pre class="code">(text-size 10)</pre>
817 Вместо &quot;10&quot; подставьте нужный размер.
818 </p>
820 </div>
822 <h2 id="скажитепожалуйстаможнолинастроитьсветлыйцветфона">Скажите, пожалуйста, можно ли настроить светлый цвет фона?</h2>
823 <div class="level2">
826 В файл <em><code>gschemrc</code></em>, находящийся в том месте, где <strong>gschem</strong> при запуске
827 ищет свои настройки, добавьте такую строку:
828 </p>
829 <pre class="code">(load (build-path geda-rc-path &quot;gschem-colormap-lightbg&quot;))</pre>
831 </div>
833 <h2 id="какподстроитьцветавgschem">Как подстроить цвета в gschem?</h2>
834 <div class="level2">
837 В настоящее время графического интерфейса для интерактивной корректировки цветов в <strong>gschem</strong> нет. Но их можно поправить в rc-файле.
838 </p>
839 <ol>
840 <li class="level1"><div class="li"> Скопируйте файл <em><code>gschem-colormap-lightbg</code></em> или <em><code>gschem-colormap-darkbg</code></em> в <em><code>$HOME/.gEDA/mycolors</code></em>.</div>
841 </li>
842 <li class="level1"><div class="li"> Отредактируйте по вкусу цвета в <em><code>.gEDA/mycolors</code></em>.</div>
843 </li>
844 <li class="level1"><div class="li"> Добавьте в <em><code>gschemrc</code></em> строку:</div>
845 </li>
846 </ol>
847 <pre class="code">(load (build-path (getenv &quot;HOME&quot;) &quot;.gEDA&quot; &quot;mycolors&quot;))</pre>
849 </div>
851 <h2 id="каждыйразпризапускеgschemпоявляетсяокножурналаможнолиегоотключить">Каждый раз при запуске gschem появляется окно журнала. Можно ли его отключить?</h2>
852 <div class="level2">
855 В файле <em><code>system-gschemrc</code></em> вы найдёте следующий раздел:
856 </p>
857 <pre class="code">; log-window string
859 ; Controls if the log message window is mapped when gschem is started up
860 ; Possible options:
861 ; startup - opened up when gschem starts
862 ; later - NOT opened up when gschem starts
863 ; (can be opened by Options/Show Log Window)
865 (log-window &quot;startup&quot;)
866 ;(log-window &quot;later&quot;)</pre>
869 Закомментируйте строку <code>startup</code> (с помощью символа &lt;&lt;;&gt;&gt;) и
870 раскомментируйте строку <code>later</code>, или добавьте в свой <em><code>gschemrc</code></em>
871 следующую строку:
872 </p>
873 <pre class="code">(log-window &quot;later&quot;)</pre>
876 Если вы хотите, чтобы вместо окна журнала сообщения выводились на
877 стандартный вывод (<em>stdout</em>), добавьте в свой <em><code>gschemrc</code></em> такую
878 строку:
879 </p>
880 <pre class="code">(logging-destination &quot;tty&quot;)</pre>
882 </div>
884 <h2 id="естьлиспособзапретитьжурналированиевhomegedalogs">Есть ли способ запретить журналирование в $HOME/.gEDA/logs/?</h2>
885 <div class="level2">
888 Добавьте в свой <em><code>gschemrc</code></em> строку:
889 </p>
890 <pre class="code">(logging &quot;disabled&quot;)</pre>
892 </div>
894 <h2 id="можнолисделатьтакчтобыдляновыхсхемустанавливаласьмоясобственнаярамкаосновнойнадписи">Можно ли сделать так, чтобы для новых схем устанавливалась моя собственная рамка основной надписи?</h2>
895 <div class="level2">
898 Добавьте следующую строку в свой <em><code>gschemrc</code></em>:
899 </p>
900 <pre class="code">(define default-titleblock &quot;title-A3.sym&quot;)</pre>
903 Замените <em><code>title-A3.sym</code></em> именем файла символа предпочитаемой рамки.
904 </p>
906 </div>
908 <h1 id="печатьвывод">Печать/вывод</h1>
909 <div class="level1">
911 </div>
913 <h2 id="какнапечататьсхемыизкоманднойстроки">Как напечатать схемы из командной строки?</h2>
914 <div class="level2">
917 Файл в формате PostScript или PDF для своей схемы можно получить с помощью
918 команды <strong>gaf export</strong>.
919 </p>
922 PDF-файл из файла схемы создаётся следующей командой (замените в ней MY_SCH
923 именем файла своей схемы):
924 </p>
925 <pre class="code">gaf export -o MY_SCH.pdf MY_SCH.sch</pre>
928 Приведённый ниже <code>bash</code>-скрипт, который я назвал <strong>gschem-print</strong>, создаст
929 для каждого из заданных в командной строке файлов схем Postscript-файл, а
930 затем распечатает его на используемом по умолчанию принтере:
931 </p>
932 <pre class="code">#!/bin/bash
934 # &#039;gaf export&#039; options
935 # -oPS_FILENAME output to Postscript file PS_FILENAME
937 for name in $*
939 base=&quot;${name%.*}&quot;
940 gaf export --output=$base.ps -- $base.sch
941 lpr -P$PRINTER $base.ps
942 done</pre>
945 Размер бумаги можно настроить с помощью ключа <code>-p</code>. Для установки размера
946 бумаги в A4 используется команда вида:
947 </p>
948 <pre class="code">gaf export --paper=iso_a4 -o MY_SCH.pdf MY_SCH.sch</pre>
951 Чтобы задать &quot;US Letter&quot; как предпочтительный размер бумаги для всех
952 открываемых схем, выполните:
953 </p>
954 <pre class="code">gaf config --user export paper na_letter</pre>
956 </div>
958 <h2 id="каквывестиpdfpngвцвете">Как вывести PDF/PNG в цвете?</h2>
959 <div class="level2">
962 Отредактируйте файл <em><code>system-gschemrc</code></em> или добавьте в <em><code>gschemrc</code></em>
963 одну из следующих строк (то есть в <em><code>~/.gEDA/gschemrc</code></em> или в
964 <em><code>gschemrc</code></em> в том каталоге, из которого вы запускаете <strong>gschem</strong>).
965 </p>
966 <pre class="code">(print-color &quot;enabled&quot;) ; для вывода цветных PDF
967 (image-color &quot;enabled&quot;) ; для вывода цветных PNG (включено по умолчанию)</pre>
969 </div>
971 <h2 id="каквывестичёрно-белыеpostscriptpng">Как вывести чёрно-белые Postscript/PNG?</h2>
972 <div class="level2">
975 Для вывода чёрно-белого Postscript добавьте в <em><code>gschemrc</code></em> следующее:
976 </p>
977 <pre class="code">(output-color &quot;disabled&quot;) ; монохромный Postscript (включено по умолчанию)</pre>
980 Для вывода чёрно-белых PNG добавьте в <em><code>gschemrc</code></em> следующее:
981 </p>
982 <pre class="code">(image-color &quot;disabled&quot;) ; монохромные PNG</pre>
984 </div>
986 <h2 id="каксделатьpdf">Как сделать PDF?</h2>
987 <div class="level2">
990 Выберите в меню <strong>Файл→Сохранить изображение…</strong> [<strong>File→Write
991 image…</strong>]. Откроется окно записи изображения. Там можно выбрать экспорт в
992 PDF.
993 </p>
996 Или просто запустите:
997 </p>
998 <pre class="code">gaf export --output=foo.pdf bar.sch</pre>
1000 </div>
1002 <h2 id="каквставитьсхемывlatex-документ">Как вставить схемы в LaTeX-документ?</h2>
1003 <div class="level2">
1006 При обычном использовании команды <strong>latex</strong> вам понадобится файл в формате
1007 EPS (Encapsulated PostScript). Для <strong>pdflatex</strong> вам будет нужен файл в
1008 формате PDF. Для создания соответствующего файла нужно выполнить:
1009 </p>
1010 <pre class="code">gaf export --size=auto --output=foo.eps foo.sch</pre>
1013 или:
1014 </p>
1015 <pre class="code">gaf export --size=auto --output=foo.pdf foo.sch</pre>
1018 В преамбулу своего LaTeX-документа нужно добавить
1019 <code>\usepackage{graphicx}</code>. Вставка схемы в документ осуществляется командой
1020 <code>\includegraphics</code>.
1021 </p>
1024 Простой пример:
1025 </p>
1026 <pre class="code latex"><span class="sy0">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cdocumentclass"><span class="kw1">documentclass</span></a><span class="sy0">{</span><span class="re9">article<span class="sy0">}</span>
1027 <span class="sy0">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cusepackage"><span class="kw1">usepackage</span></a><span class="sy0">{</span>graphicx<span class="sy0">}</span>
1028 <span class="re8">\begin</span><span class="sy0">{</span><span class="re7">document</span><span class="sy0">}</span>
1029 <span class="re8">\begin</span><span class="sy0">{</span><span class="re7">figure</span><span class="sy0">}</span>
1030 <span class="sy0">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cincludegraphics"><span class="kw1">includegraphics</span></a><span class="sy0">[</span><span class="re2">width=100mm</span><span class="sy0">]{</span>foo<span class="sy0">}</span>
1031 <span class="re8">\end</span><span class="sy0">{</span><span class="re7">figure</span><span class="sy0">}</span>
1032 <span class="re8">\end</span><span class="sy0">{</span><span class="re7">document</span></span><span class="sy0">}</span></pre>
1034 </div>
1036 <h2 id="какразбитьлистсхемывформатеpostscriptнанесколькостраниц">Как разбить лист схемы в формате Postscript на несколько страниц?</h2>
1037 <div class="level2">
1040 Сама программа <strong>gschem</strong> такой функциональности не предоставляет, но есть
1041 программа <strong>poster</strong>, которая как раз это и делает. Её можно загрузить
1042 отсюда (GNU) или
1043 отсюда (KDE Print).
1044 </p>
1046 </div>
1048 <h1 id="проблемыустановкиработыgschem">Проблемы установки/работы gschem</h1>
1049 <div class="level1">
1051 </div>
1053 <h2 id="послеустановкиgschemнеработаетчтоможетбытьнетак">После установки gschem не работает!? Что может быть не так?</h2>
1054 <div class="level2">
1057 Если вы запускаете <strong>gschem</strong> и получаете окно без панели меню, без цветов,
1058 и при нажатии клавиши программа завершается со следующим сообщением:
1059 </p>
1060 <pre class="code">ERROR: Unbound variable: current-keymap</pre>
1063 или появляется ошибка такого вида:
1064 </p>
1065 <pre class="code">Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL&#039; failed.
1066 Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL&#039; failed.
1067 Tried to get an invalid color: 0
1068 Tried to get an invalid color: 7
1069 Tried to get an invalid color: 0
1070 Tried to get an invalid color: 7</pre>
1073 то <strong>gschem</strong> не находит какого-то rc-файла. Есть два необходимых rc-файла. Первый --- это <em><code>system-gschemrc</code></em>, второй --- <em><code>system-gafrc</code></em>.
1074 </p>
1075 <ul>
1076 <li class="level1"><div class="li"> rc-файл <em><code>system-gschemrc</code></em> должен устанавливаться при установке <strong>gschem</strong> и обычно находится в <em><code>${prefix}/share/gEDA/system-gschemrc</code></em>. <em><code>${prefix}</code></em> --- это каталог установки gEDA (обычно <em><code>/usr</code></em>, <em><code>/usr/local</code></em> или <em><code>$HOME/geda</code></em>). Этот файл может быть также установлен в <em><code>/etc/gEDA</code></em> (так делается в пакетах <em><code>.deb</code></em>).</div>
1077 </li>
1078 <li class="level1"><div class="li"> rc-файл <em><code>system-gafrc</code></em> должен устанавливаться при установке общей библиотеки gEDA/gaf <strong>libgeda</strong>. Он находится в <em><code>${prefix}/share/gEDA/system-gafrc</code></em>. Этот файл может устанавливаться также в <em><code>/etc/gEDA</code></em> (так делается в пакетах <em><code>.deb</code></em>). Непосредственно программой <strong>gschem</strong> этот файл не загружается.</div>
1079 </li>
1080 </ul>
1083 Удостоверьтесь, что эти файлы установлены. Файл <em><code>gschem.log</code></em>
1084 (создаваемый при каждом запуске <strong>gschem</strong>) содержит полезную отладочную
1085 информацию, которая должна помочь вам определить, что идёт не так. Проверьте
1086 этот файл на предмет того, где <strong>gschem</strong> ищет свои rc-файлы.
1087 </p>
1090 Кроме того, в некоторых более старых версиях gEDA/gaf было несколько ошибок,
1091 возникавших при установке rc-файлов в другие места (другие, нежели
1092 <em><code>${prefix}/share/gEDA</code></em>), так что произведите обновление до более
1093 свежей версии.
1094 </p>
1096 </div>
1098 <h2 id="добавитькомпонентнепредлагаетсимволовчтосэтимделать">«Добавить Компонент» не предлагает символов! Что с этим делать?</h2>
1099 <div class="level2">
1102 Убедитесь, что по крайней мере в одном из файлов конфигурации у вас указан действительный путь доступа к библиотеке символов. При запуске <strong>gschem</strong> проверяет следующие файлы конфигурации (в системе Debian):
1103 </p>
1104 <ol>
1105 <li class="level1"><div class="li"> системный файл <em><code>gafrc</code></em> дистрибутива: <em><code>/etc/gEDA/system-gafrc</code></em> (будет перезаписан при обновлении)</div>
1106 </li>
1107 <li class="level1"><div class="li"> локальный системный файл <em><code>gafrc</code></em>: <em><code>/usr/share/gEDA/gafrc.d/gafrc</code></em> (для версий gEDA после лета 2009 г.)</div>
1108 </li>
1109 <li class="level1"><div class="li"> пользовательский файл <em><code>gafrc</code></em>: <em><code>~/.gEDA/gafrc</code></em></div>
1110 </li>
1111 <li class="level1"><div class="li"> локальный файл <em><code>gafrc</code></em>: <em><code>$PWD/gafrc</code></em></div>
1112 </li>
1113 <li class="level1"><div class="li"> системный файл <em><code>gschemrc</code></em>: <em><code>/etc/gEDA/system-gschemrc</code></em></div>
1114 </li>
1115 <li class="level1"><div class="li"> пользовательский файл <em><code>gschemrc</code></em>: <em><code>~/.gEDA/gschemrc</code></em></div>
1116 </li>
1117 <li class="level1"><div class="li"> локальный файл <em><code>gschemrc</code></em>: <em><code>$PWD/gschemrc</code></em></div>
1118 </li>
1119 </ol>
1122 Все эти файлы конфигурации могут добавлять или не добавлять пути к списку поиска библиотек. Если конфигурационный файл содержит команду:
1123 </p>
1124 <pre class="code">(reset-component-library)</pre>
1127 пути поиска библиотек будут очищены. Порядок, само собой, важен, так как эта команда удалит все пути, заданные до её вызова.
1128 </p>
1130 </div>
1132 <h2 id="яиспользуюgschemgafчерезssh-соединениеиполучаюошибкуxlibextensionrendermissingondisplaylocalhost100">Я использую gschem/gaf через SSH-соединение и получаю ошибку:&#039;Xlib: extension &quot;RENDER&quot; missing on display &quot;localhost:10.0&quot;.&#039;</h2>
1133 <div class="level2">
1136 Если вы зайдёте на удалённую машину, сделав:
1137 </p>
1138 <pre class="code">$ ssh -X имя_пользователя@удалённая_машина</pre>
1141 и после этого получите указанное сообщение от Xlib RENDER, то попробуйте
1142 использовать:
1143 </p>
1144 <pre class="code">$ ssh -Y имя_пользователя@удалённая_машина</pre>
1147 Последняя команда разрешает надёжный X11-форвардинг.
1148 </p>
1150 </div>
1151 </body>
1152 </html>