Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 7470e5ba72ba56f1e2ffc81f92c36e65 > files > 52

geda-docs-1.8.2-7.mga7.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title></title>
  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>


<h1 class="sectionedit1356"><a name="general" id="general">General</a></h1>
<div class="level1">

</div>
<!-- EDIT1356 SECTION "General" [1-24] -->
<h2 class="sectionedit1357"><a name="i_found_a_bug_what_can_i_do_about_it" id="i_found_a_bug_what_can_i_do_about_it">I found a bug! What can I do about it?</a></h2>
<div class="level2">
<ol>
<li class="level1"><div class="li"> See if you can reproduce the bug.</div>
</li>
<li class="level1"><div class="li"> Ask on the <a href="http://wiki.geda-project.org/geda:mailinglists" class="urlextern" title="http://wiki.geda-project.org/geda:mailinglists"  rel="nofollow">geda-user mailing list</a> if there is a work around, or has been dealt with in the bleeding edge version of gEDA/gaf. Note, that you must subscribe to the geda-user e-mail list before you can post to this list.</div>
</li>
<li class="level1"><div class="li"> See whether the issue is already in the <a href="https://bugs.launchpad.net/geda" class="urlextern" title="https://bugs.launchpad.net/geda"  rel="nofollow">bug tracking system of geda/gaf</a>. If not, file a bug report. Make sure to give all information necessary to reproduce the bug and add the version of gEDA/gaf that contains the bug.</div>
</li>
<li class="level1"><div class="li"> Finally, as with all open source projects, you may flex your programming muscles and try to fix the bug yourself. Please file a patch of the changes you had to make to the BTS of geda/gaf. The patch will be gladly accepted to improve the next release of gEDA/gaf.</div>
</li>
</ol>

</div>
<!-- EDIT1357 SECTION "I found a bug! What can I do about it?" [25-917] -->
<h1 class="sectionedit1358"><a name="gschem_usage" id="gschem_usage">Gschem usage</a></h1>
<div class="level1">

</div>
<!-- EDIT1358 SECTION "Gschem usage" [918-946] -->
<h2 class="sectionedit1359"><a name="there_is_no_symbol_in_the_chooser_dialog" id="there_is_no_symbol_in_the_chooser_dialog">There is no symbol in the chooser dialog!</a></h2>
<div class="level2">

<p>
The chooser dialog presents a list of captions of the library sections. Click on the right-pointing triangle to the left of caption. This will expand the list. Scroll down to the symbol you want to add to the schematics.
</p>

</div>
<!-- EDIT1359 SECTION "There is no symbol in the chooser dialog!" [947-1223] -->
<h2 class="sectionedit1360"><a name="how_do_i_move_a_component" id="how_do_i_move_a_component">How do I move a component?</a></h2>
<div class="level2">

<p>
In versions equal to or more recent than 20060824, do this:
</p>
<ol>
<li class="level1"><div class="li"> Select the component by clicking it with the left mouse button. The component will highlight.</div>
</li>
<li class="level1"><div class="li"> Drag the component (using the left mouse button) to the place you want it.</div>
</li>
</ol>

<p>
This is probably what you are already used to doing.
</p>

<p>
For folks with older versions of gschem, here are three ways to move components within gschem:
</p>

<p>
One:
</p>
<ol>
<li class="level1"><div class="li"> Grab the component with the middle mouse button. The component will follow the cursor around as you move it.</div>
</li>
<li class="level1"><div class="li"> To place the component, release the middle mouse button. The component will stay where you placed it.</div>
</li>
</ol>

<p>
Two:
</p>
<ol>
<li class="level1"><div class="li"> Select the component by clicking it with the left mouse button. The component will highlight.</div>
</li>
<li class="level1"><div class="li"> Hit the “M” key on the keyboard. The component will now follow the cursor around as you move it.</div>
</li>
<li class="level1"><div class="li"> To place the component, click the left mouse button. The component will stay where you placed it.</div>
</li>
</ol>

<p>
Three:
</p>
<ol>
<li class="level1"><div class="li"> Select the component by clicking it with the left mouse button. The component will highlight.</div>
</li>
<li class="level1"><div class="li"> Click the right mouse button. A pop-up menu will appear.</div>
</li>
<li class="level1"><div class="li"> With the left mouse button, click on the “move” option in the pop-up menu.</div>
</li>
<li class="level1"><div class="li"> Click on the component with the left mouse button. The component will now follow the cursor around as you move it.</div>
</li>
<li class="level1"><div class="li"> To place the component, click the left mouse button. The component will stay where you placed it.</div>
</li>
</ol>

</div>
<!-- EDIT1360 SECTION "How do I move a component?" [1224-2658] -->
<h2 class="sectionedit1361"><a name="how_do_i_move_components_without_dragging_a_tail_of_connected_nets" id="how_do_i_move_components_without_dragging_a_tail_of_connected_nets">How do I move components without dragging a tail of connected nets?</a></h2>
<div class="level2">

<p>
Type [or] to toggle this behaviour. That is, the “o” key followed by the “r” key. The status window will report if the toggle command was performed. The command can also be accessed via the Options menu.
</p>

</div>
<!-- EDIT1361 SECTION "How do I move components without dragging a tail of connected nets?" [2659-2944] -->
<h2 class="sectionedit1362"><a name="how_do_i_change_the_size_of_the_text_on_a_symbol" id="how_do_i_change_the_size_of_the_text_on_a_symbol">How do I change the size of the text on a symbol?</a></h2>
<div class="level2">
<ol>
<li class="level1"><div class="li"> Select the symbol.</div>
</li>
<li class="level1"><div class="li"> Right click → down symbol (or do Hierarchy → down symbol). This takes you to the symbol editor.</div>
</li>
<li class="level1"><div class="li"> Select the pinnumber you want to change.</div>
</li>
<li class="level1"><div class="li"> Do Edit → Edit Text (or type keyboard shortcut “ex”).</div>
</li>
<li class="level1"><div class="li"> Change the font size in the pop-up box.</div>
</li>
<li class="level1"><div class="li"> Repeat for all desired text elements.</div>
</li>
<li class="level1"><div class="li"> File → save</div>
</li>
<li class="level1"><div class="li"> Right click → up (or Hierarchy → Up). Now you are back in the schematic editor.</div>
</li>
<li class="level1"><div class="li"> With the symbol still selected do Edit → Update component (or use the keyboard shortcut “ep”). If this doesn’t work, just delete the symbol and reload it.</div>
</li>
</ol>

<p>
More generally, you can use this procedure to edit anything on a symbol. (Substitute “Edit Text” for your desired edit, of course.)
</p>

</div>
<!-- EDIT1362 SECTION "How do I change the size of the text on a symbol?" [2945-3736] -->
<h2 class="sectionedit1363"><a name="is_it_possible_to_overline_text_in_gschem" id="is_it_possible_to_overline_text_in_gschem">Is it possible to overline text in gschem?</a></h2>
<div class="level2">

<p>
Yes, overbars are possible. A backslash followed by an underscore will start an overlined section of text. A second backslash-underscore combo will return to normal text. Example: Double click on an attribute and type “\_this\_”.
</p>

<p>
Note, on transfer to pcb, there will be no overline on the layout.The backslash is ignored, which leaves an underscore at the edges of the overlined text.
</p>

</div>
<!-- EDIT1363 SECTION "Is it possible to overline text in gschem?" [3737-4178] -->
<h2 class="sectionedit1364"><a name="how_do_i_unlock_a_locked_component" id="how_do_i_unlock_a_locked_component">How do I unlock a locked component</a></h2>
<div class="level2">

<p>
When a component is locked it cannot be selected with the middle mouse button; however it is selectable using a window select. To window select a component, click and hold the left mouse button and drag the mouse to create a rectangular region containing the component to be unlocked. Execute the command <strong><em>Edit</em></strong> <strong>→</strong> <strong><em>unLock</em></strong> to unlock the component.
</p>

</div>
<!-- EDIT1364 SECTION "How do I unlock a locked component" [4179-4593] -->
<h2 class="sectionedit1365"><a name="how_can_i_get_refdes_automatically_numbered_when_i_draw_a_schematic" id="how_can_i_get_refdes_automatically_numbered_when_i_draw_a_schematic">How can I get refdes automatically numbered when I draw a schematic?</a></h2>
<div class="level2">

<p>
Edit the system-gschemrc file or place the following into a gschemrc file (either <strong><code>~/.gEDA/gschemrc</code></strong> or a <strong><code>gschemrc</code></strong> file in the local directory where you invoke gschem):
</p>
<pre class="code">(load (string-append gedadata &quot;/scheme/auto-uref.scm&quot;)) ; load the autonumbering script
(add-hook! add-component-hook auto-uref)       ; autonumber when adding a component
(add-hook! copy-component-hook auto-uref)      ; autonumber when copying a component</pre>

<p>
<strong>Note:</strong> Starting with version 1.2 of gschem the name of the path variable has changed:
</p>
<pre class="code">(load (string-append geda-data-path &quot;/scheme/auto-uref.scm&quot;)) ; load the autonumbering script
(add-hook! add-component-hook auto-uref)       ; autonumber when adding a component
(add-hook! copy-component-hook auto-uref)      ; autonumber when copying a component</pre>

</div>
<!-- EDIT1365 SECTION "How can I get refdes automatically numbered when I draw a schematic?" [4594-5498] -->
<h2 class="sectionedit1366"><a name="what_is_a_bus_and_how_do_i_use_it" id="what_is_a_bus_and_how_do_i_use_it">What is a Bus and how do I use it?</a></h2>
<div class="level2">

<p>
A &#039;bus&#039; is purely decoration.  The netlister ignores it.  The netname= attribute does actual work of connecting points together–this is what gnetlist reads and transforms into your netlist.  It is not possible to connect to a discrete line or &#039;bit&#039; on a bus because, again, the bus is merely a graphical entity.
</p>

<p>
Some users have found it helpful to organize their nets by incorporating a bus name into the net name.   For example “net=busA:1” may be added to each busripper to aid in sorting out the nets.
</p>

</div>
<!-- EDIT1366 SECTION "What is a Bus and how do I use it?" [5499-6054] -->
<h2 class="sectionedit1367"><a name="how_can_i_change_key_bindings_in_gschem" id="how_can_i_change_key_bindings_in_gschem">How can I change Key Bindings in gschem?</a></h2>
<div class="level2">

<p>
Key accels are determined by configuration files read on start-up. The default key bindings are set in the file system-gschemrc. If you want to change them, it is recommended to copy and modify the corresponding keymap section to a local config file ($HOME/.gEDA/gschemrc, or $PWD/gschemrc). The modified section will override the definitions given in system-gschemrc.
</p>

</div>
<!-- EDIT1367 SECTION "How can I change Key Bindings in gschem?" [6055-6477] -->
<h2 class="sectionedit1368"><a name="what_are_the_mouse_bindings_in_gschem" id="what_are_the_mouse_bindings_in_gschem">What are the mouse bindings in gschem?</a></h2>
<div class="level2">

<p>
By default you get:
</p>
<ul>
<li class="level1"><div class="li"> Left mouse button is used for picking and drawing.</div>
</li>
<li class="level1"><div class="li"> Middle mouse button is either move object (just hold down the middle button over an object and move the mouse) or copy object (ALT key held down while holding down the middle button over object and move the mouse).</div>
</li>
<li class="level1"><div class="li"> Right mouse button is a popup menu.</div>
</li>
</ul>

<p>
You can change the middle button by adding the following to a gschemrc file:
</p>
<pre class="code">(middle-button &quot;action&quot;)   ;default binding, move or copy an object</pre>

<p>
or:
</p>
<pre class="code">(middle-button &quot;stroke&quot;)   ;draw mouse gestures/strokes (must install libstroke to enable</pre>

<p>
or:
</p>
<pre class="code">(middle-button &quot;repeat&quot;)   ;repeat the last command executed</pre>

<p>
You can change the right button by adding the following to a gschemrc file:
</p>
<pre class="code">(third-button &quot;popup&quot;)     ;default binding, show a popup menu</pre>

<p>
or:
</p>
<pre class="code">(third-button &quot;mousepan&quot;)  ;use the mouse to pan around the schematic</pre>

<p>
For more information on these options, please see the <code>${install_prefix}/share/gEDA/system-gschemrc</code> file.
</p>

</div>
<!-- EDIT1368 SECTION "What are the mouse bindings in gschem?" [6478-7561] -->
<h2 class="sectionedit1369"><a name="can_gschem_do_hierarchical_designs_with_sub_sheets" id="can_gschem_do_hierarchical_designs_with_sub_sheets">Can gschem do hierarchical designs with sub sheets?</a></h2>
<div class="level2">

<p>
Yes. Sub sheets are represented by special symbols on the top level schematic. You can find an example for a hierarchical design in the doc section of gschem (<code>geda-doc/examples/gTAG/gTAG.sch</code>). Currently, there is no way to automatically build a sub sheet symbol from an actual sub sheet. The sub sheet symbol has to be drawn manually. Any patches or external scripts that get the job done would be greatly appreciated.
</p>

<p>
A <code>source=</code> attribute attached to the sub sheet symbol gives the path to the sub sheet file. The pins of the symbol correspond to ports from top sheet to sub sheet. These ports should correspond to a refdes of a port symbol on the sub sheet. The port symbols in the default library of geda are <code>in-1.sym</code> and <code>out-1.sym</code>. Use the hierarchy menu to navigate within the hierarchy of sub sheets. Alternatively, you can navigate with the page manager. 
</p>

<p>
To convert a hierarchy to a netlist just call gsch2pcb on the top level schematic. By default, net names and refdes&#039;s of components are strictly local to the subsheet. They get the sub sheet symbol refdes as a prefix when inserted into the net list. You can even use multiple instances of a sub sheet symbol without undue short cuts. Whether or not net names and refdes&#039;s are mangled and thus local to the sub sheet can be configured in the config file gnetlistrc. Copy the corresponding lines from <code>system-gnetlistrc</code> to <code>gnetlistrc</code> in the current working directory or to <code>$HOME/.gEDA/gnetlistrc</code>. A convenient configuration is to make nets delivered by power symbols global while ordinary nets remain local to the sub sheet. This can be achieved with “hierarchy-netattrib-mangle” enabled.
</p>

</div>
<!-- EDIT1369 SECTION "Can gschem do hierarchical designs with sub sheets?" [7562-9304] -->
<h2 class="sectionedit1370"><a name="can_gschem_do_a_hierarchy_where_the_top-level_symbol_points_to_a_multi-page_schematic" id="can_gschem_do_a_hierarchy_where_the_top-level_symbol_points_to_a_multi-page_schematic">Can gschem do a hierarchy where the top-level symbol points to a multi-page schematic?</a></h2>
<div class="level2">

<p>
Yes.  Just attach the <code>source=</code> attribute multiple times with different values. Drill down into
the schematic from the symbol, then use [page-up] / [page-down] to navigate through the pages on that level.
</p>

</div>
<!-- EDIT1370 SECTION "Can gschem do a hierarchy where the top-level symbol points to a multi-page schematic?" [9305-9612] -->
<h2 class="sectionedit1371"><a name="can_the_hierarchy_be_setup_in_multiple_directories" id="can_the_hierarchy_be_setup_in_multiple_directories">Can the hierarchy be setup in multiple directories?</a></h2>
<div class="level2">

<p>
Yes. Make sure, the <code>(source-library ”…”)</code> and <code>(component-library ”…”)</code> declarations in your gafrc file list the appropriate paths.
</p>

</div>
<!-- EDIT1371 SECTION "Can the hierarchy be setup in multiple directories?" [9613-9818] -->
<h2 class="sectionedit1372"><a name="how_do_i_declare_a_global_net" id="how_do_i_declare_a_global_net">How do I declare a global net</a></h2>
<div class="level2">

<p>
All netnames are global with regard to the current sheet. Whether or not netnames are global in a hierarchical stack of schematics, depends on the
settings in gnetlistrc. This file can reside in $HOME/.gEDA or locally next to the schematics. Defaults are set in system-gschemrc. Copy the
respective lines to your local gnetlistrc, if you want a different behavior.
</p>

<p>
There is no way to make individual netnames global. However, you can differentiate between netnames granted to nets the
netname attribute and netnames defined by the net attribute. This aims at power symbols, which set their net with the net attribute. That way, you
don&#039;t need to hand the power nets in the sub sheet symbols.
</p>

</div>
<!-- EDIT1372 SECTION "How do I declare a global net" [9819-10554] -->
<h2 class="sectionedit1373"><a name="how_can_options_and_libraries_be_specific_on_subsheet_level" id="how_can_options_and_libraries_be_specific_on_subsheet_level">How can options and libraries be specific on subsheet level?</a></h2>
<div class="level2">

<p>
When opening schematics, libgeda changes directory. So it should load any gafrc in the sub-dirs too, as and when the schematics
are processed.
</p>

</div>
<!-- EDIT1373 SECTION "How can options and libraries be specific on subsheet level?" [10555-10772] -->
<h2 class="sectionedit1374"><a name="are_there_limitations_to_hierarchy_design" id="are_there_limitations_to_hierarchy_design">Are there limitations to hierarchy design?</a></h2>
<div class="level2">

<p>
Although support for subsheets covers many aspects of hierarchical design, there are some limitations:
</p>
<ul>
<li class="level1"><div class="li"> Buses cannot connect into subsheets. </div>
</li>
<li class="level1"><div class="li"> There is no <acronym title="Graphical User Interface">GUI</acronym> way to start subsheets. You need to manually create a separate symbol for each subsheet. </div>
</li>
</ul>

<p>
Feel free to fix these issues. Contributions are welcome.  
</p>

</div>
<!-- EDIT1374 SECTION "Are there limitations to hierarchy design?" [10773-11143] -->
<h2 class="sectionedit1375"><a name="the_log_window_in_gschem_bugs_me" id="the_log_window_in_gschem_bugs_me">The log window in gschem bugs me</a></h2>
<div class="level2">

<p>
gschem&#039;s log window can be persuaded not to appear with this line in a gschemrc:
</p>
<pre class="code">(log-window &quot;later&quot;)</pre>

<p>
You may put the line in $HOME/.gEDA/gschemrc , or in the project directory, or modify the file $INSTALLDIR/share/gEDA/system-gschemrc to make it a system wide default.
</p>

</div>
<!-- EDIT1375 SECTION "The log window in gschem bugs me" [11144-11472] -->
<h1 class="sectionedit1376"><a name="gschem_symbols" id="gschem_symbols">gschem symbols</a></h1>
<div class="level1">

</div>
<!-- EDIT1376 SECTION "gschem symbols" [11473-11504] -->
<h2 class="sectionedit1377"><a name="where_do_i_find_symbols_beyond_the_default_library" id="where_do_i_find_symbols_beyond_the_default_library">Where do I find symbols beyond the default library?</a></h2>
<div class="level2">

<p>
There is a website <a href="http://www.gedasymbols.org/" class="urlextern" title="http://www.gedasymbols.org/"  rel="nofollow">gedasymbols.org</a> dedicated to user contributed resources for gEDA. You can search the site, preview symbols and download them individually. If you have configured your gafrc files accordingly you can put the symbols right next to the schematics file of your project. You might want to build a local library of symbols, so all projects can access the new symbols. See <a href="geda-faq-gschem.html#can_gafrc_use_a_variable_to_set_the_root_of_my_library" class="wikilink1" title="geda-faq-gschem.html">below</a> for the details. 
</p>

<p>
You can even download all user contributed content from gedasymbols. See the instructions on how to
<a href="http://www.gedasymbols.org/cvs.html" class="urlextern" title="http://www.gedasymbols.org/cvs.html"  rel="nofollow">access gedasymbols using CVS</a>.
</p>

</div>
<!-- EDIT1377 SECTION "Where do I find symbols beyond the default library?" [11505-12251] -->
<h2 class="sectionedit1378"><a name="what_s_this_business_about_heavy_vs_light_symbols" id="what_s_this_business_about_heavy_vs_light_symbols">What&#039;s this business about heavy vs. light symbols?</a></h2>
<div class="level2">

<p>
This nomenclature arose from a discussion which frequently appears on the geda-user and geda-dev mailing lists. A light symbol is one which contains very few built-in attributes in the symbol itself. It requires that the user attach almost all attributes at the schematic level (e.g. using either gschem or gattrib). A heavy symbol is one which contains many attributes (such as package footprints, SPICE model names, etc.) built into the symbol file itself. A heavy symbol therefore requires very little attribute attachment at the schematic level – you just place it and you’re done.
</p>

<p>
The debate between proponents of heavy and light symbols is very detailed and involved. Briefly, proponents of heavy symbols believe that they provide better integration between gschem and PCB since the important layout attributes (such as <a href="geda-pcb_tips.html#i_want_to_use_pcb_to_do_layout._how_do_i_know_what_value_to_use_for_the_footprint_attribute" class="wikilink1" title="geda-pcb_tips.html">footprint name</a>) are already built into the symbol. This is considered a good thing for new users (noobs) who just want to design a simple board and don’t appreciate or don’t care about the zillions of variations that even a simple resistor might have (e.g. different footprint, TCR, precision, material composition, etc). Proponents of light symbols prefer to deal with attributes at the schematic level because they believe it to be more flexible. They are quick to point out that a library of heavy symbols will quickly grow into the thousands of parts with grotesquely long names trying to distinguish between the different variations of the part. They also point out that the utility “gattrib” is the preferred tool for dealing with attributes at the schematic level (i.e. in the .sch file).
</p>

<p>
GEDA/gaf, as default configured, uses light symbols, although it can be configured to use heavy symbols. For further information, you may read these discussions from the geda-user mailing list:
</p>

<p>
<a href="http://archives.seul.org/geda/user/Jun-2005/msg00001.html" class="urlextern" title="http://archives.seul.org/geda/user/Jun-2005/msg00001.html"  rel="nofollow">http://archives.seul.org/geda/user/Jun-2005/msg00001.html</a>
</p>

<p>
<a href="http://archives.seul.org/geda/dev/Oct-2005/msg00043.html" class="urlextern" title="http://archives.seul.org/geda/dev/Oct-2005/msg00043.html"  rel="nofollow">http://archives.seul.org/geda/dev/Oct-2005/msg00043.html</a>
</p>

<p>
<a href="http://archives.seul.org/geda/user/Dec-2007/msg00146.html" class="urlextern" title="http://archives.seul.org/geda/user/Dec-2007/msg00146.html"  rel="nofollow">http://archives.seul.org/geda/user/Dec-2007/msg00146.html</a>
</p>

</div>
<!-- EDIT1378 SECTION "What's this business about heavy vs. light symbols?" [12252-14444] -->
<h2 class="sectionedit1379"><a name="i_am_loaded_a_symbol_from_the_library_how_come_it_is_not_aligned_to_the_grid" id="i_am_loaded_a_symbol_from_the_library_how_come_it_is_not_aligned_to_the_grid">I am loaded a symbol from the library.  How come it is not aligned to the grid?</a></h2>
<div class="level2">

<p>
The vast majority of symbols in the library is designed for 100 units grid. Make sure, your grid is set to 100 units. Choose “Snap_Grid_Spacing” in the options menu for a dialog to check and change the grid.
</p>

<p>
The symbols in the symbol library, were contributed by users just like you. Some people use different grid settings than other people (e.g. 50 units rather than 100). If you discover a symbol which seems to be off the grid, try to reduce your grid spacing and move the hot spots of the pins so that they sit on the grid. Then revert to your preferred grid settings. In addition, you may send the corrected symbol to the <a href="http://www.seul.org/cgi-bin/mailman/listinfo/geda-user" class="urlextern" title="http://www.seul.org/cgi-bin/mailman/listinfo/geda-user"  rel="nofollow">mailinglist geda-user</a>
</p>

<p>
The symbols at <a href="http://www.gedasymbols.org" class="urlextern" title="http://www.gedasymbols.org"  rel="nofollow"> gedasymbols.org</a> are even more adapted to the specific preference of their author.   
Yes, the gEDA docs strongly suggest that symbols use 100 units grid spacing.  But everybody likes to do things their own way, and there is no overall symbol dictator to enforce the rules on contributed symbols. That said, the vast majority of symbols out there conform to the recommendation. You just need to be aware of this possibility.
</p>

</div>
<!-- EDIT1379 SECTION "I am loaded a symbol from the library.  How come it is not aligned to the grid?" [14445-15720] -->
<h2 class="sectionedit1380"><a name="is_there_an_explicit_no_connect_symbol_that_i_can_should_place_in_the_schematic_to_prevent_gnetlist_from_thinking_i_ve_forgotten_a_connection" id="is_there_an_explicit_no_connect_symbol_that_i_can_should_place_in_the_schematic_to_prevent_gnetlist_from_thinking_i_ve_forgotten_a_connection">Is there an explicit &quot;no connect&quot; symbol that I can/should place in the schematic to prevent gnetlist from thinking I&#039;ve forgotten a connection?</a></h2>
<div class="level2">

<p>
Answer: misc → nc-left, nc-right, nc-top, nc-bottom.
</p>

<p>
Caution: occasionally this may create a net called “no_connect” (or “NC??”) which may lead to no-connect pins being connected together in gnetlist – which you probably <em class="u">don’t</em> want to happen.
</p>

<p>
If you want an entire symbol to be graphical (no elec. connections) , add a “graphical=1” attribute.  The netlister will ignore these symbols entirely.
</p>

</div>
<!-- EDIT1380 SECTION "Is there an explicit no connect symbol that I can/should place in the schematic to prevent gnetlist from thinking I've forgotten a connection?" [15721-16292] -->
<h2 class="sectionedit1381"><a name="how_do_i_promote_an_invisible_symbol_attribute_into_the_schematic" id="how_do_i_promote_an_invisible_symbol_attribute_into_the_schematic">How do I promote an invisible symbol attribute into the schematic?</a></h2>
<div class="level2">

<p>
Most attributes living in the symbol do not get promoted to the schematic unless they are visible. To promote invisible symbol attributes, look for the following keywords in the system-gafrc file:
</p>
<pre class="code">(attribute-promotion &quot;enabled&quot;);
(promote-invisible &quot;disabled&quot;) ; ⇐ This one
(keep-invisible &quot;enabled&quot;)</pre>

<p>
Add to your gafrc file:
</p>
<pre class="code">(promote-invisible &quot;enabled&quot;)</pre>

<p>
and you will get all the attributes promoted. The “keep-invisible” keyword will keep hidden those attributes that are hidden in the symbol file.
</p>

</div>
<!-- EDIT1381 SECTION "How do I promote an invisible symbol attribute into the schematic?" [16293-16906] -->
<h2 class="sectionedit1382"><a name="what_should_i_do_about_power_pins_on_my_symbolsmake_them_visible_explicit_or_invisible_implicit" id="what_should_i_do_about_power_pins_on_my_symbolsmake_them_visible_explicit_or_invisible_implicit">What should I do about power pins on my symbols: Make them visible (explicit) or invisible (implicit)?</a></h2>
<div class="level2">

<p>
In the past, digital logic circuits often hid the power pin, and attached power nets using an attribute inside the symbol. Modern thought is that this is a bad practice (although religious wars still occasionally rage about this topic).
</p>

<p>
It’s marginally OK for an old logic circuit which is all 5V TTL to have hidden power and GND pins. If you only have +5V on your board, then hiding the power pin can simplify your schematic somewhat. However, few designers design such circuits nowadays; 5V TTL (and 5V CMOS) are rapidly becoming antique technologies.
</p>

<p>
It’s always been unacceptable to hide the power pins on analog chips. First, analog often has multiple power connections (VCC, VEE) which need to be explicitly drawn out. Second, good design practice is to place decoupling caps on each and every power pin. Sometimes one places an inductor in series with power also. Since these should be drawn into the schematic, it is best done by attaching them to an explicit power pin. Therefore, one should never use hidden power pins for analog symbols.
</p>

<p>
New logic circuits often use multiple supplies for different chip sections (OVDD, DVDD, etc). It is also typical to have several logic families on a single board (5V, 3.3V etc.). Therefore, it’s best to explicitly place and wire the power pins on the symbol. Hidden power pins are a recipe for disaster since you can all too easily misconnect a 5V part to a 3.3V power net, for example.
</p>

<p>
To paraphrase Nancy Reagan: Just say “no” to hidden power pins.
</p>

<p>
That said, it may still be useful to detach the power pins from the functional part of the symbol. To do so, define a separate power symbol and give it the same <a href="geda-glossary.html" class="wikilink1" title="geda-glossary.html">refdes</a> as the functional part. A run of gsch2pcb will treat the siblings properly as one single component. As neither gschem nor gsch2pcb explicitly know that the component is only complete with both symbols defined, you have to check yourself. With this workaround, you can draw all power related circuitry in one corner of the schematic where it does not interfere with the signal nets. In many cases this is advantageous with analog circuits.
</p>

</div>
<!-- EDIT1382 SECTION "What should I do about power pins on my symbols: Make them visible (explicit) or invisible (implicit)?" [16907-19162] -->
<h2 class="sectionedit1383"><a name="is_it_possible_to_have_zero_length_pins" id="is_it_possible_to_have_zero_length_pins">Is it possible to have zero length pins?</a></h2>
<div class="level2">

<p>
You can set both ends of the pin to the same coordinate. This will give you a pure red marker without a pin extending from it. Currently, the <acronym title="Graphical User Interface">GUI</acronym> won&#039;t let you draw such a pin.  Append the following line to a symbol file in a file editor:
</p>
<pre class="code">P 100 100 100 100 1 0 0</pre>

<p>
This is a zero size pin at the bottom left of the canvas. You can move it around, attach attributes, or copy it like any other pin. Unattached, it looks like a little red flag, while with a net attached it disappears. Gnetlist has no trouble treating it as a pin.
</p>

</div>
<!-- EDIT1383 SECTION "Is it possible to have zero length pins?" [19163-19757] -->
<h2 class="sectionedit1384"><a name="is_there_a_specification_or_manual_for_creating_gschem_symbols_where_is_it" id="is_there_a_specification_or_manual_for_creating_gschem_symbols_where_is_it">Is there a specification or manual for creating gschem symbols? Where is it?</a></h2>
<div class="level2">

<p>
Yes. It is the <a href="geda-gschem_symbol_creation.html" class="wikilink1" title="geda-gschem_symbol_creation.html">Symbol Creation Guide</a>.
</p>

</div>
<!-- EDIT1384 SECTION "Is there a specification or manual for creating gschem symbols? Where is it?" [19758-19918] -->
<h2 class="sectionedit1385"><a name="is_there_a_symbol_wizard_in_gschem" id="is_there_a_symbol_wizard_in_gschem">Is there a symbol wizard in gschem?</a></h2>
<div class="level2">

<p>
There is no wizard included in the gschem-<acronym title="Graphical User Interface">GUI</acronym>. But there are scripts which automatically create symbols from parameters given in a config file. One of these scripts is <a href="geda-tragesym_readme.html" class="wikilink1" title="geda-tragesym_readme.html">tragesym</a>. It is part of the default installation of geda. A short <a href="geda-tragesym_tutorial.html" class="wikilink1" title="geda-tragesym_tutorial.html">tutorial</a> will get you started with this tool. 
</p>

<p>
One of the major contributors to the project wrote his own symbol creation script: <a href="http://www.gedasymbols.org/user/dj_delorie/tools/djboxsym.html" class="urlextern" title="http://www.gedasymbols.org/user/dj_delorie/tools/djboxsym.html"  rel="nofollow">djboxsym</a>
</p>

<p>
Additionally, there is a tool (ibs2symdef.py) for generating symdef files for use with djboxsym from IBIS models. It is distributed with the PyBIS project: <a href="https://github.com/russdill/pybis/wiki" class="urlextern" title="https://github.com/russdill/pybis/wiki"  rel="nofollow">PyBIS wiki</a>
</p>

</div>
<!-- EDIT1385 SECTION "Is there a symbol wizard in gschem?" [19919-20661] -->
<h2 class="sectionedit1386"><a name="where_can_i_find_information_on_gschem_s_file_format" id="where_can_i_find_information_on_gschem_s_file_format">Where can I find information on gschem&#039;s file format?</a></h2>
<div class="level2">

<p>
Unlike many other EDA software, the format of gschem is strictly human readable <acronym title="American Standard Code for Information Interchange">ASCII</acronym>. This is deliberate, to facilitate scripting. It also allows for quick fixes with the text editor. The format of gschem files is described <a href="geda-file_format_spec.html" class="wikilink1" title="geda-file_format_spec.html">here</a>.
</p>

</div>
<!-- EDIT1386 SECTION "Where can I find information on gschem's file format?" [20662-20980] -->
<h2 class="sectionedit1387"><a name="why_are_symbols_so_big" id="why_are_symbols_so_big">Why are symbols so big?</a></h2>
<div class="level2">

<p>
There is nothing in gschem that defines the absolute size of objects. The only connection to real world units is the file name of the various title blocks. For some long forgotten reason, the frame of the title block symbols named “title-A4.sym”, or “title-B.sym” can contain only relatively simple circuits made of the symbols in the default library. If you&#039;d like to put a frame around more complex circuits just choose a title page symbol that fits. 
</p>

<p>
When printing, gschem scales the output so that everything fits within the desired paper format. This paper format is completely independent of the title page symbol used in the schematic. So there is no need to scale the symbols themselves to make them fit a particular paper size. 
Most people prefer to use title-A2.sym or title-A3.sym when printing to A4 sized paper. Some use title block symbols with no frame at all and draw a rectangle as needed (e.g. <a href="http://www.gedasymbols.org/user/kai_martin_knaak/symbols/titleblock/title-block.sym" class="urlextern" title="http://www.gedasymbols.org/user/kai_martin_knaak/symbols/titleblock/title-block.sym"  rel="nofollow">title-block.sym</a> by Kai-Martin Knaak).
</p>

<p>
That said, there may be circumstances where you actually want scaled symbols. There is a number of options to achieve this:
</p>
<ul>
<li class="level1"><div class="li"> DJ Delorie contributed a <acronym title="Practical Extraction and Report Language">Perl</acronym> script called <a href="http://www.gedasymbols.org/user/dj_delorie/tools/scale-schematic" class="urlextern" title="http://www.gedasymbols.org/user/dj_delorie/tools/scale-schematic"  rel="nofollow">scale-schematic</a> on his pages in <a href="geda-glossary.html" class="wikilink1" title="geda-glossary.html">gedasymbols.org</a>.</div>
</li>
<li class="level1"><div class="li"> Build your own library of symbols. This is not that far off, since many people end-up using exclusively their own symbols anyway.</div>
</li>
<li class="level1"><div class="li"> Wojciech Kazubski maintains a package of small gEDA symbols at <a href="http://www.sp5pbe.waw.pl/~sp5smk/my-gaf-pcb.html" class="urlextern" title="http://www.sp5pbe.waw.pl/~sp5smk/my-gaf-pcb.html"  rel="nofollow">http://www.sp5pbe.waw.pl</a></div>
</li>
</ul>

</div>
<!-- EDIT1387 SECTION "Why are symbols so big?" [20981-22645] -->
<h1 class="sectionedit1388"><a name="gschem_configuration_customization" id="gschem_configuration_customization">Gschem configuration/customization</a></h1>
<div class="level1">

<p>
Gschem is configurable in more ways than can be describe here. Look at “system-gschemrc” for suggestions what else can be done.
</p>

</div>
<!-- EDIT1388 SECTION "Gschem configuration/customization" [22646-22824] -->
<h2 class="sectionedit1389"><a name="how_do_i_configure_my_local_gafrc_to_find_my_local_symbol_directory" id="how_do_i_configure_my_local_gafrc_to_find_my_local_symbol_directory">How do I configure my local gafrc to find my local symbol directory?</a></h2>
<div class="level2">
<ol>
<li class="level1"><div class="li">  Create a project directory, for example ${HOME}/myproj.</div>
</li>
<li class="level1"><div class="li">  Place the symbols you want to use into ${HOME}/myproj/symbols.</div>
</li>
<li class="level1"><div class="li">  Create a gafrc file in ${HOME}/myproj.</div>
</li>
<li class="level1"><div class="li">  In gafrc, put this line:  <pre class="code"> (component-library &quot;./symbols&quot;) </pre>
</div>
</li>
<li class="level1"><div class="li">  Run gschem from your project directory ${HOME}/myproj.  That  is, do this to run gschem:<pre class="code">cd ${HOME}/myproj
gschem myschematic.sch</pre>
</div>
</li>
</ol>

<p>
Points to remember:
</p>
<ul>
<li class="level1"><div class="li"> The guile stuff which processes your RC file doesn&#039;t understand or expand shell wildcards like ”~” or ${HOME}.  It does understand ”.” as the current working directory, and it does understand absolute file paths.  If you want to do something tricky, you can try to  use Scheme functions to get directory information.</div>
</li>
<li class="level1"><div class="li"> Make sure gafrc lives in your main project directory. </div>
</li>
<li class="level1"><div class="li"> Run all gEDA programs from your main project directory. </div>
</li>
<li class="level1"><div class="li"> Run the programs from the command line in a terminal shell – don&#039;t use any whizzy, shiny desktop icons to run gschem (if you have them) since you won&#039;t know what directory gschem is starting in, and gschem might not find gafrc.</div>
</li>
<li class="level1"><div class="li"> The key is: start gschem in the same directory as where your gafrc lives.</div>
</li>
</ul>

</div>
<!-- EDIT1389 SECTION "How do I configure my local gafrc to find my local symbol directory?" [22825-24078] -->
<h2 class="sectionedit1390"><a name="can_gafrc_use_a_variable_to_set_the_root_of_my_library" id="can_gafrc_use_a_variable_to_set_the_root_of_my_library">Can gafrc use a variable to set the root of my library?</a></h2>
<div class="level2">

<p>
Currently (v1.3.1) gschem does not descend into subdirectories of the symbol library. You have to give individually each and every directory of your local lib in your gafrc file. However, you don&#039;t have to repeat the absolute base path over and over. You can use the function &#039;build-path&#039; to concatenate the path on the fly:
</p>
<pre class="code">(define gedasymbols &quot;/path/to/local/library&quot;)
(component-library (build-path gedasymbols &quot;analog&quot;))
(component-library (build-path gedasymbols &quot;block&quot;))
(component-library (build-path gedasymbols &quot;connector&quot;))</pre>

</div>
<!-- EDIT1390 SECTION "Can gafrc use a variable to set the root of my library?" [24079-24695] -->
<h2 class="sectionedit1391"><a name="can_the_library_path_contain_environment_variables" id="can_the_library_path_contain_environment_variables">Can the library path contain environment variables?</a></h2>
<div class="level2">

<p>
Use <code>getenv “ENV”</code> to refer to the environment variable ENV inside the scheme stanzas of gafrc lines:
</p>
<pre class="code">; Define a path to the local repository:
(define symbolspath (build-path (getenv &quot;HOME&quot;) &quot;geda&quot; &quot;symbols&quot;))
; Use the path to point to a specific component-library:
(component-library (build-path symbolspath &quot;analog&quot;))</pre>

<p>
An alternative syntax is <code>${ENV}</code>:
</p>
<pre class="code">(component-library &quot;${HOME}/geda/symbols/analog&quot;)</pre>

</div>
<!-- EDIT1391 SECTION "Can the library path contain environment variables?" [24696-25198] -->
<h2 class="sectionedit1392"><a name="is_there_a_way_to_give_a_library_a_name_that_differs_from_its_directory" id="is_there_a_way_to_give_a_library_a_name_that_differs_from_its_directory">Is there a way to give a library a name that differs from its directory?</a></h2>
<div class="level2">

<p>
Add a third argument to the component-library stanza in gafrc, e.g.:
</p>
<pre class="code">(component-library &quot;/home/comp/sch_symbols/AutoGen/Panasonic/0603/1P&quot; &quot;Panasonic 0603 1P&quot;)</pre>

</div>
<!-- EDIT1392 SECTION "Is there a way to give a library a name that differs from its directory?" [25199-25459] -->
<h2 class="sectionedit1393"><a name="can_my_local_library_cover_frequently_needed_sub_circuits" id="can_my_local_library_cover_frequently_needed_sub_circuits">Can my local library cover frequently needed sub circuits?</a></h2>
<div class="level2">

<p>
Yes, symbols can contain symbols and nets.
</p>
<ol>
<li class="level1"><div class="li"> Copy the subcircuit to a fresh sheet. (unlock and remove the default title block as you won&#039;t need it)</div>
</li>
<li class="level1"><div class="li"> The values of refdes attributes should end with ”?”, to allow to auto number them later. </div>
</li>
<li class="level1"><div class="li"> Move the sub circuit to the lower left of the available space. (You can use symbol-translate from the edit menu)</div>
</li>
<li class="level1"><div class="li"> Save the sub circuit as a *.sym file in your local library. </div>
</li>
<li class="level1"><div class="li"> Choose “Include component as individual objects” when  selecting this complex symbol for your actual schematic. The whole sub circuit will be pasted to your sheet. Be sure to switch back to the default mode for inclusion of ordinary symbols. </div>
</li>
</ol>

</div>
<!-- EDIT1393 SECTION "Can my local library cover frequently needed sub circuits?" [25460-26205] -->
<h2 class="sectionedit1394"><a name="the_library_window_is_cluttered_with_default_symbols_can_i_restrict_to_my_local_lib" id="the_library_window_is_cluttered_with_default_symbols_can_i_restrict_to_my_local_lib">The library window is cluttered with default symbols. Can I restrict to my local lib?</a></h2>
<div class="level2">

<p>
Put a localized version of the following lines in a gafrc.
</p>
<pre class="code">; empty the library path and populate it with local paths
(reset-component-library)
(component-library &quot;/foo/localgedalib1&quot;)
(component-library &quot;/bar/foo/localgedalib2&quot;)</pre>

<p>
You have to add each and every dir of your local library. Subdirs are not automatically recognized by gschem and gsch2pcb. Its a good idea to place this gafrc in your projects dir. That way, if you start gschem from some other place, you still get the system symbols shown. This also allows to configure special symbol libs for specific projects.
</p>

</div>
<!-- EDIT1394 SECTION "The library window is cluttered with default symbols. Can I restrict to my local lib?" [26206-26896] -->
<h2 class="sectionedit1395"><a name="how_can_i_change_the_default_size_of_floating_text" id="how_can_i_change_the_default_size_of_floating_text">How can I change the default size of floating text?</a></h2>
<div class="level2">

<p>
Put 
</p>
<pre class="code">(text-size 10)</pre>

<p>
into your gschemrc and replace “10” with your favorite size.
</p>

</div>
<!-- EDIT1395 SECTION "How can I change the default size of floating text?" [26897-27059] -->
<h2 class="sectionedit1396"><a name="can_i_have_light_background_color_please" id="can_i_have_light_background_color_please">Can I have light background color, please?</a></h2>
<div class="level2">

<p>
Put this line in a gschemrc file at a place where gschem looks at start-up:
</p>
<pre class="code">(load (build-path geda-rc-path &quot;gschem-colormap-lightbg&quot;))</pre>

<p>
Note, this syntax is valid for recent versions of gschem (&gt;=2009). Older versions need a line like 
</p>
<pre class="code">(load (build-path geda-rc-path &quot;gschem-lightbg&quot;)) </pre>

<p>
Even older versions before 1.2 needed this line:
</p>
<pre class="code">(load (string-append gedadatarc &quot;/gschem-lightbg&quot;)) </pre>

</div>
<!-- EDIT1396 SECTION "Can I have light background color, please?" [27060-27545] -->
<h2 class="sectionedit1397"><a name="how_can_i_tweak_colors_in_gschem" id="how_can_i_tweak_colors_in_gschem">How can I tweak colors in gschem?</a></h2>
<div class="level2">

<p>
Currently, there is no <acronym title="Graphical User Interface">GUI</acronym> to tweak the colors of gschem interactively. However, you can set them in a RC file.
</p>
<ol>
<li class="level1"><div class="li"> Copy the file <code>gschem-colormap-lightbg</code> or <code>gschem-colormap-darkbg</code> to <code>$HOME/.gEDA/mycolors</code>.</div>
</li>
<li class="level1"><div class="li"> Edit the settings in <code>.gEDA/mycolors</code> to please your taste.</div>
</li>
<li class="level1"><div class="li"> Add this line to your <code>gschemrc</code>:</div>
</li>
</ol>
<pre class="code">(load (build-path (getenv &quot;HOME&quot;) &quot;.gEDA&quot; &quot;mycolors&quot;))</pre>

</div>
<!-- EDIT1397 SECTION "How can I tweak colors in gschem?" [27546-27984] -->
<h2 class="sectionedit1398"><a name="each_time_i_start_gschem_the_log_message_window_is_shown_can_i_disable_it" id="each_time_i_start_gschem_the_log_message_window_is_shown_can_i_disable_it">Each time I start gschem, the log message window is shown. Can I disable it?</a></h2>
<div class="level2">

<p>
In the system-gschemrc file, you will find the following section:
</p>
<pre class="code">; log-window string
;
; Controls if the log message window is mapped when gschem is started up
; Possible options:
;       startup - opened up when gschem starts
;       later   - NOT opened up when gschem starts
;                 (can be opened by Options/Show Log Window)
;
(log-window &quot;startup&quot;)
;(log-window &quot;later&quot;)</pre>

<p>
Comment out the <strong><code>startup</code></strong> line (with a ;) and comment in the <strong><code>later</code></strong> line, or add the following line to your gschemrc file:
</p>
<pre class="code">(log-window &quot;later&quot;)</pre>

<p>
If you want to see the logging messages on stdout instead of the log window, put this line in your gschemrc file:
</p>
<pre class="code">(logging-destination &quot;tty&quot;)</pre>

</div>
<!-- EDIT1398 SECTION "Each time I start gschem, the log message window is shown. Can I disable it?" [27985-28802] -->
<h2 class="sectionedit1399"><a name="is_there_a_way_to_disable_logging_to_home_geda_logs" id="is_there_a_way_to_disable_logging_to_home_geda_logs">Is there a way to disable logging to $HOME/.gEDA/logs/ ?</a></h2>
<div class="level2">

<p>
Put this line in your gschemrc file:
</p>
<pre class="code">(logging &quot;disabled&quot;)</pre>

</div>
<!-- EDIT1399 SECTION "Is there a way to disable logging to $HOME/.gEDA/logs/ ?" [28803-28943] -->
<h2 class="sectionedit1400"><a name="can_i_get_a_customized_title_block_with_new_schematics" id="can_i_get_a_customized_title_block_with_new_schematics">Can I get a customized title block with new schematics?</a></h2>
<div class="level2">

<p>
Put the following line into your gschemrc file:
</p>
<pre class="code">(define default-titleblock &quot;title-A3.sym&quot;)</pre>

<p>
Replace “title-A3.sym” with the file name of your favorite title block symbol. 
</p>

</div>
<!-- EDIT1400 SECTION "Can I get a customized title block with new schematics?" [28944-29196] -->
<h1 class="sectionedit1401"><a name="printing_output" id="printing_output">Printing/Output</a></h1>
<div class="level1">

</div>
<!-- EDIT1401 SECTION "Printing/Output" [29197-29227] -->
<h2 class="sectionedit1402"><a name="how_do_i_print_schematics_from_the_command_line" id="how_do_i_print_schematics_from_the_command_line">How do I print schematics from the command line?</a></h2>
<div class="level2">

<p>
Running the script <strong><code>print.scm</code></strong> will create the Postscript file that is specified on the command line.
</p>

<p>
The command line below creates a Postscript file from a schematic file (replace MY_SCH with the name of your schematic and GEDA_SCHEME_DIR with the name of the directory where your gEDA scheme files are installed):
</p>
<pre class="code">gschem -p -oMY_SCH.ps -sGEDA_SCHEME_DIR/print.scm MY_SCH.sch</pre>

<p>
The <code>bash</code> script below, which I name <strong><code>gschem-print</code></strong>, creates a Postscript file for each schematic file that is specified on the command line and then outputs each Postscript file to the default printer:
</p>
<pre class="code">#!/bin/bash

# gschem options
# -oPS_FILENAME output to Postscript file PS_FILENAME
# -sSCRIPT_FILENAME run script SCRIPT_FILENAME
# -p autoplace windows

for name in $*
do
    base=&quot;${name%.*}&quot;
    gschem -p -o$base.ps -sGEDA_SCHEME_DIR/print.scm $base.sch
    lpr -P$PRINTER $base.ps
done</pre>

<p>
The default printing size is used when printing from the command line. To set the default printing size to A4 add
</p>
<pre class="code">(paper-size 11.69 8.27) ; A4</pre>

<p>
to your <code>gschemrc</code> in <code>$(HOME)/.gEDA</code> (or in the local directory <code>gschemrc</code>). The full list of paper-size options can be found in <code>system-gschemrc</code>.
</p>

</div>
<!-- EDIT1402 SECTION "How do I print schematics from the command line?" [29228-30519] -->
<h2 class="sectionedit1403"><a name="how_can_i_get_color_postscript_png_output" id="how_can_i_get_color_postscript_png_output">How can I get color postscript/PNG output?</a></h2>
<div class="level2">

<p>
Edit the <strong><code>system-gschemrc</code></strong> file or place the following into a <strong><code>gschemrc</code></strong> file (either <strong><code>~/.gEDA/gschemrc</code></strong> or a <strong><code>gschemrc</code></strong> file in the local directory where you invoke gschem):
</p>
<pre class="code">(output-color &quot;enabled&quot;)      ; for color postscript output
(image-color &quot;enabled&quot;)       ; for color PNG output (enabled by default)</pre>

<p>
To control the background of the PS output, change the following line in either gschem-darkbg (for the default black colored background) or gschem-lightbg (for the alternative light colored background):
</p>
<pre class="code">(output-color-background 16 &quot;black&quot; &quot;null&quot; &quot;0 0 0&quot; 0 0 0)</pre>

<p>
The “0 0 0” is the RGB components (between 0..1) for the background color of the PS output.
</p>

<p>
To control the background of the <acronym title="Portable Network Graphics">PNG</acronym> output, change the following line in either gschem-darkbg (for the default black colored background) or gschem-lightbg (for the alternative light colored background):
</p>
<pre class="code">(background-color 0 &quot;grey94&quot; &quot;null&quot; &quot;1 1 1&quot; 255 255 255)</pre>

<p>
The 255 255 255 are the RGB components for the background color of the <acronym title="Portable Network Graphics">PNG</acronym> image.
</p>

<p>
From version 1.5.2 onwards, print and display color maps are separate. In order to get postscript output with a light background, add the following to your gschemrc:
</p>
<pre class="code">(load (build-path geda-rc-path &quot;print-colormap-lightbg&quot;))</pre>

</div>
<!-- EDIT1403 SECTION "How can I get color postscript/PNG output?" [30520-31890] -->
<h2 class="sectionedit1404"><a name="how_can_i_get_black_and_white_postscript_png_output" id="how_can_i_get_black_and_white_postscript_png_output">How can I get black and white postscript/PNG output?</a></h2>
<div class="level2">

<p>
For black and white PS output, place the following into a gschemrc file:
</p>
<pre class="code">(output-color &quot;disabled&quot;)      ; for monochrome postscript output</pre>

<p>
For black and white <acronym title="Portable Network Graphics">PNG</acronym> images, place the following into a gschemrc file:
</p>
<pre class="code">(image-color &quot;disabled&quot;)       ; for monochrome PNG output</pre>

</div>
<!-- EDIT1404 SECTION "How can I get black and white postscript/PNG output?" [31891-32255] -->
<h2 class="sectionedit1405"><a name="how_can_i_produce_pdf_output" id="how_can_i_produce_pdf_output">How can I produce PDF output?</a></h2>
<div class="level2">

<p>
There are different ways to produce <acronym title="Portable Document Format">PDF</acronym> in gschem:
</p>
<ol>
<li class="level1"><div class="li"> Print to file as Postscript and externally convert to <acronym title="Portable Document Format">PDF</acronym>. The utility ps2pdf needs the option -sPAPERSIZE=a4</div>
</li>
<li class="level1"><div class="li"> Use a <acronym title="Portable Document Format">PDF</acronym>-Printer installed on the system.</div>
</li>
</ol>

<p>
The second option is more convenient, but needs a little more administration.
</p>

<p>
In a gnome environment a prerequisite to make this work is the package cups-pdf. A <acronym title="Portable Document Format">PDF</acronym> printer called “CUPS-<acronym title="Portable Document Format">PDF</acronym>-Printer” should be configured as a “Local Printer” via the usual CUPS interface. Choose Manufacturer “Generic”, model “CUPS-<acronym title="Portable Document Format">PDF</acronym>-Printer”.
Add this line to the local gschemrc to make the lp print command default in gschem:
</p>
<pre class="code">(print-command &quot;lp -d CUPS-PDF-Printer&quot;)</pre>

<p>
The resulting <acronym title="Portable Document Format">PDF</acronym> will go to $HOME/<acronym title="Portable Document Format">PDF</acronym> by default. 
</p>

<p>
In a KDE environment the print command is “kprinter” with the output option set to <acronym title="Portable Document Format">PDF</acronym> is the way to go. So you need to add this line to the local gschemrc:
</p>
<pre class="code">(print-command &quot;kprinter&quot;)</pre>

</div>
<!-- EDIT1405 SECTION "How can I produce PDF output?" [32256-33228] -->
<h2 class="sectionedit1406"><a name="how_can_i_insert_schematics_into_my_latex_document" id="how_can_i_insert_schematics_into_my_latex_document">How can I insert schematics into my LaTeX document?</a></h2>
<div class="level2">
<ol>
<li class="level1"><div class="li"> Print the schematic to a file. This will be generic postscript (*.ps).</div>
</li>
<li class="level1"><div class="li"> Convert the postscript file to epsi with the tool ps2epsi. This is a script from the ghostscript suite.</div>
</li>
<li class="level1"><div class="li"> Include usepackage{graphicx} to the preamble of your latex document. Use the command <strong>includegraphics</strong> to place your schematic.</div>
</li>
</ol>

<p>
A simple example:
</p>
<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><span class="sy0">}</span>
<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><span class="re9">graphicx</span><span class="sy0">}</span>
<span class="re8">\begin</span><span class="sy0">{</span><span class="re9"><span class="re7">document</span></span><span class="sy0">}</span>
  <span class="re8">\begin</span><span class="sy0">{</span><span class="re9"><span class="re7">figure</span></span><span class="sy0">}</span>
  <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><span class="re9">ModulPID.epsi</span><span class="sy0">}</span>
  <span class="re8">\end</span><span class="sy0">{</span><span class="re9"><span class="re7">figure</span></span><span class="sy0">}</span>
<span class="re8">\end</span><span class="sy0">{</span><span class="re9"><span class="re7">document</span></span><span class="sy0">}</span></pre>

</div>
<!-- EDIT1406 SECTION "How can I insert schematics into my LaTeX document?" [33229-33804] -->
<h2 class="sectionedit1407"><a name="how_can_i_split_postscript_output_over_multiple_pages" id="how_can_i_split_postscript_output_over_multiple_pages">How can I split Postscript output over multiple pages?</a></h2>
<div class="level2">

<p>
gschem does not provide this functionality internally, however there is a program called “poster” which does exactly this. It can be downloaded from either <a href="http://www.gnu.org/directory/poster.html" class="urlextern" title="http://www.gnu.org/directory/poster.html"  rel="nofollow">here</a> (GNU) or <a href="http://printing.kde.org/downloads/" class="urlextern" title="http://printing.kde.org/downloads/"  rel="nofollow">here</a> (KDE Print).
</p>

</div>
<!-- EDIT1407 SECTION "How can I split Postscript output over multiple pages?" [33805-34148] -->
<h1 class="sectionedit1408"><a name="gschem_installation_run-time_problems" id="gschem_installation_run-time_problems">Gschem installation/run-time problems</a></h1>
<div class="level1">

</div>
<!-- EDIT1408 SECTION "Gschem installation/run-time problems" [34149-34201] -->
<h2 class="sectionedit1409"><a name="gschem_segfaults_when_i_delete_components_on_fc5_and_other_linux_distributions_is_there_a_work-around" id="gschem_segfaults_when_i_delete_components_on_fc5_and_other_linux_distributions_is_there_a_work-around">Gschem segfaults when I delete components on FC5 (and other Linux distributions)! Is there a work-around?</a></h2>
<div class="level2">

<p>
This bug emerged in mid 2006 for users of Fedora Core 5 (and other linux distributions that use glib 2.10.x). The bug has been fixed by the developers; the latest versions of gEDA/gaf (i.e. Oct 2006 and beyond) shouldn&#039;t have this problem. 
</p>

<p>
If you happen to have an older version of gEDA/gaf, you can work around this bug by setting the environment variable G_SLICE to “always-malloc”.   Specifically, before you run gschem, do this:
</p>

<p>
bash:
</p>
<pre class="code">export G_SLICE=always-malloc</pre>

<p>
csh:
</p>
<pre class="code">setenv G_SLICE always-malloc</pre>

</div>
<!-- EDIT1409 SECTION "Gschem segfaults when I delete components on FC5 (and other Linux distributions)! Is there a work-around?" [34202-34856] -->
<h2 class="sectionedit1410"><a name="after_installation_gschem_does_not_work_what_could_be_wrong" id="after_installation_gschem_does_not_work_what_could_be_wrong">After installation gschem does not work!? What could be wrong?</a></h2>
<div class="level2">

<p>
If you run gschem and you get a window without a menu bar, no colors, and the program terminates when you press a key with the following message:
</p>
<pre class="code">ERROR: Unbound variable: current-keymap</pre>

<p>
Or you get errors like this:
</p>
<pre class="code">Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
Tried to get an invalid color: 0
Tried to get an invalid color: 7
Tried to get an invalid color: 0
Tried to get an invalid color: 7</pre>

<p>
then gschem is not finding an rc file. There are two required rc files. The first is <strong><code>system-gschemrc</code></strong> and the second is <strong><code>system-commonrc</code></strong>.
</p>
<ul>
<li class="level1"><div class="li"> The system-gschemrc rc file should be installed when you install gschem and typically resides in <strong><code>${prefix}/share/gEDA/system-gschemrc</code></strong>. <strong><code>${prefix}</code></strong> is where you installed gschem (usually <strong><code>/usr</code></strong> or <strong><code>/usr/local</code></strong> or <strong><code>$HOME/geda</code></strong>). This file can also be installed in /etc/gEDA (the .debs packages do this).</div>
</li>
<li class="level1"><div class="li"> The system-commonrc rc file should be installed when you install the symbol library for gEDA/gaf. It resides in <strong><code>${prefix}/share/gEDA/system-commonrc</code></strong>. This file can also be installed in <strong><code>/etc/gEDA</code></strong> (the .debs packages do this). This file is not loaded directly by gschem. It is loaded by a “(load …)” in the system-gschemrc rc file.</div>
</li>
</ul>

<p>
Make sure these file are installed. The gschem.log file (which is created everytime you run gschem) holds valuable debugging information which should help in determining what is wrong. Check this file for where gschem is looking for the rc files.
</p>

<p>
Also, some older releases of gEDA/gaf had some bugs when the rc files were installed in other locations (other that <strong><code>${prefix}/share/gEDA</code></strong>), so please upgrade to a more current release.
</p>

</div>
<!-- EDIT1410 SECTION "After installation gschem does not work!? What could be wrong?" [34857-36781] -->
<h2 class="sectionedit1411"><a name="add_components_offers_no_symbols_what_can_i_do_about_it" id="add_components_offers_no_symbols_what_can_i_do_about_it">&quot;Add Components&quot; offers no symbols! What can I do about it?</a></h2>
<div class="level2">

<p>
Make sure that at least one of your config files contains a valid path to a symbol library. At startup, gschem checks for the following config files (on a Debian system):
</p>
<ol>
<li class="level1"><div class="li"> distributed system-wide gafrc file: <code>/etc/gEDA/system-gafrc</code> (will be overwritten on update)</div>
</li>
<li class="level1"><div class="li"> local system-wide gafrc file <code>/usr/share/gEDA/gafrc.d/gafrc</code> (with geda versions after summer 2009)</div>
</li>
<li class="level1"><div class="li"> user gafrc file: <code>~/.gEDA/gafrc</code></div>
</li>
<li class="level1"><div class="li"> local gafrc file: <code>$PWD/gafrc</code></div>
</li>
<li class="level1"><div class="li"> system gschemrc file: <code>/etc/gEDA/system-gschemrc</code></div>
</li>
<li class="level1"><div class="li"> user gschemrc file: <code>~/.gEDA/gschemrc</code></div>
</li>
<li class="level1"><div class="li"> local gschemrc file: <code>$PWD/gschemrc</code></div>
</li>
</ol>

<p>
All of these config files may or may not append paths to the library search list. If a config file contains the command
</p>
<pre class="code">(reset-component-library)</pre>

<p>
the library search path will be emptied. Order is obviously important, as this command will erase any previously appended paths.  
</p>

</div>
<!-- EDIT1411 SECTION "Add Components offers no symbols! What can I do about it?" [36782-37740] -->
<h2 class="sectionedit1412"><a name="i_m_using_gschem_gaf_through_a_ssh_connection_and_i_get_an_error_likexlibextension_render_missing_on_display_localhost100" id="i_m_using_gschem_gaf_through_a_ssh_connection_and_i_get_an_error_likexlibextension_render_missing_on_display_localhost100">I&#039;m using gschem/gaf through a SSH connection and I get an error like: &#039;Xlib: extension &quot;RENDER&quot; missing on display &quot;localhost:10.0&quot;.&#039;</a></h2>
<div class="level2">

<p>
If you are getting into the remote machine by doing:
</p>
<pre class="code">$ ssh -X your_username@your_remote_machine</pre>

<p>
and afterwards you get the Xlib RENDER message, then try using:
</p>
<pre class="code">$ ssh -Y your_username@your_remote_machine</pre>

<p>
The latter enables trusted X11 forwarding.
</p>

</div>
<!-- EDIT1412 SECTION "I'm using gschem/gaf through a SSH connection and I get an error like: 'Xlib: extension RENDER missing on display localhost:10.0.'" [37741-] --></body>
</html>