Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 917b12189aa1c35ab526605d1d1ac12b > files > 221

geda-docs-1.4.3-1mdv2010.0.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
 lang="en" dir="ltr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>geda:gschem_ug</title>
<meta name="generator" content="DokuWiki Release rc2007-05-24" />
<meta name="robots" content="index,follow" />
<meta name="date" content="2007-07-14T16:56:40-0400" />
<meta name="keywords" content="geda,gschem_ug" />
<link rel="search" type="application/opensearchdescription+xml" href="http://geda.seul.org/wiki/lib/exe/opensearch.php" title="geda Wiki" />
<link rel="start" href="http://geda.seul.org/wiki/" />
<link rel="contents" href="http://geda.seul.org/wiki/geda:gschem_ug?do=index" title="Index" />
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="http://geda.seul.org/wiki/feed.php" />
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="http://geda.seul.org/wiki/feed.php?mode=list&ns=geda" />
<link rel="alternate" type="text/html" title="Plain HTML" href="http://geda.seul.org/wiki/_export/xhtml/geda:gschem_ug" />
<link rel="alternate" type="text/plain" title="Wiki Markup" href="http://geda.seul.org/wiki/_export/raw/geda:gschem_ug" />
<link rel="stylesheet" media="all" type="text/css" href="lib/exe/css" />
<link rel="stylesheet" media="screen" type="text/css" href="lib/exe/001css" />
<link rel="stylesheet" media="print" type="text/css" href="lib/exe/002css" />
</head>
<body>
<div class="dokuwiki export">
<div class="toc">
<div class="tocheader toctoggle" id="toc__header">Table of Contents</div>
<div id="toc__inside">

<ul class="toc">
<li class="level1"><div class="li"><span class="li"><a href="#geda_gschem_user_guide" class="toc">gEDA gschem User Guide</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#about_this_document" class="toc">About this document ...</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#introduction" class="toc">Introduction</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#overview" class="toc">Overview</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#resources" class="toc">Resources</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#how_to_ask_questions" class="toc">How To Ask Questions</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#installing_gschem" class="toc">Installing gschem</a></span></div>
<ul class="toc">
<li class="level2"><div class="li"><span class="li"><a href="#latest_stable" class="toc">Latest Stable</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#geda_tools_suite_cd-rom" class="toc">&quot;gEDA Tools Suite&quot; CD-ROM</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#debian_distributions" class="toc">Debian distributions</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#fedora_and_redhat_distributions" class="toc">Fedora and RedHat distributions</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#suse_and_opensuse_distributions" class="toc">SuSE and OpenSuSE distributions</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#mac_osx_distributions" class="toc">Mac OSX distributions</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#cvs_unstable_testing" class="toc">CVS Unstable/Testing</a></span></div></li>
</ul>
</li>
<li class="level1"><div class="li"><span class="li"><a href="#configuring_gschem" class="toc">Configuring gschem</a></span></div>
<ul class="toc">
<li class="level2"><div class="li"><span class="li"><a href="#gschemrc" class="toc">gschemrc</a></span></div></li>
<li class="level2"><div class="li"><span class="li"><a href="#gafrc" class="toc">gafrc</a></span></div></li>
</ul>
</li>
<li class="level1"><div class="li"><span class="li"><a href="#running_gschem" class="toc">Running gschem</a></span></div>
<ul class="toc">
<li class="level2"><div class="li"><span class="li"><a href="#confirming_gschem_is_installed" class="toc">Confirming gschem is installed</a></span></div></li>
<li class="level2"><div class="li"><span class="li"><a href="#the_shell_prompt" class="toc">The Shell Prompt</a></span></div></li>
<li class="level2"><div class="li"><span class="li"><a href="#backups" class="toc">Backups</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#classic_linux_backups" class="toc">Classic Linux backups</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#incremental_backups" class="toc">Incremental backups</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#relevant_configuration_settings" class="toc">Relevant configuration settings</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#on-line_documentation" class="toc">On-line documentation</a></span></div></li>
</ul>
</li>
<li class="level1"><div class="li"><span class="li"><a href="#electrical_connectivity" class="toc">Electrical Connectivity</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#components_symbols_objects_attributes" class="toc">Components &amp; Symbols &amp; Objects &amp; Attributes</a></span></div>
<ul class="toc">
<li class="level2"><div class="li"><span class="li"><a href="#components" class="toc">Components</a></span></div></li>
<li class="level2"><div class="li"><span class="li"><a href="#symbols" class="toc">Symbols</a></span></div></li>
<li class="level2"><div class="li"><span class="li"><a href="#objects" class="toc">Objects</a></span></div></li>
<li class="level2"><div class="li"><span class="li"><a href="#attributes" class="toc">Attributes</a></span></div></li>
</ul>
</li>
<li class="level1"><div class="li"><span class="li"><a href="#the_main_window" class="toc">The Main Window</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#the_status_window" class="toc">The Status Window</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#the_schematic_file" class="toc">The Schematic File</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#the_symbol_file" class="toc">The Symbol File</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#symbol_libraries" class="toc">Symbol Libraries</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#the_log_file" class="toc">The Log File</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#grips" class="toc">Grips</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#menu_operations" class="toc">Menu Operations</a></span></div>
<ul class="toc">
<li class="level2"><div class="li"><span class="li"><a href="#file" class="toc">File</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#new_window_fw" class="toc">New Window (fw)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#new_page_fn" class="toc">New Page (fn)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#open_page..._fo" class="toc">Open Page... (fo)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#close_page_pc" class="toc">Close Page (pc)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#revert_page_pr" class="toc">Revert Page (pr)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#save_page_fs" class="toc">Save Page (fs)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#save_page_as..._fa" class="toc">Save Page As... (fa)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#save_all_fl_fl" class="toc">Save All (fl) (fl)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#print..._fp" class="toc">Print... (fp)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#write_png..._fi" class="toc">Write PNG... (fi)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#execute_script..._ft" class="toc">Execute Script... (ft)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#close_window_fc" class="toc">Close Window (fc)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#quit_alt-q" class="toc">Quit (Alt-q)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#edit" class="toc">Edit</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#undo_shift-u" class="toc">Undo (shift-u)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#redo_shift-r" class="toc">Redo (shift-r)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#select_mode_s" class="toc">Select Mode (s)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#edit..._ee" class="toc">Edit... (ee)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#edit_text..._ex" class="toc">Edit Text... (ex)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#copy_mode_ec" class="toc">Copy Mode (ec)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#move_mode_em" class="toc">Move Mode (em)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#delete_delete-key" class="toc">Delete (Delete-key)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#rotate_90_mode_er" class="toc">Rotate 90 Mode (er)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#mirror_mode_ei" class="toc">Mirror Mode (ei)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#slot..._e_shift-s" class="toc">Slot... (e shift-s)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#color..._eo" class="toc">Color... (eo)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#lock_el_unlock_e_shift-l" class="toc">Lock (el) / Unlock (e shift-l)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#line_width_type..._ew" class="toc">Line Width &amp; Type... (ew)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#fill_type..._ef" class="toc">Fill Type... (ef)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#symbol_translate..._et" class="toc">Symbol Translate... (et)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#embed_component_picture_eb" class="toc">Embed Component/Picture (eb)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#unembed_component_picture_eu" class="toc">Unembed Component/Picture (eu)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#update_component_ep" class="toc">Update Component (ep)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#show_hide_inv_text_en" class="toc">Show/Hide Inv Text (en)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#make_inv_text_vis_ev" class="toc">Make Inv Text Vis (ev)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#buffer" class="toc">Buffer</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#copy_into_1_2_3_4_5_yc" class="toc">Copy into 1/2/3/4/5 (yc)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#cut_into_1_2_3_4_5_yu" class="toc">Cut into 1/2/3/4/5 (yu)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#paste_from_1_2_3_4_5_yp" class="toc">Paste from 1/2/3/4/5 (yp)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#view" class="toc">View</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#redraw_vr" class="toc">Redraw (vr)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#pan_x" class="toc">Pan (x)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#zoom_box_w" class="toc">Zoom Box (w)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#zoom_extents_ve" class="toc">Zoom Extents (ve)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#zoom_in_z" class="toc">Zoom In (z)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#zoom_out_z" class="toc">Zoom Out (Z)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#zoom_full_vf" class="toc">Zoom Full (vf)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#page" class="toc">Page</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#manager..._pm" class="toc">Manager... (pm)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#next" class="toc">Next (&gt;)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#previous" class="toc">Previous (&lt;)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#new_pe" class="toc">New (pe)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#revert_pr" class="toc">Revert (pr)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#close_pc" class="toc">Close (pc)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#discard_pd" class="toc">Discard (pd)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#add" class="toc">Add</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#component..._i" class="toc">Component... (i)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#net_n" class="toc">Net (n)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#bus_u" class="toc">Bus (u)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#attribute..._aa" class="toc">Attribute... (aa)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#text..._at" class="toc">Text... (at)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#line_l" class="toc">Line (l)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#box_b" class="toc">Box (b)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#circle_ai" class="toc">Circle (ai)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#arc_ar" class="toc">Arc (ar)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#pin_ap" class="toc">Pin (ap)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#picture..._ag" class="toc">Picture... (ag)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#hierarchy" class="toc">Hierarchy</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#down_schematic_hd" class="toc">Down Schematic (Hd)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#down_symbol_hs" class="toc">Down Symbol (Hs)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#up_hu" class="toc">Up (Hu)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#documentation_ho" class="toc">Documentation (Ho)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#attributes1" class="toc">Attributes</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#attach_ta" class="toc">Attach (ta)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#detach_td" class="toc">Detach (td)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#show_value_tv" class="toc">Show Value (tv)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#show_name_tn" class="toc">Show Name (tn)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#show_both_tb" class="toc">Show Both (tb)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#toggle_visibility_tt" class="toc">Toggle Visibility (tt)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#find_specific_text..._t_shift-f" class="toc">Find Specific Text... (t shift-f)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#hide_specific_text..._th" class="toc">Hide Specific Text... (th)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#show_specific_text..._t_shift-h" class="toc">Show Specific Text... (t shift-h)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#autonumber_text..._tu" class="toc">Autonumber Text... (tu)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#options" class="toc">Options</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#text_size..._ot" class="toc">Text Size... (ot)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#toggle_grid_on_off_og" class="toc">Toggle Grid On/Off (og)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#toggle_snap_on_off_os" class="toc">Toggle Snap On/Off (os)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#snap_grid_spacing..._os" class="toc">Snap Grid Spacing... (oS)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#toggle_outline_box_oa" class="toc">Toggle Outline/Box (oa)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#toggle_net_rubberband_or" class="toc">Toggle Net/Rubberband (or)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#show_log_window_ol" class="toc">Show Log Window (ol)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#show_coord_window..._oc" class="toc">Show Coord Window... (oc)</a></span></div></li>
</ul>
</li>
<li class="level2"><div class="li"><span class="li"><a href="#help" class="toc">Help</a></span></div>
<ul class="toc">
<li class="level3"><div class="li"><span class="li"><a href="#about..._ha" class="toc">About... (ha)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#manual..._hm" class="toc">Manual... (hm)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#hotkeys..._hh" class="toc">Hotkeys... (hh)</a></span></div></li>
<li class="level3"><div class="li"><span class="li"><a href="#component..._ho" class="toc">Component... (Ho)</a></span></div></li>
</ul>
</li>
</ul>
</li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_a_--_heavy_vs_light_symbol_libraries" class="toc">Appendix A -- Heavy vs Light Symbol Libraries</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_b_--_printing_schematics_and_symbols" class="toc">Appendix B -- Printing Schematics and Symbols</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_c_--_writing_guile_scripts" class="toc">Appendix C -- Writing guile Scripts</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_d_--_i_want_to_build_a_printed_circuit_board" class="toc">Appendix D -- I Want To Build A Printed Circuit Board</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_e_--_i_want_to_simulate_my_design" class="toc">Appendix E -- I Want To Simulate My Design</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_f_--_change_gschemdoc_user-defined_preferences" class="toc">Appendix F -- Change gschemdoc User-Defined Preferences</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_g_--_breaking_a_large_symbol_into_smaller_symbols" class="toc">Appendix G -- Breaking a Large Symbol Into Smaller Symbols</a></span></div></li>
<li class="level1"><div class="li"><span class="li"><a href="#appendix_h_--_definition_of_terms" class="toc">Appendix H -- Definition of Terms</a></span></div></li></ul>
</div>
</div>



<h1><a name="geda_gschem_user_guide" id="geda_gschem_user_guide">gEDA gschem User Guide</a></h1>
<div class="level1">

<p>
by: Ales Hvezda / September 21st, 2003
</p>

<p>
The latest version of this document may be found at: <a href="http://geda.seul.org/wiki/geda:gschem_ug" class="urlextern" title="http://geda.seul.org/wiki/geda:gschem_ug"  rel="nofollow">http://geda.seul.org/wiki/geda:gschem_ug</a>
</p>

<p>
This document is released under the <a href="geda_gfdl.html" class="wikilink1" title="geda:gfdl">GNU Free Documentation License (GFDL)</a>.
</p>

<p>
 Please report any errors/inconsistencies in this document by commenting in the Discussion area at the bottom of the associated page.
</p>

</div>
<!-- SECTION "gEDA gschem User Guide" [1-397] -->
<h1><a name="about_this_document" id="about_this_document">About this document ...</a></h1>
<div class="level1">

<p>
gEDA gschem Users Guide
</p>

<p>
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)
</p>

<p>
Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds. Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.
</p>

<p>
The command line arguments were: latex2html -local_icons gschem
</p>

<p>
The translation was initiated by Ales Hvezda on 2005-08-20
</p>

</div>
<!-- SECTION "About this document ..." [398-871] -->
<h1><a name="introduction" id="introduction">Introduction</a></h1>
<div class="level1">

<p>
This document describes the installation, configuration, and operation of the <strong>gschem</strong> application.<br/>
 This document does not describe the process of generating schematics. For this, refer to the various tutorials on using the gEDA Tool Suite:
</p>
<ul>
<li class="level1"><div class="li"> <a href="http://geda.seul.org/wiki/geda:gschem_warmup" class="wikilink1" title="geda:gschem_warmup">Bill Wilson&#039;s gschem warmup</a></div>
</li>
<li class="level1"><div class="li"> <a href="http://geda.seul.org/wiki/geda:gsch2pcb_tutorial" class="wikilink1" title="geda:gsch2pcb_tutorial">Bill Wilson&#039;s gsch2pcb tutorial</a></div>
</li>
<li class="level1"><div class="li"> “Optical Proximity Sensor for Robots (Part 1), Simple PCB Design with the gEDA Suite”, by Stuart Brorson (March 2006 Circuit Cellar article)</div>
</li>
<li class="level1"><div class="li"> <a href="http://www-mdp.eng.cam.ac.uk/urop05/files/gedalib/starting_gEDA.pdf" class="urlextern" title="http://www-mdp.eng.cam.ac.uk/urop05/files/gedalib/starting_gEDA.pdf"  rel="nofollow">Starting with gEDA at the Cambridge University Engineering Department</a></div>
</li>
<li class="level1"><div class="li"> <a href="http://www.brorson.com/gEDA/SPICE/t1.html" class="urlextern" title="http://www.brorson.com/gEDA/SPICE/t1.html"  rel="nofollow">&quot;Circuit simulation using gEDA and SPICE -- HOWTO&quot; by Stuart Brorson</a></div>
</li>
<li class="level1"><div class="li"> <a href="http://www.circuitcellar.com/magazine/176toc.htm" class="urlextern" title="http://www.circuitcellar.com/magazine/176toc.htm"  rel="nofollow">&quot;gEDA Design Suite for Linux&quot; by Stuart Brorson, Ales Hvezda, &amp; Dan McMahill (03 Mar 2005 Circuit Cellar article)</a></div>
</li>
<li class="level1"><div class="li"> <a href="http://www.linuxjournal.com/article/8438" class="urlextern" title="http://www.linuxjournal.com/article/8438"  rel="nofollow">&quot;Circuit Design on Your Linux Box Using gEDA&quot; by Stuart Brorson (29 November 2005 Linux Journal article)</a></div>
</li>
<li class="level1"><div class="li"> Optical Proximity Sensor for Robots (Part 1): Simple PCB Design with the gEDA Suite, by Stuart Brorson, Circuit Cellar magazine, March 2006 (Issue 188), p. 48</div>
</li>
<li class="level1"><div class="li"> And, of course, <a href="http://www.google.com/search?hl=en&lr=&q=gEDA+%22schematic+capture%22+tutorial&btnG=Search" class="urlextern" title="http://www.google.com/search?hl=en&amp;lr=&amp;q=gEDA+%22schematic+capture%22+tutorial&amp;btnG=Search"  rel="nofollow">Google is your friend</a>.</div>
</li>
</ul>

<p>
 This document assumes you understand basic schematic capture concepts. For example: that a component represents something and that nets and buses interconnect these components to form a schematic, etc&hellip; For a basic understanding of the various work-flows available in the gEDA Tool Suite, please read the above tutorials. For more detailed understanding of specific tool issues, please refer to <a href="docs_20060124_gschem_ug_how_to_ask_questions.html" class="wikilink2" title="docs:20060124:gschem_ug:how_to_ask_questions">How To Ask Questions</a> and to the <a href="docs_20060124_gschem_ug_resources.html" class="wikilink2" title="docs:20060124:gschem_ug:resources">Resources</a>.
</p>

</div>
<!-- SECTION "Introduction" [872-2794] -->
<h1><a name="overview" id="overview">Overview</a></h1>
<div class="level1">

<p>
<strong>gschem</strong> is the schematic capture program in the gEDA Tool Suite. Its purpose is to facilitate the graphical input of:
</p>
<ul>
<li class="level1"><div class="li"> circuit schematics</div>
</li>
<li class="level1"><div class="li"> component symbols</div>
</li>
<li class="level1"><div class="li"> block diagrams</div>
</li>
</ul>

<p>
 Once <strong>gschem</strong> has been used to enter the symbols/schematics for your design, several gEDA Tool Suite “utility” programs are used to extract information for other purposes:
</p>
<ul>
<li class="level1"><div class="li"> <strong>gattrib</strong> &ndash; <strong>gattrib</strong> is a gEDA Tool Suite productivity aid. <strong>gattrib</strong> reads a [hierarchical set of] gschem schematic files and creates a spreadsheet showing all components in rows, with the associated component attributes listed in the columns. It allows the user to add, modify, or delete component attributes outside of <strong>gschem</strong>, and then save the .sch files.</div>
</li>
<li class="level1"><div class="li"> <strong>gnetlist</strong> &ndash; A tool that converts a [hierarchical set of] schematic files into an equivalent netlist (a textual representation of a schematic) in various formats. Various gnetlist back-ends are used to create:</div>
<ul>
<li class="level2"><div class="li"> Bill of Materials (BOM) files.</div>
</li>
<li class="level2"><div class="li"> Design Rule Checks (DRCs).</div>
</li>
<li class="level2"><div class="li"> Netlist files for use as input to various printed circuit board layout programs (e.g., Allegro, PADS, <strong>pcb</strong> (part of the gEDA Tool Suite), Protell, Tango, RACAL-REDAC, etc.).</div>
</li>
<li class="level2"><div class="li"> Files for input to SPICE simulation programs.</div>
</li>
<li class="level2"><div class="li"> VHDL code.</div>
</li>
<li class="level2"><div class="li"> Verilog code.</div>
</li>
<li class="level2"><div class="li"> etc.</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <strong>grenum</strong> &ndash; <strong>grenum</strong> is a gEDA Tool Suite productivity aid that will renumber the reference designators (i.e., refdes) in a [hierarchical set of] schematic files.</div>
</li>
<li class="level1"><div class="li"> <strong>gsch2pcb</strong> &ndash; The prefered method to create a netlist for the <strong>pcb</strong> printed circuit board layout tool (part of the gEDA Tool Suite).</div>
</li>
<li class="level1"><div class="li"> <strong>gspiceui</strong> &ndash; GNU Spice <acronym title="Graphical User Interface">GUI</acronym> (i.e., <strong>gspiceui</strong>) provides a <acronym title="Graphical User Interface">GUI</acronym> for freely available Spice electronic cicuit simulation engines (e.g., <strong>gnucap</strong> and <strong>ngspice</strong>). It uses <strong>gnetlist</strong> (to convert schematic files to net list files) and <strong>gwave</strong> (to display simulation results). gSchem is the preferred schematic capture tool.</div>
</li>
<li class="level1"><div class="li"> <strong>gsymcheck</strong> &ndash; A checker for symbols created with gEDA Tool Suite (e.g., <strong>gschem</strong>, <strong>tragesym</strong>, etc.).</div>
</li>
<li class="level1"><div class="li"> <strong>pcb</strong> &ndash; A tool for the layout of printed circuit boards.</div>
</li>
<li class="level1"><div class="li"> <strong>refdes_renum</strong> &ndash; Reads a [hierarchical set of] <strong>gschem</strong> schematic files and renumbers all reference designators. The reference designators are numbered starting with 1 and the old schematic file is replaced by the modified schematic file.</div>
</li>
<li class="level1"><div class="li"> <strong>tragesym</strong> &ndash; A python script that creates geda symbols from structured textfiles. The symbols usually need to be “cleaned up” in gschem.</div>
</li>
</ul>
<table class="inline">
	<tr>
		<td> <a href="_detail/geda_gschem_workflow_01.html" class="media" title="geda:gschem_workflow_01.jpg"><img src="_media/geda_gschem_workflow_01.jpg" class="media" title="gschem_workflow_01.jpg" alt="gschem_workflow_01.jpg" /></a> </td>
	</tr>
</table>

</div>
<!-- SECTION "Overview" [2795-5375] -->
<h1><a name="resources" id="resources">Resources</a></h1>
<div class="level1">

<p>
The following on-line resources are useful for designers using <strong>gschem</strong>:
</p>
<ul>
<li class="level1"><div class="li"> <a href="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/gschem-warmup.html" class="urlextern" title="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/gschem-warmup.html"  rel="nofollow">Bill Wilson&#039;s gschem warmup tutorial</a> &ndash; If you are new to the gEDA tools, read this before you read Bill’s “Bill Wilson’s gsch2pcb tutorial”.</div>
</li>
<li class="level1"><div class="li"> <a href="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/tutorial.html" class="urlextern" title="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/tutorial.html"  rel="nofollow">Bill Wilson&#039;s gsch2pcb tutorial</a> &ndash; If you are new to the gEDA tools, this tutorial will bring you up to speed quickly.</div>
</li>
<li class="level1"><div class="li"> <a href="http://www.circuitcellar.com/" class="urlextern" title="http://www.circuitcellar.com/"  rel="nofollow">Circuit Cellar Magazine</a> &ndash; Practical, hands-on applications and solutions for embedded designers:</div>
<ul>
<li class="level2"><div class="li"> gEDA Design Suite for Linux, by Stuart Brorson, Ales Hvezda, &amp; Dan McMahill, Circuit Cellar magazine, March 2005 (Issue 176), p. 12</div>
</li>
<li class="level2"><div class="li"> Optical Proximity Sensor for Robots (Part 1): Simple PCB Design with the gEDA Suite, by Stuart Brorson, Circuit Cellar magazine, March 2006 (Issue 188), p. 48</div>
</li>
<li class="level2"><div class="li"> Optical Proximity Sensor for Robots (Part 2): Open-Source PCB Layout Editor, by Stuart Borson, Circuit Cellar magazine, April 2006 (Issue 189), p. 40</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <a href="http://www.geda.seul.org/index.html" class="urlextern" title="http://www.geda.seul.org/index.html"  rel="nofollow">gEDA Project home page</a> &ndash; The homepage for the gEDA Tools Suite. A rather mature site, includes (but not limited to):</div>
<ul>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/news/index.html" class="urlextern" title="http://www.geda.seul.org/news/index.html"  rel="nofollow">News</a> &ndash; from 2002</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/screenshots/index.html" class="urlextern" title="http://www.geda.seul.org/screenshots/index.html"  rel="nofollow">Screenshots</a> &ndash; <strong>gschem</strong> in action</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/tools/index.html" class="urlextern" title="http://www.geda.seul.org/tools/index.html"  rel="nofollow">Tools</a> &ndash; links to project homepages</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/download.html" class="urlextern" title="http://www.geda.seul.org/download.html"  rel="nofollow">Download</a> &ndash; <acronym title="International Organization for Standardization">ISO</acronym> images, binaries, and sources</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/mailinglist/index.html" class="urlextern" title="http://www.geda.seul.org/mailinglist/index.html"  rel="nofollow">Lists</a> &ndash; e-mail list subscription and archives</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/docs/index.html" class="urlextern" title="http://www.geda.seul.org/docs/index.html"  rel="nofollow">Docs</a> &ndash; current gEDA/gaf documentation (not gEDA Tools Suite documentation), wiki, slide presentations</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/developer.html" class="urlextern" title="http://www.geda.seul.org/developer.html"  rel="nofollow">Devel</a> &ndash; nonymous <acronym title="Concurrent Versions System">CVS</acronym> access</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/search.html" class="urlextern" title="http://www.geda.seul.org/search.html"  rel="nofollow">Search</a> &ndash; by Google</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.geda.seul.org/links.html" class="urlextern" title="http://www.geda.seul.org/links.html"  rel="nofollow">Links</a> &ndash; links associated with gEDA, projects developed using gEDA Tools Suite, gEDA-related press</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <a href="http://sourceforge.net/tracker/?group_id=161080&atid=818426" class="urlextern" title="http://sourceforge.net/tracker/?group_id=161080&amp;atid=818426"  rel="nofollow">gEDA Bug Tracker</a> &ndash; On SourceForge</div>
</li>
<li class="level1"><div class="li"> <a href="http://geda.seul.org/dokuwiki/doku.php?id=geda" class="urlextern" title="http://geda.seul.org/dokuwiki/doku.php?id=geda"  rel="nofollow">gEDA Project&#039;s Wiki</a> &ndash; All things related to the gEDA Tools Suite.</div>
</li>
<li class="level1"><div class="li"> <a href="http://www.gedasymbols.org/" class="urlextern" title="http://www.gedasymbols.org"  rel="nofollow">gedasymbols.org</a> &ndash; On-line repository of user-developed symbols for <strong>gschem</strong>, SPICE models, and footprints for <strong>pcb</strong>.</div>
</li>
<li class="level1"><div class="li"> John C. Luciani’s proposed <a href="http://www.luciani.org/geda/pcb/footprint-name-spec.pdf" class="urlextern" title="http://www.luciani.org/geda/pcb/footprint-name-spec.pdf"  rel="nofollow">Land Pattern Naming Convention</a> &ndash; Footprint naming conventions document, used by him, and often used by those submitting to the <a href="http://www.gedasymbols.org/" class="urlextern" title="http://www.gedasymbols.org"  rel="nofollow">gedasymbols.org</a> symbols/footprint repository.</div>
</li>
<li class="level1"><div class="li"> John C. Luciani’s <a href="http://geda.seul.org/shared/HomePages/dhart/index.html" class="urlextern" title="file:///shared/HomePages/dhart/index.html"  rel="nofollow">PCB Footprints Library</a> &ndash; A rather inclusive collection of non-<acronym title="GNU General Public License">GPL</acronym> licensed footprints and the scripts used to create them.</div>
</li>
<li class="level1"><div class="li"> <a href="http://www.opencollector.org/" class="urlextern" title="http://www.opencollector.org/"  rel="nofollow">OpenCollector</a> carries listings and news for free EDA software and circuit designs. Open Collector supports gEDA.</div>
</li>
<li class="level1"><div class="li"> <a href="http://alternatezone.com/electronics/files/PCBDesignTutorialRevA.pdf" class="urlextern" title="http://alternatezone.com/electronics/files/PCBDesignTutorialRevA.pdf"  rel="nofollow">PCB Design Tutorial; RevA</a> &ndash; Document describing the process of taking a schematic to a pcb. Excellent for the beginner.</div>
</li>
<li class="level1"><div class="li"> <a href="http://pcblibraries.com/" class="urlextern" title="http://pcblibraries.com/"  rel="nofollow">PCB Libraries website</a> &ndash; Advocates of the IPC standard Land Pattern (a.k.a., footprint) Naming Conventions and Land Pattern Calculators. A useful site if you have the money to subscribe to the services.</div>
<ul>
<li class="level2"><div class="li"> The free (windows-based) <a href="http://landpatterns.ipc.org/default.asp" class="urlextern" title="http://landpatterns.ipc.org/default.asp"  rel="nofollow">IPC-7351 Land Pattern Viewer</a> is a very useful tool for viewing the latest IPC footprints.</div>
</li>
<li class="level2"><div class="li"> <a href="http://www.pcblibraries.com/resources/LibDoc.asp" class="urlextern" title="http://www.pcblibraries.com/resources/LibDoc.asp"  rel="nofollow">CAD Data Files to be used with PCB Libraries&#039; IPC-7351A LP Programs</a> &ndash; please note the license restrictions.</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <a href="http://www-mdp.eng.cam.ac.uk/urop05/files/gedalib/starting_gEDA.pdf" class="urlextern" title="http://www-mdp.eng.cam.ac.uk/urop05/files/gedalib/starting_gEDA.pdf"  rel="nofollow">Starting with gEDA at the Cambridge University Engineering Department</a> &ndash; The Cambridge University Engineering Department’s tutorial for using gEDA.</div>
</li>
<li class="level1"><div class="li"> <a href="http://www.brorson.com/gEDA/" class="urlextern" title="http://www.brorson.com/gEDA/"  rel="nofollow">Stuart Brorson&#039;s gEDA tools and tips</a> &ndash; gEDA related tools and information.</div>
</li>
</ul>

</div>
<!-- SECTION "Resources" [5376-9677] -->
<h1><a name="how_to_ask_questions" id="how_to_ask_questions">How To Ask Questions</a></h1>
<div class="level1">

<p>
<strong>gschem</strong> is an OpenSource, community driven, development. As such, the emphasis has been on developing the gEDA Tools Suite, not on developing commercial-level documentation and support. Much of the burden on learning how to use the gEDA Tools Suite applications is placed on the user, who must understand the basics of electronics, Electronics Design Automation (EDA), and the terminology used in schematic capture, circuit simulation, and printed circuit board design.<br/>
 As a typical OpenSource development, the gEDA Tools Suite development community provides timely and insightful response to user inquiries, but please perform the following steps before bothering the developers (they need to focus on making gEDA Tools Suite applications better, and you can actually learn to answer your own questions and become independent of the developers):
</p>
<ol>
<li class="level1"><div class="li"> Read Rick Moen’s <a href="http://www.catb.org/~esr/faqs/smart-questions.html" class="urlextern" title="http://www.catb.org/~esr/faqs/smart-questions.html"  rel="nofollow">How To Ask Questions The Smart Way</a>, about how to ask for help. This is a must read for everybody.</div>
</li>
<li class="level1"><div class="li"> Read this document. I know, it’s a lot to expect engineers to actually read a user’s guide. The latest version of this document is maintained on the gEDA web-site at <a href="http://geda.seul.org/wiki/geda:gschem_ug" class="urlextern" title="http://geda.seul.org/wiki/geda:gschem_ug"  rel="nofollow">gschem User Guide</a>. The information should be here. If it isn’t, comment to the fact in one of the on-line document’s “Discussion” areas (at the bottom of each wiki-page). Helpful comments are clear, to the point, and may even contain the wording that should be inserted into the document.</div>
</li>
<li class="level1"><div class="li"> Read the <a href="http://geda.seul.org/dokuwiki/doku.php?id=geda:faq-gschem" class="urlextern" title="http://geda.seul.org/dokuwiki/doku.php?id=geda:faq-gschem"  rel="nofollow">gschem Frequently Asked Questions (FAQ)</a> wiki-page. This on-line document is updated often to reflect user and developer experiences with <strong>gschem</strong>.</div>
</li>
<li class="level1"><div class="li"> Read the <a href="http://www.geda.seul.org/docs/current/index.html" class="urlextern" title="http://www.geda.seul.org/docs/current/index.html"  rel="nofollow">gEDA/gaf Documentation</a>. This information was installed on your computer if the gEDA Tools Suite was installed from the gEDA Tools Suite CD-ROM.</div>
</li>
<li class="level1"><div class="li"> <a href="http://www.google.com/" class="urlextern" title="http://www.google.com"  rel="nofollow">Google</a> is your friend. People that have asked questions that obviously didn’t do any simple Google search will not be treated well when asking for help. This is particularly true if your problem is not unique to the gEDA Tools Suite applications.</div>
</li>
<li class="level1"><div class="li"> Ask for a pointer to the right direction. It is considered good “net etiquette” to ask for a pointer to information, so that you can learn where such information can be found, rather than have someone search the information for you.</div>
</li>
<li class="level1"><div class="li"> If you are software literate, look at the source code to see what it is doing.</div>
</li>
<li class="level1"><div class="li"> Subscribe to the gEDA e-mail lists (i.e., you can only post to the e-mail lists if you are a subscriber). Then:</div>
<ol>
<li class="level2"><div class="li"> Start reading recent messages in the <a href="http://archives.seul.org/geda/user/" class="urlextern" title="http://archives.seul.org/geda/user/"  rel="nofollow">geda-user e-mail list archives</a>. Get a feel for the list’s ettiquite so that you learn how to properly ask questions.</div>
</li>
<li class="level2"><div class="li"> Search the archives for issues similar to yours. You may find the question has been asked of the developers and users before, and answered.</div>
</li>
<li class="level2"><div class="li"> In the event that you can find no information concerning your problem, submit a concise description of the problem and a request for the type of help you are requesting.</div>
</li>
</ol>
</li>
</ol>

</div>
<!-- SECTION "How To Ask Questions" [9678-12915] -->
<h1><a name="installing_gschem" id="installing_gschem">Installing gschem</a></h1>
<div class="level1">

<p>
As a mature OpenSource project, the gEDA Tools Suite and its components have been installed on many Linux distributions. The following are by no means the only methods of installing the gEDA Tools Suite and/or its components.
</p>

</div>
<!-- SECTION "Installing gschem" [12916-13174] -->
<h2><a name="latest_stable" id="latest_stable">Latest Stable</a></h2>
<div class="level2">

<p>
<strong>gschem</strong> is a component of the gEDA/gaf set of tools which tend to integrate together in the development and maintenance of schematics and symbols. The term “gaf” stands for “<em class="u">g</em>EDA <em class="u">a</em>nd <em class="u">f</em>riends”). The gEDA/gaf applications are actually rather stable, and receive significant testing prior to release.<br/>
 There are multiple methods of installing <strong>gschem</strong>. The appropriate method depends on your distribution. See the following for some examples.
</p>

</div>
<!-- SECTION "Latest Stable" [13175-13659] -->
<h3><a name="geda_tools_suite_cd-rom" id="geda_tools_suite_cd-rom">&quot;gEDA Tools Suite&quot; CD-ROM</a></h3>
<div class="level3">

<p>
The recommended method is installation from the “gEDA Tools Suite” CD-ROM, gratefully prepared by Stuart Brorson. The latest version of this CD-ROM is available on-line for free download as an <acronym title="International Organization for Standardization">ISO</acronym> image from the <a href="http://www.geda.seul.org/download.html" class="urlextern" title="http://www.geda.seul.org/download.html"  rel="nofollow">gEDA Downloads</a> web-page. Simply burn this <acronym title="International Organization for Standardization">ISO</acronym> image to a CD-ROM using your favorite CD burning software (e.g., K3b, &hellip;). Insert the CD-ROM, and if your computer supports autodetection of the CD-ROM, the built-in installation wizzard will launch. This wizzard will first check if your computer has some required software (informing you if you don’t and optionally installing these if you want), then build all of the “gEDA Tool Suite” applications (including <strong>gschem</strong>) from source. The whole process can take 2 hours on a slower computer.
</p>

<p>
If the installation wizzard did not launch, enter as follows to install the gEDA Tool Suite for access by all users on this computer (i.e., when prompted for the installation directory, enter something like: “/usr/local/gEDA-20060124”): <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0"><strong>sudo sh /media/cdrecorder/installer &ndash;log &ndash;verbose</strong></font></pre>
</p>

<p>
The above command requires superuser permissions configured for the user invoking the command. If you do not have the proper permissions to execute this command, ask your administrator to install the gEDA Tool Suite for you.
</p>

<p>
If the installation wizzard did not launch, enter as follows to install the gEDA Tool Suite for access by just the user doing the installation(i.e., when prompted for the installation directory, accept the default &quot;/home/{login id}/geda-install”): <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0"><strong>sh /media/cdrecorder/installer &ndash;log &ndash;verbose</strong></font></pre>
</p>

</div>
<!-- SECTION "gEDA Tools Suite CD-ROM" [13660-15346] -->
<h3><a name="debian_distributions" id="debian_distributions">Debian distributions</a></h3>
<div class="level3">

<p>
For Debian distributions, you may wish to download the <a href="http://www.geda.seul.org/download.html" class="urlextern" title="http://www.geda.seul.org/download.html"  rel="nofollow">latest DEB binaries</a> prepared by Hamish Moffatt. These are not always current with the latest “gEDA Tools Suite” <acronym title="International Organization for Standardization">ISO</acronym> image above, and do not include many of the other tools available on the “gEDA Tools Suite” <acronym title="International Organization for Standardization">ISO</acronym> image. Nevertheless, the binary packages provide a hassle free way to install the core of geda. 
</p>

</div>
<!-- SECTION "Debian distributions" [15347-15783] -->
<h3><a name="fedora_and_redhat_distributions" id="fedora_and_redhat_distributions">Fedora and RedHat distributions</a></h3>
<div class="level3">

<p>
For RedHat distributions you may wish to download the <a href="http://www.sp5pbe.waw.pl/~sp5smk/software.html" class="urlextern" title="http://www.sp5pbe.waw.pl/~sp5smk/software.html"  rel="nofollow"> RPM binaries</a> prepared by Wojciech Kazubski.
</p>

<p>
Since Fedora Core 5, major parts of gEDA are available from <a href="http://fedoraproject.org/" class="urlextern" title="http://fedoraproject.org/"  rel="nofollow"> the Fedora Project</a>.
</p>

<p>
For more information, read the <a href="geda_fedora_rpm_installation.html" class="wikilink1" title="geda:fedora_rpm_installation"> fedora rpm installation notes</a>.
</p>

</div>
<!-- SECTION "Fedora and RedHat distributions" [15784-16188] -->
<h3><a name="suse_and_opensuse_distributions" id="suse_and_opensuse_distributions">SuSE and OpenSuSE distributions</a></h3>
<div class="level3">

<p>
For SuSE and OpenSuSE distributions there are rpm packages for several gEDA related programms. They’ve been prepared by Werner Hoch using the OpenSuSE Build Service.
</p>

<p>
You can install the rpm packages with YaST, yum or any other installation tool. The packages are located at <a href="ftp://ftp-1.gwdg.de/pub/opensuse/repositories/home%3A/werner2101/" class="urlextern" title="ftp://ftp-1.gwdg.de/pub/opensuse/repositories/home%3A/werner2101/"  rel="nofollow">ftp://ftp-1.gwdg.de/pub/opensuse/repositories/home%3A/werner2101/</a>.
</p>

<p>
For more informations read the <a href="geda_suse_rpm_installation.html" class="wikilink1" title="geda:suse_rpm_installation"> SuSE rpm installation notes</a>.
</p>

</div>
<!-- SECTION "SuSE and OpenSuSE distributions" [16189-16671] -->
<h3><a name="mac_osx_distributions" id="mac_osx_distributions">Mac OSX distributions</a></h3>
<div class="level3">

<p>
For Mac OSX distributions you may wish to download the <a href="http://www.geda.seul.org/download.html" class="urlextern" title="http://www.geda.seul.org/download.html"  rel="nofollow">latest Fink binaries</a> prepared by Charles Lepple.
</p>

</div>
<!-- SECTION "Mac OSX distributions" [16672-16851] -->
<h2><a name="cvs_unstable_testing" id="cvs_unstable_testing">CVS Unstable/Testing</a></h2>
<div class="level2">

<p>
For those already familiar with the gEDA/gaf applications on the “gEDA Tools Suite” CD-ROM, access to the <acronym title="Concurrent Versions System">CVS</acronym> repository is available. This is the latest developer source-code version of the application.<br/>
 Installation from <acronym title="Concurrent Versions System">CVS</acronym> is appropriate for those:
</p>
<ul>
<li class="level1"><div class="li"> Seeking a solution to a specific problem that was submitted to the development team, to test the “fix” so that the developers can be informed that the “fix” works.</div>
</li>
<li class="level1"><div class="li"> With significant working knowledge of the “gEDA Tools Suite” and industry expertise, wishing to test the latest version of the application(s) prior to the next release. This usually requires access to several existing designs known to work in the current stable release of the “gEDA Tools Suite” <acronym title="International Organization for Standardization">ISO</acronym> image, so that comparisons can be made and issues brought to the attention of the developer/user community (via the e-mail lists).</div>
</li>
</ul>

</div>
<!-- SECTION "CVS Unstable/Testing" [16852-17742] -->
<h1><a name="configuring_gschem" id="configuring_gschem">Configuring gschem</a></h1>
<div class="level1">

<p>
Assume that you have installed the gEDA Tools Suite from CD-ROM (the most common installation method), and that you are ready to configure <strong>gschem</strong> to your personal likes. When installing, you were prompted for the path where the gEDA executables would be placed. The default was the <strong>/home/{login id}/geda-install</strong> directory, where {login id} is the username you logged into your account with, but you may have changed this to another directory on the computer. This directory is referred to below as the <strong>{binary-install-path}</strong> because this is where the gEDA binary executables are placed. If you forgot where the binaries were installed, simply issue the following command to find where <strong>gschem</strong> is installed (in this case the {binary-install-path} is <strong>/usr/local/gEDA-20060124</strong>): <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">% which gschem
/usr/local/gEDA-20060124/bin/gschem
%</font></pre>
</p>

<p>
The gEDA Tools Suite applications follow normal Unix/Linux conventions for placement of configuration files; there are usually system-wide, user-wide, and project-specific configuration settings. The system-wide settings are placed in a sub-directory of the {binary-install-path}. The user-wide settings are placed in the user’s home directory, also known as the login directory (referred to in Unix/Linux parlance as the <strong>$HOME</strong> directory). The project-specific settings are placed in a project-specific directory.<br/>

</p>

<p>
Now that we know the above, we can configure <strong>gschem</strong>.<br/>
 <strong>gschem</strong> is highly configurable. All configuration is handled through the following resource files (written using the GNU Guile programming language, an interpreter for Scheme, a version of Lisp):
</p>
<ul>
<li class="level1"><div class="li"> <strong>system-gschemrc</strong>: The system-wide initialization file for <strong>gschem</strong>. Installed in the {binary-install-path}/share/gEDA/system-gschemrc file, it is required for <strong>gschem</strong> to run. Users should not modify this file, but should override the settings in this file by creating their own $HOME/gschemrc file and/or ‘pwd’/gschemrc file and putting the new settings in those files. The {binary-install-path} directory is where your gEDA/gaf  executables were installed, including <strong>gschem</strong>. Depends on your install method. Refer to <a href="docs_20060124_gschem_ug_installing_gschem.html" class="wikilink2" title="docs:20060124:gschem_ug:installing_gschem">Installing gschem</a> for more details.</div>
</li>
<li class="level1"><div class="li"> <strong>$HOME/gschemrc</strong>: The per-user initialization file for <strong>gschem</strong>. Created by the user in the user’s home directory. Settings placed in this file will override settings in the system-gschemrc file. Users should put settings in this file they want to apply to all of their sessions, such as (to change the default black background color scheme to a light background color scheme):</div>
</li>
</ul>

<p>
<pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">; Load up a color scheme
(load (string-append gedadatarc &quot;/gschem-lightbg&quot;)) ; light background</font></pre>
</p>
<ul>
<li class="level1"><div class="li"> <strong>‘pwd’/gschemrc</strong>: The per-project initialization file for <strong>gschem</strong>. Created by the user in the user’s project directory. Settings placed in this file will override settings in both the system-gschemrc file and the $HOME/gschemrc file. Users should put settings in this file they want to apply to this particular project, such as (to autonumber reference designators when components are placed on the schematic):</div>
</li>
</ul>

<p>
<pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">; Comment in this scheme code if you want automatic numbering when
; placing new component and copying components
;
(load (string-append gedadata &quot;/scheme/auto-uref.scm&quot;))
(add-hook! add-component-hook auto-uref)</font></pre>
</p>
<ul>
<li class="level1"><div class="li"> <strong>system-gafrc</strong>: The system-wide initialization file for gEDA/gaf applications (includes <strong>gschem</strong>, <strong>gnetlist</strong>). Installed in the {binary-install-path}/share/gEDA/system-gafrc file, it is required for <strong>gschem</strong> to run. Users should not modify this file, but should override the settings in this file by creating their own $HOME/gafrc file and/or ‘pwd’/gafrc file and putting the new settings in those files. The {binary-install-path} directory is where your gEDA/gaf  executables were installed, including <strong>gschem</strong>. Depends on your install method. Refer to <a href="docs_20060124_gschem_ug_installing_gschem.html" class="wikilink2" title="docs:20060124:gschem_ug:installing_gschem">Installing gschem</a> for more details.</div>
</li>
<li class="level1"><div class="li"> <strong>$HOME/gafrc</strong>: The per-user initialization file for gEDA/gaf applications. Created by the user in the user’s home directory. Settings placed in this file will override settings in the system-gafrc file. Users should put settings in this file they want to apply to all of their sessions. </div>
</li>
<li class="level1"><div class="li"> <strong>‘pwd’/gafrc</strong>: The per-project initialization file for the gEDA/gaf applications. Created by the user in the user’s project directory. Settings placed in this file will override settings in both the system-gafrc file and the $HOME/gafrc file. Users should put settings in this file they want to apply to this particular project. Settings such as the <strong>component-library</strong> or <strong>source-library</strong> keywords go into this file.</div>
</li>
<li class="level1"><div class="li"> <strong>gschem-gtkrc</strong>: Installed in the {binary-install-path}/share/gEDA/gschem-gtkrc file. Used to define the font for all gtk+ widgets in <strong>gschem</strong>.</div>
</li>
</ul>

<p>
 A few comments about changing the files:
</p>
<ul>
<li class="level1"><div class="li"> Don’t break any guile syntax rules. Doing so will cause the scheme interpreter (guile) to stop interpreting.</div>
</li>
<li class="level1"><div class="li"> To add a setting to the $HOME/gschemrc file (or to the ‘pwd’/gschemrc file), copy the setting’s text from the {binary-install-directory}/share/gEDA/system-gschemrc file to the $HOME/gschemrc file (or the ‘pwd’/gschemrc file) and make the setting change there.</div>
</li>
<li class="level1"><div class="li"> To add a setting to the $HOME/gafrc file (or the ‘pwd’/gafrc file), copy the relevant setting’s text from the {binary-install-directory}/share/gEDA/system-gafrc file to the $HOME/gafrc file (or the ‘pwd’/gafrc file) and make the setting change there.</div>
</li>
<li class="level1"><div class="li"> Keywords/defaults always override what came before, with the exception of cumulative keywords (like component-library).</div>
</li>
</ul>

</div>
<!-- SECTION "Configuring gschem" [17743-23463] -->
<h2><a name="gschemrc" id="gschemrc">gschemrc</a></h2>
<div class="level2">

<p>
The {binary-install-path}/share/gEDA/system-gschemrc file is well commented. Read this file for more details on the settings available.<br/>
 Some of the settings appropriate for override (by placing in either the user’s $HOME/gschemrc file or the project’s ‘pwd’/gschemrc file) are:
</p>

</div>
<!-- SECTION "gschemrc" [23464-23765] -->
<h2><a name="gafrc" id="gafrc">gafrc</a></h2>
<div class="level2">

<p>
The {binary-install-path}/share/gEDA/system-gafrc file is well commented. Read this file for more details on the settings available.<br/>
 Some of the settings appropriate for override (by placing in either the user’s $HOME/gafrc file or the project’s ‘pwd’/gafrc file) are:
</p>

</div>
<!-- SECTION "gafrc" [23766-24055] -->
<h1><a name="running_gschem" id="running_gschem">Running gschem</a></h1>
<div class="level1">

</div>
<!-- SECTION "Running gschem" [24056-24085] -->
<h2><a name="confirming_gschem_is_installed" id="confirming_gschem_is_installed">Confirming gschem is installed</a></h2>
<div class="level2">

<p>
You should determine if <strong>gschem</strong> has been correctly installed on your Linux computer.<br/>
 Log into your Linux account, and launch your favorite interactive shell. The different Linux distributions will usually offer more than one interactive shell such as xterm, gnome-term, konsole, etc.<br/>
 You will see a shell prompt, which will depend on your Linux distribution and on your selection of interactive shell. It is common practice in Linux documentation to refer to the user’s interactive login shell prompt as “<strong>%</strong>”, and to refer to the superuser’s (i.e., user “root”) interactive login shell prompt as “<strong>#</strong>”.<br/>
 At the shell prompt, enter the following commands to determine if <strong>gschem</strong> is installed:
</p>

<p>
<pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">% <strong>echo $PATH</strong>
<strong>/usr/local/gEDA-20060124/bin</strong>:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/<strong>gEDA</strong>/bin
% <strong>which gschem</strong>
/usr/local/gEDA-20060124/bin/gschem
% <strong>ldd /usr/local/gEDA-20060124/bin/gschem</strong>
    linux-gate.so.1 =&gt;  (0x00345000)
    libgeda.so.25 =&gt; /usr/local/gEDA-20060124/lib/libgeda.so.25 (0x00d7d000)
    libguile.so.12 =&gt; /usr/lib/libguile.so.12 (0x00588000)
    libguile-ltdl.so.1 =&gt; /usr/lib/libguile-ltdl.so.1 (0x00b62000)
    libqthreads.so.12 =&gt; /usr/lib/libqthreads.so.12 (0x009f7000)
    libpthread.so.0 =&gt; /lib/libpthread.so.0 (0x006d4000)
    libcrypt.so.1 =&gt; /lib/libcrypt.so.1 (0x03266000)
    libgdk-x11-2.0.so.0 =&gt; /usr/lib/libgdk-x11-2.0.so.0 (0x00c10000)
    libgdk_pixbuf-2.0.so.0 =&gt; /usr/lib/libgdk_pixbuf-2.0.so.0 (0x006ac000)
    libm.so.6 =&gt; /lib/libm.so.6 (0x008df000)
    libpangoxft-1.0.so.0 =&gt; /usr/lib/libpangoxft-1.0.so.0 (0x003e7000)
    libpangox-1.0.so.0 =&gt; /usr/lib/libpangox-1.0.so.0 (0x00a57000)
    libpango-1.0.so.0 =&gt; /usr/lib/libpango-1.0.so.0 (0x00bd8000)
    libgobject-2.0.so.0 =&gt; /usr/lib/libgobject-2.0.so.0 (0x00a01000)
    libgmodule-2.0.so.0 =&gt; /usr/lib/libgmodule-2.0.so.0 (0x009fb000)
    libdl.so.2 =&gt; /lib/libdl.so.2 (0x00906000)
    libglib-2.0.so.0 =&gt; /usr/lib/libglib-2.0.so.0 (0x0448e000)
    libgtk-x11-2.0.so.0 =&gt; /usr/lib/libgtk-x11-2.0.so.0 (0x06a81000)
    libatk-1.0.so.0 =&gt; /usr/lib/libatk-1.0.so.0 (0x00c96000)
    libSM.so.6 =&gt; /usr/X11R6/lib/libSM.so.6 (0x00d4f000)
    libICE.so.6 =&gt; /usr/X11R6/lib/libICE.so.6 (0x00d33000)
    libX11.so.6 =&gt; /usr/X11R6/lib/libX11.so.6 (0x00921000)
    libc.so.6 =&gt; /lib/libc.so.6 (0x007b4000)
    /lib/ld-linux.so.2 (0x00796000)
    libXrandr.so.2 =&gt; /usr/X11R6/lib/libXrandr.so.2 (0x00bac000)
    libXi.so.6 =&gt; /usr/X11R6/lib/libXi.so.6 (0x00cca000)
    libXinerama.so.1 =&gt; /usr/X11R6/lib/libXinerama.so.1 (0x00bb2000)
    libXft.so.2 =&gt; /usr/X11R6/lib/libXft.so.2 (0x00ad1000)
    libfreetype.so.6 =&gt; /usr/lib/libfreetype.so.6 (0x00af8000)
    libfontconfig.so.1 =&gt; /usr/lib/libfontconfig.so.1 (0x00111000)
    libXfixes.so.3 =&gt; /usr/X11R6/lib/libXfixes.so.3 (0x00d0d000)
    libXcursor.so.1 =&gt; /usr/X11R6/lib/libXcursor.so.1 (0x00bcc000)
    libXrender.so.1 =&gt; /usr/X11R6/lib/libXrender.so.1 (0x00ba2000)
    libXext.so.6 =&gt; /usr/X11R6/lib/libXext.so.6 (0x00a82000)
    libpangoft2-1.0.so.0 =&gt; /usr/lib/libpangoft2-1.0.so.0 (0x05362000)
    libexpat.so.0 =&gt; /usr/lib/libexpat.so.0 (0x0068b000)
    libz.so.1 =&gt; /usr/lib/libz.so.1 (0x0090c000)</font></pre>
</p>

<p>
The <strong>echo $PATH</strong> command displays the user’s current setting for the <strong>PATH</strong> environment variable. In the above example for a Fedora Core 4 installation, user <strong>gEDA</strong> executed the command and determined that the <strong>PATH</strong> included the /usr/local/gEDA-20060124/bin directory (this will differ depending on where you put the gEDA Tools Suite executables). If you installed from the gEDA Tools Suite CD-ROM (the most common method of installing the gEDA tools), as the last step of the installation wizzard you were prompted to:
</p>
<ol>
<li class="level1"><div class="li"> Set your $PATH environment variable to {the directory in which the install wizzard installed gEDA’s executables}</div>
</li>
<li class="level1"><div class="li"> Set your $LD_LIBRARY_PATH environment variable to {the directory in which the install wizzard installed gEDA’s libraries}</div>
</li>
</ol>

<p>
 The <strong>which</strong> command displays the full path of a command’s executable, searching for the command on the user’s list of directories, as defined in the <strong>PATH</strong> environment variable. In this case, it will return the full path to the <strong>gschem</strong> executable if it is on the user’s <strong>PATH</strong>. If this command does not return the full path to the <strong>gschem</strong> executable, make sure your <strong>PATH</strong> environment variable has been properly set.
</p>

<p>
The <strong>ldd</strong> command displays shared libraries required by a program. All of the requested libraries must be found for <strong>gschem</strong> to run. Don’t be intimidated by the long list of libraries, this is common for mature Linux applications. If we had not received this output (or something very similar), we would have to check on our setting for the <strong>LD_LIBRARY_PATH</strong> environment variable.
</p>

<p>
And of course, there is always attempting to just run <strong>gschem</strong> as follows: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">%  <strong>gschem -h</strong>
Usage: gschem [OPTIONS] schematic_filename1 ... schematic_filenameN
  -q            Quiet mode
  -v            Verbose mode on
  -r filename   Rc filename
  -s filename   Script (guile) filename
  -o filename   Output filename (for printing)
  -p            Automatically place the window
  -t            Print stroke information
  -h            Help; this message</font></pre>
</p>

<p>
where we displayed the <strong>gschem</strong> help.
</p>

<p>
If these commands do not return the expected results, then most likely the gEDA tools are not installed properly. Please see the appropriate INSTALL docs (which came with the gEDA distribution) for more info on installing the gEDA tools. If you installed from the gEDA Tools Suite CD-ROM, read the INSTALL document on the CD-ROM first.<br/>

</p>

</div>
<!-- SECTION "Confirming gschem is installed" [24086-29791] -->
<h2><a name="the_shell_prompt" id="the_shell_prompt">The Shell Prompt</a></h2>
<div class="level2">
<table class="inline">
	<tr>
		<td> <a href="_detail/geda_terminal_screenshot_001.html" class="media" title="geda:terminal_screenshot_001.jpg"><img src="_media/geda_terminal_screenshot_001.jpg" class="media" title="terminal_screenshot_001.jpg" alt="terminal_screenshot_001.jpg" /></a> </td>
	</tr>
	<tr>
		<td> Figure 1 &ndash; gnome-terminal </td>
	</tr>
</table>

<p>
 You launch <strong>gschem</strong> from your favorite shell prompt (in this case, gnome-terminal on Fedora Core 4).<br/>
 There are several command-line switches:
</p>
<ul>
<li class="level1"><div class="li"> <strong>-q</strong> &ndash; Quiet mode<br/>
 Turns on “quiet mode”. Output (i.e., stdout and stderr) is not generated to the shell. Useful if calling <strong>gschem</strong> from a script (e.g., bash, sh, csh, etc.) to perform batch operations such as printing a large number of schematics or symbols.</div>
</li>
<li class="level1"><div class="li"> <strong>-v</strong> &ndash; Verbose mode ON<br/>
 Generate verbose information. Not used very much in <strong>gschem</strong>.</div>
</li>
<li class="level1"><div class="li"> <strong>-r filename</strong> &ndash; Process additional configuration settings from <strong>filename</strong><br/>
 <strong>filename</strong> is a file containing settings of the form found in either system-gschemrc or system-gafrc<br/>
 In addition to the following files, <strong>gschem</strong> will process <strong>filename</strong> for additional configuration settings:<br/>
   * {binary-install-path}/share/gEDA/system-gschemrc<br/>
   * $HOME/gschemrc<br/>
   * ‘pwd’/gschemrc<br/>
   * {binary-install-path}/share/gEDA/system-gafrc<br/>
  * $HOME/gafrc<br/>
   * ‘pwd’/gafrc</div>
</li>
<li class="level1"><div class="li"> <strong>-s filename</strong> &ndash; Process <strong>filename</strong> as a guile script<br/>
 The name of a script file (written in guile) for <strong>gschem</strong> to process.<br/>
 Refer to <a href="docs_20060124_gschem_ug_app_b.html" class="wikilink2" title="docs:20060124:gschem_ug:app_b">Appendix B -- Printing Schematics and Symbols</a> and <a href="docs_20060124_gschem_ug_app_c.html" class="wikilink2" title="docs:20060124:gschem_ug:app_c">Appendix C -- Writing guile Scripts</a> for more details.<br/>
 For example, in your $HOME/geda-sources/gedagaf/{gEDA Tools Suite version}/scripts/ directory is the <strong>print.scm</strong> file, a template script file directing <strong>gschem</strong> to generate a PostScript file of a schematic appropriate for printing. This <strong>print.scm</strong> file works as is, but you may want to customize it for your own needs. To print the schematic_1.sch schematic to the schematic_1.ps PostScript file from within a bash script, you would enter: <code>gschem  -q -p -o schematic_1.ps -s print.scm schematic_1.sch</code><br/>
 Then, simply use your favorite printing solution to print the file, such as: <code>lp schematic_1.ps</code><br/>
 to a PostScript printer.</div>
</li>
<li class="level1"><div class="li"> <strong>-o filename</strong> &ndash; Output <strong>filename</strong> (e.g., for printing)<br/>
 Specify the output filename. For example, as used to specify the Postscript filename in the example above.</div>
</li>
<li class="level1"><div class="li"> <strong>-p</strong> &ndash; Automatically place the window<br/>
 Don’t wait for the windowmanager to place the window.<br/>
 When a new window is opened, some window managers display the bounding box of the window and wait for the user to place the window manually. The &quot;-p” option avoids that, letting the window manager decide where to put the new window.</div>
</li>
<li class="level1"><div class="li"> <strong>-t</strong> &ndash; Print stroke information<br/>
 </div>
</li>
<li class="level1"><div class="li"> <strong>-h</strong> &ndash; Help<br/>
 Generate a short usage printout.</div>
</li>
</ul>

<p>
 Running <strong>gschem</strong> is straightforward once you have installed it on your GNU/Linux system.<br/>
 Although <strong>gschem</strong> is a <acronym title="Graphical User Interface">GUI</acronym> application, <strong>gschem</strong> is meant to be launched from the command-line, as it takes command-line arguements (see Figure 1 above).<br/>
 To open an empty schematic, run: <code><strong>% gschem</strong></code><br/>

</p>

<p>
To open a specific schematic, run: <code><strong>% gschem schematic_name.sch</strong></code><br/>

</p>

<p>
To open a list of schematics, run: <code><strong>% gschem schematic_1.sch schematic_2.sch, schematic_3.sch &hellip;</strong></code><br/>
 or use wildcards to specify multiple filenames: <code><strong>% gschem schematic_*.sch</strong></code>
</p>

<p>
As operations are performed in the <strong>gschem</strong> <a href="docs_20060124_gschem_ug_the_main_window.html" class="wikilink2" title="docs:20060124:gschem_ug:the_main_window">Main Window</a> the <strong>gschem</strong> <a href="docs_20060124_gschem_ug_the_status_window.html" class="wikilink2" title="docs:20060124:gschem_ug:the_status_window">Status Window</a> continues to output information, and the shell prompt’s window continues to output information, consisting of:
</p>
<ul>
<li class="level1"><div class="li"> &hellip;</div>
</li>
</ul>

</div>
<!-- SECTION "The Shell Prompt" [29792-33326] -->
<h2><a name="backups" id="backups">Backups</a></h2>
<div class="level2">

<p>
There are two basic mechanisms in <strong>gschem</strong> for backing up schematics and symbols, classic Linux backups and incremental backups.
</p>

</div>
<!-- SECTION "Backups" [33327-33478] -->
<h3><a name="classic_linux_backups" id="classic_linux_backups">Classic Linux backups</a></h3>
<div class="level3">

<p>
While creating and/or editing schematic file(s) or symbol file(s), snapshots are triggered by the <strong>autosave</strong> interval setting in the {binary-install-path}/share/gEDA/system-gschemrc file (see <a href="#relevant_configuration_settings" title="geda:gschem_ug &crarr;" class="wikilink1">Relevant configuration settings</a> below). If the file has not been manually saved, and the interval expires (current default 2 minutes), the snapshot is saved the next time a change is made in the <strong>gschem</strong> main window (to either a schematic or to a symbol). The interval timer starts again as soon as the snapshot file(s) have been written, and once the timer expires the next change to the main window will trigger the snapshot to be written.<br/>
 This snapshot includes all work up to, but not including, the last operation performed in the <strong>gschem</strong> main window. This is to allow for easier recovery from a crash that may have been caused by the last operation.<br/>
 When <strong>gschem</strong> exits normally, the snapshot file(s) are deleted. So, if <strong>gschem</strong> were to crash, or not terminate normally for some reason (e.g., power failure, soda &rarr; keyboard, etc.), the shapshot file(s) would be found the next time <strong>gschem</strong> opened the file(s). <strong>gschem</strong> will display the following warning message when it finds a snapshot file associated with the schematic file(s) or symbol file(s) it opens: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">WARNING: Found and autosave backup file:
  {full path to autosave file}

The backup copy is newer than the schematic, so it seems you
should load it instead of the original fil.
Gschem usually makes backup copies automatically, and this
situation happens when it crashed or it was forced to exit
abruptely.

If you load the original file, the backup file will be overwritten in
the next autosave timeout and it will be lost.

Do you want to load the backup file?</font></pre>
</p>

<p>
The snapshots are saved to a file whose filename is constructed from the original filename (schematic or symbol) as follows:
</p>
<ul>
<li class="level1"><div class="li"> add a &quot;#&quot; to the beginning of the original filename</div>
</li>
<li class="level1"><div class="li"> add a &quot;#&quot; to the end</div>
</li>
</ul>

<p>
 so that:
</p>
<ul>
<li class="level1"><div class="li"> “schematic_1.sch” becomes &quot;#schematic_1.sch#&quot;</div>
</li>
<li class="level1"><div class="li"> “symbol.sym” becomes &quot;#symbol.sym#&quot;</div>
</li>
</ul>

<p>
 And yes, the &quot;#&quot; at the front and back of the filename are part of the filename.<br/>

</p>

<p>
When the user does finally manually save the file, the original file (i.e., the file that was opened) is renamed to &quot;{filename~}&quot; and the latest snapshot file (i.e., &quot;#{filename}#&quot;) gets copied as &quot;{filename}&quot;. Note that this new &quot;{filename}&quot; file may not contain the latest information as displayed on the <strong>gschem</strong> main window, as the <strong>autosave</strong> interval timer may not have expired since the last change to the schematic/symbol.<br/>
 When the user finally decides to close <strong>gschem</strong>, the latest snapshot file (i.e., &quot;#{filename}#&quot;) is saved to the original file (i.e., &quot;{filename}&quot;.<br/>
 When you exit <strong>gschem</strong> and are prompted to save any unsaved schematic file(s) or symbol file(s), this constitutes a manual save.
</p>

</div>
<!-- SECTION "Classic Linux backups" [33479-36385] -->
<h3><a name="incremental_backups" id="incremental_backups">Incremental backups</a></h3>
<div class="level3">

</div>
<!-- SECTION "Incremental backups" [36386-36419] -->
<h3><a name="relevant_configuration_settings" id="relevant_configuration_settings">Relevant configuration settings</a></h3>
<div class="level3">

<p>
There are the following configuration settings in the {binary-install-path}/share/gEDA/system-gschemrc file that effect backups:
</p>
<ul>
<li class="level1"><div class="li"> <strong>undo-control</strong> : Controls if the undo feature is enabled or not.</div>
</li>
<li class="level1"><div class="li"> <strong>undo-levels</strong> : Determines the number of levels of undo. Basically this number decides how many backup schematics are saved.</div>
</li>
<li class="level1"><div class="li"> <strong>undo-type</strong> : Controls which kind of undo is used, disk or memory. The default is to use the disk as the storage medium (i.e., after every action the undo information is stored to a new file on disk). The disk mechanism is nice because you get that many backups of the schematic, written to disk as backups, so you should never lose a schematic due to a crash.</div>
</li>
<li class="level1"><div class="li"> <strong>autosave</strong> : Controls if a backup copy is made every “interval” seconds. Note that a backup copy is only made when you make some change to the schematic, and there were more than “interval” seconds from the last autosave. Autosaving will not be allowed if the “interval” setting is set to zero.</div>
</li>
</ul>

</div>
<!-- SECTION "Relevant configuration settings" [36420-37461] -->
<h2><a name="on-line_documentation" id="on-line_documentation">On-line documentation</a></h2>
<div class="level2">

<p>
For a listing of the various command line flags run “<strong>gschem -h</strong>”: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">% <strong>gschem -h</strong>
Usage: gschem [OPTIONS] schematic_filename1 ... schematic_filenameN
  -q            Quiet mode
  -v            Verbose mode on
  -r filename   Rc filename
  -s filename   Script (guile) filename
  -o filename   Output filename (for printing)
  -p            Automatically place the window
  -t            Print stroke information
  -h            Help; this message</font></pre>
</p>

<p>
For a detailed explanation of the command line flags look at the <strong>gschem</strong> man page: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">% <strong>man gschem</strong>
gschem(1)			   20031231			     gschem(1)



NAME
       gschem - gEDA/gaf Schematic Capture

SYNOPSIS
       gschem  [-q]  [-v] [-t] [-r rcfilename] [-s scriptfilename] [-o output-
       filename] [-p] [schematic1 ... schematicN]

DESCRIPTION
       gschem is the schematic capture program which is part gEDA  (GPL	 Elec-
       tronic  Design Automation) toolset.  This program is used to draw elec-
       tronic schematics.  Schematics consist of standard symbols  (which  are
       either  part of a standard library or created by the user) which repre-
       sent the various gates  and  components.	  These	 components  are  then
       interconnected  by  nets	 (wires).   Schematics	may  be	 printed  to a
       PostScript file for printing or further conversion to other output for-
       mats.

       gschem is also the symbol creation editor.  All the standard methods of
       creating schematics are used in the creation of symbols.	 There	are  a
       few  special  rules when creating symbols, so please refer to the (non-
       existant as of now) symbol creation document.

       Please read the official documentation (very minimal at this point)  on
       how  to use gschem, since this man page just describes the command line
       arguments and a few examples on how to run gschem.


OPTIONS
       gschem accepts the following options:

       -q      Quiet mode on.  This mode  turns	 off  all  warnings/notes/mes-
	       sages. (optional)

       -v      Verbose	mode on.  This mode gives as much feedback to the user
	       as possible. (optional)

       -t      Print out more information when using mouse strokes.  With this
	       command	line  flag  and the middle button configured for mouse
	       strokes, gschem will output the stroke sequence numbers as  the
	       user executes strokes.  These numbers can be used to define new
	       strokes in the system-gschemrc file.

       -r filename
	       Specify a rc filename.  Normally gschem searches for  the  sys-
	       tem-gschemrc, then ~/.gEDA/gschemrc, and finally for a gschemrc
	       in the current directory.  This	options	 allows	 the  user  to
	       specify an additional rc file which is read after all the other
	       rc files are read. (optional)

       -s filename
	       Specify a guile script to be executed at startup. (optional)

       -o filename
	       Specify a filename for postscript output.   This	 command  line
	       argument	 is useful when running gschem from a shell script and
	       with a guile script.  The filename can be changed  through  the
	       print dialog box.

       -p      Automatically  place  the  window, especially useful if running
	       gschem from the command line and generating output.

       schematic1 [... schematicN]
	       Schematic file to be loaded.  Specifing	a  schematic  file  is
	       optional.   If  multiple schematic files are specified they are
	       read in sequentially and put on seperate pages.	It  is	impor-
	       tant that the schematic(s) follow all the options (ie last).


EXAMPLES
       These  examples	assume that you have a schematic called stack_1.sch in
       the current directory

       To run gschem and then interact with the program:

	    ./gschem

       To run gschem in interactive mode but load a sample schematic:

	    ./gschem adders_1.sch

       To run gschem and load up all schematics in the current subdirectory:

	    ./gschem *.sch


ENVIRONMENT
       No environment variables are used.


AUTHOR
       Ales Hvezda and many others


SEE ALSO
       gnetlist(1), gsymcheck(1)

COPYRIGHT
       Copyright ©  1999-2004 Ales Hvezda

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0




Version			      December 31st, 2003		     gschem(1)</font></pre>
</p>

</div>
<!-- SECTION "On-line documentation" [37462-41931] -->
<h1><a name="electrical_connectivity" id="electrical_connectivity">Electrical Connectivity</a></h1>
<div class="level1">

<p>
As you draw schematics you need be aware of what is considered to be electrically connected by the gEDA programs.<br/>
 Nets which are visually connected to other nets are electrically connected. This connection may be endpoint to endpoint or endpoint to midpoint. When a single endpoint to endpoint (net or pin endpoint) connection is drawn, the visual dangling net cue disappears. When an endpoint ends in the middle of another net (or multiple endpoints coming together at a single point) then a circular filled connectivity cue is drawn. You cannot connect a net to the middle of a pin. Nets can only be connected to the endpoints of pins. You cannot connect to a net if that net is not orthogonal (horizontal or vertical). The visual cues are the primary way of telling if nets/pins are connected.<br/>
 Bus are similar to nets with the exception that you cannot connect a net to the endpoint of a bus (only to the middle). If you do try to connect a net to the end of a bus you will see a big red X at the invalid endpoint connection. Buses are still very new so there are still many quirks.<br/>
 You can label nets by using the <code>label=</code> attribute. Do not attach more than one <code>label=</code> to a net. You only need to attach the <code>label=</code> attribute to one net segment. Different nets (i.e. multiple net segments which aren’t connected together) which have the same attribute <code>label=</code> attached to them are also considered electrically connected. You will not get any indication of this connection by <strong>gschem</strong>, but the netlister (<strong>gnetlist</strong>) considers nets with the same <code>label=</code> attribute electrically connected. The naming convention for buses has not been formalized yet.
</p>

</div>
<!-- SECTION "Electrical Connectivity" [41932-43648] -->
<h1><a name="components_symbols_objects_attributes" id="components_symbols_objects_attributes">Components &amp; Symbols &amp; Objects &amp; Attributes</a></h1>
<div class="level1">

<p>
There is a hierarchical association between components, symbols, objects, and attributes.
</p>

</div>
<!-- SECTION "Components & Symbols & Objects & Attributes" [43649-43797] -->
<h2><a name="components" id="components">Components</a></h2>
<div class="level2">

<p>
A component is the instantiation of a specific symbol, as placed on the schematic. When discussing a schematic you refer to <em class="u">components</em> on the schematic, not <em class="u">symbols</em> on the schematic. Think of symbols as being <em class="u">conceptual</em>, and components as being <em class="u">concrete</em>.<br/>
 The component consists of a graphic representation and the attributes describing the component’s features.<br/>
 The component inherits all of the attributes defined in the symbol. Certain attributes in the symbol:
</p>
<ul>
<li class="level1"><div class="li"> those explicitly defined as visible unattached attributes (see <a href="#attributes" title="geda:gschem_ug &crarr;" class="wikilink1">Attributes</a>)</div>
</li>
<li class="level1"><div class="li"> specific attributes such as <code>symversion</code> and <code>refdes</code></div>
</li>
</ul>

<p>
 are promoted to the component level for manipulation by the circuit designer. These attributes may optionally be exposed (made viewable) with the component’s graphic, and their values may be changed.<br/>
 Any attribute not defined in the symbol may be defined in the component. For example, if the symbol does not define the <code>comment</code> attribute, this attribute may be added to the component, perhaps to add a comment for the Bill of Material or Assembly Instructions.<br/>
 Unfortunately, it is difficult to determine a component’s attributes from <strong>gschem</strong> while entering the schematic. You have to place a symbol on the schematic, select the resulting component, and select <strong>Hierarchy | Down Symbol</strong> from the pull-down menus. Then, you have to unhide all attributes with <strong>Edit | Make Inv Text Vis</strong> from the pull-down menus. Then you have to expand your view of the symbol with <strong>View | Extents</strong>. Then, you have to go back to the schematic by selecting <strong>Hierarchy | Up</strong> from the pull-down menus. Then, you have to select <strong>Edit | Edit&hellip;</strong> to bring up the “Edit Attributes” dialog box to determine if any attributes have been added at the component level.
</p>

</div>
<!-- SECTION "Components" [43798-45612] -->
<h2><a name="symbols" id="symbols">Symbols</a></h2>
<div class="level2">

<p>
Symbols are just a collection of objects and attributes.<br/>
 The objects have positional significance in the symbol, and define the graphic that is viewed.<br/>
 Attributes may be attached to objects, or they may be attached to the symbol itself (termed as “unattached” attributes, because they are not attached to an object).
</p>

</div>
<!-- SECTION "Symbols" [45613-45954] -->
<h2><a name="objects" id="objects">Objects</a></h2>
<div class="level2">

<p>
The following are objects:
</p>
<ul>
<li class="level1"><div class="li"> Line</div>
</li>
<li class="level1"><div class="li"> Box</div>
</li>
<li class="level1"><div class="li"> Circle</div>
</li>
<li class="level1"><div class="li"> Arc</div>
</li>
<li class="level1"><div class="li"> Pin</div>
</li>
<li class="level1"><div class="li"> Picture</div>
</li>
<li class="level1"><div class="li"> Text</div>
</li>
</ul>

</div>
<!-- SECTION "Objects" [45955-46067] -->
<h2><a name="attributes" id="attributes">Attributes</a></h2>
<div class="level2">

<p>
An attribute is text which is in the form <code>name=value</code> (there are no spaces to the left or right of the name,value pair). An attribute can be either attached to an object or unattached. Attributes are used extensively in the gEDA project to convey information (e.g., device name, pin numbers, hidden nets, and unit reference numbers). Check <a href="http://www.geda.seul.org/docs/current/attributes/index.html" class="urlextern" title="http://www.geda.seul.org/docs/current/attributes/index.html"  rel="nofollow">gEDA/gaf Master Attribute Document</a> for a complete list of attributes.<br/>
 There are three kinds of attributes:
</p>
<ul>
<li class="level1"><div class="li"> <strong>Attached attributes:</strong> These are attributes which take on the standard form and are attached to some object (pin, net, component, or box etc&hellip;) to associate a value with the attribute. For example: a pin number associated with a pin. <span class="hilited">These attributes are usually yellow in color.</span></div>
</li>
<li class="level1"><div class="li"> <strong>Unattached attributes:</strong> These are attributes which take on the standard form, but are not attached to any object and usually convey some information which is global in nature. For example: a <code>device=</code> attribute (which lives inside symbols) and specifies what device the entire symbol represents. These attributes are also known as floating or toplevel attributes.</div>
</li>
<li class="level1"><div class="li"> <strong>Promoted attributes:</strong> These are unattached attributes in the symbol’s definition that get turned into attached attributes in the component’s definition when the symbol is instantiated as a component when placed in the schematic. If you place an unattached visible attribute inside a symbol and then instantiate that symbol, then that unattached attribute gets “promoted”; that is, it becomes an attached attribute. This mechanism of attribute reattachement (from within a symbol) is known as attribute promotion.</div>
</li>
</ul>

<p>
 There are some gotchas about attribute promotion:
</p>
<ul>
<li class="level1"><div class="li"> Promotion <strong>only</strong> happens when the symbol is first placed. That means that if you place a symbol (e.g., sym1) and then change it on disk (by adding or removing new unattached attributes), existing sym1’s will not reflect these new unattached attributes (i.e., they won’t get promoted) in any schematic.</div>
</li>
<li class="level1"><div class="li"> The <code>device=</code> attribute is not promoted.</div>
</li>
<li class="level1"><div class="li"> Invisible attributes are not promoted by default. If you add an unattached attribute (e.g., numslots=#) and make it invisible, it will not be promoted.</div>
</li>
</ul>

<p>
 Now, in order to make everybody happy, this attribute promotion behavior is configurable.<br/>
 The system-gschemrc file defines: 
</p>
<pre class="code lisp"><span class="br0">&#40;</span>attribute-promotion <span class="st0">&quot;enabled&quot;</span><span class="br0">&#41;</span></pre>
<p>
which enables attribute promotion.<br/>
 If you override the system-gschemrc’s default promote-invisible setting by adding: 
</p>
<pre class="code lisp"><span class="br0">&#40;</span>promote-invisible <span class="st0">&quot;enabled&quot;</span><span class="br0">&#41;</span></pre>
<p>
to either your user’s ~/gschemrc or local ‘pwd’/gschemrc file, invisible unattached attributes will also be promoted <span class="hilited">(and in memory removed)</span>.
</p>

<p>
However, if you do this, component slotting will break because <strong>gschem</strong> expects certain unattached attributes inside the symbol <span class="hilited">(in memory even though they are invisible)</span>.<br/>
 So you can add: 
</p>
<pre class="code lisp"><span class="br0">&#40;</span>keep-invisible <span class="st0">&quot;enabled&quot;</span><span class="br0">&#41;</span></pre>
<p>
to either your user’s ~/gschemrc or local ‘pwd’/gschemrc file. This is enabled by default, but has no effect unless promote-invisible is enabled.
</p>

<p>
So, to summarize, attribute promotion takes unattached attributes inside symbols and attaches them to the outside of a placed symbol. Three *rc keywords control this behavior: attribute-promotion, promote-invisible, and keep-invisible.
</p>

</div>
<!-- SECTION "Attributes" [46068-49472] -->
<h1><a name="the_main_window" id="the_main_window">The Main Window</a></h1>
<div class="level1">
<table class="inline">
	<tr>
		<td> <a href="_detail/geda_gschem_screenshot_001.html" class="media" title="geda:gschem_screenshot_001.jpg"><img src="_media/geda_gschem_screenshot_001.jpg" class="media" title="gschem_screenshot_001.jpg" alt="gschem_screenshot_001.jpg" /></a> </td>
	</tr>
</table>

<p>
 There are several ways to interact with <strong>gschem</strong>. <strong>gschem</strong> requires a keyboard and mouse. There are three ways to initiate an operation or command:
</p>
<ul>
<li class="level1"><div class="li"> Using the mouse to select the operation off a menu</div>
</li>
<li class="level1"><div class="li"> Typing the keyboard shortcut(s).</div>
</li>
<li class="level1"><div class="li"> Draw the appropriate stroke (if stroke support is enabled)</div>
</li>
</ul>

<p>
 To make usage matters more confusing, selecting an operation off of the menus behaves slightly differently than typing the keyboard shortcut. Most of the operations operate on the currently selected object(s), hence you need to select the object first before manipulating them. The menu selected operations usually require some more input (usually a mouse click) after they are picked off of the menu. The keyboard shortcut operations take that required input as the current mouse position. This saves an extra click since you can position the mouse at the right place, type in the shortcut(s), and the command then executes. Note, you can change this so that both menu and shortcut behavior is exactly the same. See the section on the resource file for more info on how to configure this.<br/>
 Most of the interaction with <strong>gschem</strong> is fairly mode oriented (similar to the great text editor vi). If you select operations off of the menu, then you are placed into the corresponding mode (like copy or move mode). You must then select an anchor point (or whatever the appropriate point is) to continue the operation. Most of the commands off of the menu expect the objects to be already selected. Some of the modes persist after being execute while other immediately return you into select mode (the default mode).<br/>
 The shortcuts are also mode like in nature. Most of the default shortcuts are for the various commands are not single keystrokes. There are a few which are single keystrokes (like zoom in: `z’ or pan: `x’), but most are typically two keystrokes long. As examples, to execute File/Save you would type `f’ and `s’ (without the quotes) or Add/Line is `a’ and `l’. You can get a listing of the shortcuts by picking Help/Hotkeys. You can also see the hotkey assignments in the pulldown menus as well. The shortcuts are defined in the resource files (<strong>system-gschemrc</strong>, <strong>/.gEDA/gschemrc</strong>, or <strong>`pwd`/gschemrc</strong>). See the section on the resource file for more info.<br/>
 The mouse button actions in <strong>gschem</strong> are mostly configurable. The first mouse button is always used to select objects or pick points. This button is not configurable. The second mouse button is either a copy/move action (when held down over an object), a repeat last command or used to draw a stroke to execute a command. The third mouse button is either a mouse pan (when held down as the mouse is moved) or a popup menu. The behavior of the second and third mouse buttons is controlled through the resource file (see the section below for more info).
</p>

</div>
<!-- SECTION "The Main Window" [49473-52386] -->
<h1><a name="the_status_window" id="the_status_window">The Status Window</a></h1>
<div class="level1">
<table class="inline">
	<tr>
		<td> <a href="_detail/geda_status_screenshot.html" class="media" title="geda:status_screenshot.jpg"><img src="_media/geda_status_screenshot.jpg" class="media" title=":geda:status_screenshot.jpg" alt=":geda:status_screenshot.jpg" /></a> </td>
	</tr>
</table>

<p>
 Add some details about what gets displayed in the status window.
</p>

</div>
<!-- SECTION "The Status Window" [52387-52549] -->
<h1><a name="the_schematic_file" id="the_schematic_file">The Schematic File</a></h1>
<div class="level1">

<p>
Schematic files. These files contain components, nets, text, and sometimes primitive objects (like lines, circles, box etc&hellip;) Schematics do not contain pins. Schematic filenames should follow this convention: name_#.sch where:
</p>
<ul>
<li class="level1"><div class="li"> name is a text string which describes what this schematic contains.</div>
</li>
<li class="level1"><div class="li"> _# is an underscore and a number (like _1, _2, _7, _13, etc&hellip;) This number is used to sequence schematic pages in a multiple page schematic.</div>
</li>
<li class="level1"><div class="li"> .sch is the schematic extension/suffix. It is important the schematic pages have this extension.</div>
</li>
</ul>

<p>
 Schematic files are pure <acronym title="American Standard Code for Information Interchange">ASCII</acronym> and will always be pure <acronym title="American Standard Code for Information Interchange">ASCII</acronym>. gEDA does not support any binary file formats. The file format for schematics is described in the gEDA file formats document.
</p>

</div>
<!-- SECTION "The Schematic File" [52550-53319] -->
<h1><a name="the_symbol_file" id="the_symbol_file">The Symbol File</a></h1>
<div class="level1">

<p>
Symbol files. The schematic and symbol file formats are identical. <strong>gschem</strong> (or a text editor) is used to create symbol files as well as schematics. Symbol files contain lines, circles, boxes, arcs, pins, text, and attributes.<br/>
 The naming convention for symbol files is: name-#.sym where:
</p>
<ul>
<li class="level1"><div class="li"> name is a text string which describes what the symbol represents.</div>
</li>
<li class="level1"><div class="li"> -# is a dash and a number (like -1, -2 etc&hellip;) The number is used to allow for a symbols to have the same name yet different contents. There might be multiple representations for resistors so these symbols should be called: resistor-1.sym, resistor-2.sym, and resistor-3.sym.</div>
</li>
<li class="level1"><div class="li"> .sym is the symbol extension/suffix. It is important the symbols have this extension.</div>
</li>
</ul>

<p>
 The way of specifying hierarchy is by using the source= attribute. Please see the master attribute document for info on this mechanism.<br/>
 The hierarchy mechanism is still in heavy flux, so there might be some more changes.
</p>

</div>
<!-- SECTION "The Symbol File" [53320-54306] -->
<h1><a name="symbol_libraries" id="symbol_libraries">Symbol Libraries</a></h1>
<div class="level1">

<p>
Components are searched for by specifying (component-library &quot;&hellip;”) inside one of the *rc files. See below for more info.
</p>

</div>
<!-- SECTION "Symbol Libraries" [54307-54460] -->
<h1><a name="the_log_file" id="the_log_file">The Log File</a></h1>
<div class="level1">

<p>
Log file. This file contains informative, error, warnings etc&hellip; messages when <strong>gschem</strong> was run. This file is created in the working directory that <strong>gschem</strong> was started in. This allows the user to preserve log files between independent projects.
</p>

</div>
<!-- SECTION "The Log File" [54461-54738] -->
<h1><a name="grips" id="grips">Grips</a></h1>
<div class="level1">

<p>
Grips are a mechanism used in <strong>gschem</strong> to provide an easy way of modifying objects inside schematics. When you select an object, little squares are placed in strategic locations (line end points or circle radius point or corners of a box) which allow you to change the object quickly. Grip support currently exists for lines, nets, pins, buses, circles, and boxes. Arcs do not yet have grips, but will eventually have them.
</p>

<p>
Using grips is easy:
</p>
<ul>
<li class="level1"><div class="li"> Select the object you want to change. The grips (the little boxes) will appear.</div>
</li>
<li class="level1"><div class="li"> Click and hold the first mouse button inside the box.</div>
</li>
<li class="level1"><div class="li"> Move the mouse around till you have the object where you want it</div>
</li>
<li class="level1"><div class="li"> Release the mouse button.</div>
</li>
</ul>

</div>
<!-- SECTION "Grips" [54739-55448] -->
<h1><a name="menu_operations" id="menu_operations">Menu Operations</a></h1>
<div class="level1">

</div>
<!-- SECTION "Menu Operations" [55449-55478] -->
<h2><a name="file" id="file">File</a></h2>
<div class="level2">

<p>
The <strong>gschem</strong> application is primarily used for the creation of schematic files (i.e., filename.sch) and symbol files (filename.sym).<br/>
 The following operations are related to the manipulation of these files.<br/>
 Note that <strong>gschem</strong> automatically maintains backups of open schematic/symbol files, in the /tmp directory, for the purpose of Undo/Redo. <strong>gschem</strong> cleans up these files when it exits gracefully. If <strong>gschem</strong> does not exit gracefully, the next time you launch <strong>gschem</strong> you will be prompted with a dialog similar to: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">WARNING: Found an autosave backup file:
        {filename}

      The backup copy is newer than the schematic, so it seems you
      load it instead of the original file.
      gschem usually makes backup copies automatically, and this
      situation happens when it crashed or it was forced to exit
      abruptly.

      If you load the original file, the backup file will be overwritten in
      the next autosave timeout and it will be lost.

      Do you want to load the backup file?</font></pre>
</p>

<p>
The following are available from the <strong>gschem</strong> main window’s menu-bar when you expand <strong>File</strong>:
</p>

</div>
<!-- SECTION "File" [55479-56632] -->
<h3><a name="new_window_fw" id="new_window_fw">New Window (fw)</a></h3>
<div class="level3">

<p>
<strong>File | New Window</strong> opens a new window, in addition to any already open windows. Each window is totally separate from the other windows.
</p>

</div>
<!-- SECTION "New Window (fw)" [56633-56798] -->
<h3><a name="new_page_fn" id="new_page_fn">New Page (fn)</a></h3>
<div class="level3">

<p>
<strong>File | New Page</strong> opens a new page, in addition to any existing open pages. Usually this page will be named “untitled_N.sch”, where N is an incrementing number.
</p>

</div>
<!-- SECTION "New Page (fn)" [56799-56986] -->
<h3><a name="open_page..._fo" id="open_page..._fo">Open Page... (fo)</a></h3>
<div class="level3">

<p>
<strong>File | Open Page&hellip;</strong> opens an existing page from disk.<br/>
 The “Open&hellip;” dialog box pops up providing:
</p>
<ul>
<li class="level1"><div class="li"> Directory navigation aids</div>
</li>
<li class="level1"><div class="li"> Filters for restricting the displayed files:</div>
<ul>
<li class="level2"><div class="li"> Schematics</div>
</li>
<li class="level2"><div class="li"> Symbols</div>
</li>
<li class="level2"><div class="li"> Schematics and Symbols</div>
</li>
<li class="level2"><div class="li"> All files</div>
</li>
</ul>
</li>
</ul>

</div>
<!-- SECTION "Open Page... (fo)" [56987-57274] -->
<h3><a name="close_page_pc" id="close_page_pc">Close Page (pc)</a></h3>
<div class="level3">

<p>
<strong>File | Close Page</strong> closes the currently displayed page. This will prompt you to save if you have modified the page.
</p>

</div>
<!-- SECTION "Close Page (pc)" [57275-57420] -->
<h3><a name="revert_page_pr" id="revert_page_pr">Revert Page (pr)</a></h3>
<div class="level3">

<p>
<strong>File | Revert Page</strong> closes and reopens the currently displayed page. This will not prompt you to save the current page, but will quickly discard any changes you have made and reopen the saved schematic from disk. Use with caution.
</p>

</div>
<!-- SECTION "Revert Page (pr)" [57421-57682] -->
<h3><a name="save_page_fs" id="save_page_fs">Save Page (fs)</a></h3>
<div class="level3">

<p>
<strong>File | Save Page</strong> saves the current page. The current filename is displayed in the <strong>gschem</strong> status-bar.<br/>
 If the page’s filename is “untitled_N.sch” (where N is a integer), then the Save As&hellip; dialog box will be displayed, prompting for a new filename.<br/>
 If the page’s filename is NOT “untitled_N.sch” (where N is a integer), then the Save As&hellip; dialog box will NOT be displayed, and:
</p>
<ul>
<li class="level1"><div class="li"> the backup file will be created for the previous version, named {filename}~ That is, the &quot;~&quot; (tilde character) is appended to the filename. Any previous backup file is lost.</div>
</li>
<li class="level1"><div class="li"> the file will be saved to the current filename.<br/>
</div>
</li>
</ul>

</div>
<!-- SECTION "Save Page (fs)" [57683-58330] -->
<h3><a name="save_page_as..._fa" id="save_page_as..._fa">Save Page As... (fa)</a></h3>
<div class="level3">

<p>
<strong>File | Save Page As&hellip;</strong> opens the Save As.. dialog box.<br/>
 If the current filename is “untitled_N.sch”, the Save As&hellip; dialog box prompts for a new filename.<br/>
 If the current filename is NOT “untitled_N.sch”, the Save As&hellip; dialog box prompts for a new filename, filling in the current filename as a default.<br/>
 In either case the filename may be changed, and a new file created when the Save As button is clicked.
</p>

</div>
<!-- SECTION "Save Page As... (fa)" [58331-58778] -->
<h3><a name="save_all_fl_fl" id="save_all_fl_fl">Save All (fl) (fl)</a></h3>
<div class="level3">

<p>
<strong>File | Save All</strong> unconditionally saves all schematics loaded in memory.
</p>

</div>
<!-- SECTION "Save All (fl) (fl)" [58779-58883] -->
<h3><a name="print..._fp" id="print..._fp">Print... (fp)</a></h3>
<div class="level3">

<p>
<strong>File | Print&hellip;</strong> brings up the Print&hellip; dialog box.<br/>
 The following may be selected:
</p>
<ul>
<li class="level1"><div class="li"> Filename (if <strong>gschem</strong> has multiple pages loaded, this filename defaults to the page currently displayed).</div>
</li>
<li class="level1"><div class="li"> Paper size (that is loaded into your printer).</div>
</li>
<li class="level1"><div class="li"> The print type:</div>
<ul>
<li class="level2"><div class="li"> Extents with margins &ndash; the current page, with margins where the printer doesn’t output.</div>
</li>
<li class="level2"><div class="li"> Extents no margins &ndash; the current page, but without margins where the printer doesn’t output. The printer output may be scaled larger than when using “Entents with margins”, but at the loss along the borders of the schematic.</div>
</li>
<li class="level2"><div class="li"> Current window &ndash; Scaled to fit the page size, but not optimally.</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Orientation:</div>
<ul>
<li class="level2"><div class="li"> Landscape</div>
</li>
<li class="level2"><div class="li"> Portrait</div>
</li>
</ul>
</li>
</ul>

<p>
 Pressing Print will generate a PostScript file with the filname format of the form {filename}.ps (e.g., printing schematic file First_1.sch would generate First_1.ps).<br/>
 Printing the PostScript file to your printer is distribution dependent:</p>
<dl>
<dt><span class='term'> Fedora Core (from the command-line):</span></dt>
<dd><code>lp First_1.ps</code></dd>
</dl>


</div>
<!-- SECTION "Print... (fp)" [58884-59930] -->
<h3><a name="write_png..._fi" id="write_png..._fi">Write PNG... (fi)</a></h3>
<div class="level3">

<p>
<strong>File | Write <acronym title="Portable Network Graphics">PNG</acronym>&hellip;</strong> brings up the Write <acronym title="Portable Network Graphics">PNG</acronym>&hellip; dialog box. Note you must have libgdgeda installed (and any required dependencies) if you want to output images.<br/>
 The dialog box allows you to select:
</p>
<ul>
<li class="level1"><div class="li"> Width x Height:</div>
<ul>
<li class="level2"><div class="li"> 320 x 240</div>
</li>
<li class="level2"><div class="li"> 640 x 480</div>
</li>
<li class="level2"><div class="li"> 800 x 600</div>
</li>
<li class="level2"><div class="li"> 1024 x 768</div>
</li>
<li class="level2"><div class="li"> 1280 x 960</div>
</li>
<li class="level2"><div class="li"> 1600 x 1200</div>
</li>
<li class="level2"><div class="li"> 3200 x 2400</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Filename (if <strong>gschem</strong> has multiple pages loaded, the currently displayed page’s filname is given)</div>
</li>
</ul>

<p>
 When the OK button is clicked, a <acronym title="Portable Network Graphics">PNG</acronym> graphic file with a filename of the form {filename}.png is created (e.g., writing a <acronym title="Portable Network Graphics">PNG</acronym> for schematic file First_1.sch will generate a First_1.png file).<br/>
 This file may be used any way a <acronym title="Portable Network Graphics">PNG</acronym> file is used (e.g., web-page, document insertion, image manipulation with the GIMP, etc.).
</p>

</div>
<!-- SECTION "Write PNG... (fi)" [59931-60725] -->
<h3><a name="execute_script..._ft" id="execute_script..._ft">Execute Script... (ft)</a></h3>
<div class="level3">

<p>
<strong>File | Execute Script&hellip;</strong> &hellip;..TBD
</p>

</div>
<!-- SECTION "Execute Script... (ft)" [60726-60797] -->
<h3><a name="close_window_fc" id="close_window_fc">Close Window (fc)</a></h3>
<div class="level3">

<p>
<strong>File | Close Window</strong> closes the current window. If there are any modified schematics, the “There are unsaved schematics” dialog box will appear. Clicking OK will cause all unsaved schematics to be lost.
</p>

</div>
<!-- SECTION "Close Window (fc)" [60798-61036] -->
<h3><a name="quit_alt-q" id="quit_alt-q">Quit (Alt-q)</a></h3>
<div class="level3">

<p>
<strong>File | Quit</strong> closes all opened windows and exits <strong>gschem</strong>. A “There are unsaved schematics” dialog box will appear for each window that has unsaved schematics.
</p>

</div>
<!-- SECTION "Quit (Alt-q)" [61037-61229] -->
<h2><a name="edit" id="edit">Edit</a></h2>
<div class="level2">

<p>
The following are available from the <strong>gschem</strong> main window’s menu-bar when you expand <strong>Edit</strong>:
</p>

</div>
<!-- SECTION "Edit" [61230-61346] -->
<h3><a name="undo_shift-u" id="undo_shift-u">Undo (shift-u)</a></h3>
<div class="level3">

<p>
<strong>Edit | Undo</strong> does exactly that, it undos the last action which changed the schematic.<br/>
 The depth of undo (how many undo steps can be performed) is set in the system-gschemrc file. The default is 10. Simply override this setting by placing the following lines in either your ~/.gEDA/gschemrc file or your local gschemrc file: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">; undo-levels number
;
; Determines the number of levels of undo.  Basically this number decides 
; how many backup schematics are saved on disk.
;
(undo-levels 10)</font></pre>
</p>

<p>
After every action (including zooming and panning) the schematic is saved to disk (in /tmp). The undo-levels setting determines how many of these temporary files are maintained in the /tmp directory. <strong>gschem</strong> does clean-up after itself when you exit.<br/>
 Should <strong>gschem</strong> crash, the saved files remain in /tmp for disaster recovery. You will be prompted the next time the schematic is opened to recover from the backup.<br/>

</p>

</div>
<!-- SECTION "Undo (shift-u)" [61347-62305] -->
<h3><a name="redo_shift-r" id="redo_shift-r">Redo (shift-r)</a></h3>
<div class="level3">

<p>
<strong>Edit | Redo</strong> only applies after you have done an <strong>Edit | Undo</strong>. You can undo something and then immediately redo it. However if you do anything in between you will lose the undo info. You can undo and redo to your hearts desire up and down till you reach the max undo levels.<br/>

</p>

</div>
<!-- SECTION "Redo (shift-r)" [62306-62614] -->
<h3><a name="select_mode_s" id="select_mode_s">Select Mode (s)</a></h3>
<div class="level3">

<p>
<strong>Edit | Select Mode</strong> is the initial mode in which <strong>gschem</strong> starts.<br/>
 When in <strong>Select Mode</strong>, an unlocked object (i.e., component, line, box, circle, &hellip;) may be selected by placing the mouse pointer within the outline of the object and single-clicking, or by dragging a box (i.e., holding down the first mouse-button) around the object. Selecting an already selected object will leave the object selected (i.e., you can not unselect an object by single-clicking it). Multiple unlocked objects may be selected by dragging a box around the objects.<br/>
 A locked object may be selected by dragging a box around the object.<br/>
 To de-select all objects, single-click anywhere on the schematic where there is no object.<br/>
 A visible attribute for an unlocked component may be selected by placing the mouse pointer over the component’s visible attribute and single-clicking. Placing the mouse pointer over the unlocked component’s visible attribute and double-clicking will open the edit dialog box appropriate for the attribute.<br/>
 Objects will change color when selected.<br/>
 You stay in <strong>Select Mode</strong> until you select one of the other Modes (e.g., Line, Copy, Move, etc.).<br/>
 Your current Mode is displayed on the status-bar, in the lower-right corner of the <strong>gschem</strong> window.<br/>
 If multiple objects overlap, single-clicking where they overlap will cycle through the objects.<br/>
 If you hold down the SHIFT key and single-click, you can select and deselect multiple objects. Doing this with multiple overlapping objects will cause the selection to cycle among the possible object selections.<br/>
 If you hold down the CONTROL key and single-click, you will toggle the object in and out of the current selection list.<br/>
 If you hold down the SHIFT key while drawing a selection box you will add to the currently selected objects. Objects cannot be removed using the selection box and holding down the SHIFT key.<br/>
 If you hold down the CONTROL key while drawing a selection box then you will toggle any encompassed objects. If an object was selected then it will be unselected and vice versa.<br/>
 If you pick a component, its visible and invisible attributes are selected as well. If you just want to select the object, you must deselect the attributes.<br/>
 The selection mechanisms are not obvious and do require some practice. There are some quirks so please report them as you come across them.
</p>

</div>
<!-- SECTION "Select Mode (s)" [62615-65022] -->
<h3><a name="edit..._ee" id="edit..._ee">Edit... (ee)</a></h3>
<div class="level3">

<p>
First, select the object to be edited (i.e., in <strong>Select Mode</strong>).<br/>
 If the object is a component, <strong>Edit | Edit&hellip;</strong> then pops up a dialog box that allows you to edit the component’s attributes:
</p>
<ul>
<li class="level1"><div class="li"> Existing attributes (e.g., refdes) are displayed.</div>
</li>
<li class="level1"><div class="li"> A drop-down list of pre-defined attributes permits selection, and a edit-box provides association of a value to the attribute.</div>
</li>
<li class="level1"><div class="li"> The attribute’ name and/or value may be made visible or invisible,</div>
</li>
</ul>

<p>
 If the ojbect is a text string, <strong>Edit&hellip;</strong> then pops up a dialog box that allows you to modify the text string’s attributes:
</p>
<ul>
<li class="level1"><div class="li"> The text string may be modified. Multiple lines of text may be entered by inserting carriage-returns.</div>
</li>
<li class="level1"><div class="li"> The text color may be modified.</div>
</li>
<li class="level1"><div class="li"> The text size may be modified.</div>
</li>
<li class="level1"><div class="li"> The text alignment:</div>
<ul>
<li class="level2"><div class="li"> Lower/middle/upper left</div>
</li>
<li class="level2"><div class="li"> Lower/middle/upper middle</div>
</li>
<li class="level2"><div class="li"> Lower/middle/upper right</div>
</li>
</ul>
</li>
</ul>

<p>
 Apply the changes by pressing OK.
</p>

<p>
<strong>Notes:</strong><br/>
 If you need to change the attributes to more than just a few components, consider saving your schematics, closing <strong>gschem</strong>, and using the <strong>gattrib</strong> application, the <strong>grenum</strong> application, or the <strong>refdes_renum</strong> application to make the changes.
</p>

</div>
<!-- SECTION "Edit... (ee)" [65023-66217] -->
<h3><a name="edit_text..._ex" id="edit_text..._ex">Edit Text... (ex)</a></h3>
<div class="level3">

<p>
First, select the text object to be edited (i.e., in <strong>Select Mode</strong>).<br/>
 <strong>Edit | Edit Text&hellip;</strong> allows you to edit just text.<br/>
 <strong>Edit | Edit Text&hellip;</strong> then pops up a dialog box that allows you to modify the text string’s attributes:
</p>
<ul>
<li class="level1"><div class="li"> The text string may be modified. Multiple lines of text may be entered by inserting carriage-returns.</div>
</li>
<li class="level1"><div class="li"> The text color may be modified.</div>
</li>
<li class="level1"><div class="li"> The text size may be modified.</div>
</li>
<li class="level1"><div class="li"> The text alignment:</div>
<ul>
<li class="level2"><div class="li"> Lower/middle/upper left</div>
</li>
<li class="level2"><div class="li"> Lower/middle/upper middle</div>
</li>
<li class="level2"><div class="li"> Lower/middle/upper right</div>
</li>
</ul>
</li>
</ul>

<p>
 Apply the changes by pressing OK.
</p>

<p>
<strong>Notes:</strong><br/>
 If you need to change the attributes to more than just a few text strings, consider saving your schematics, closing <strong>gschem</strong>, and using the <strong>gattrib</strong> application, the <strong>grenum</strong> application, or the <strong>refdes_renum</strong> application to make the changes.
</p>

</div>
<!-- SECTION "Edit Text... (ex)" [66218-67076] -->
<h3><a name="copy_mode_ec" id="copy_mode_ec">Copy Mode (ec)</a></h3>
<div class="level3">

<p>
<strong>Edit | Copy Mode</strong> allows you to copy (i.e., duplicate) the currently selected objects.<br/>
 To copy the object(s):
</p>
<ul>
<li class="level1"><div class="li"> Select the objects to be copied (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Copy Mode</strong></div>
</li>
<li class="level1"><div class="li"> Observe the status-bar now indicates <strong>Copy Mode</strong></div>
</li>
<li class="level1"><div class="li"> Click on the selected component(s) to establish an origin of reference</div>
</li>
<li class="level1"><div class="li"> Observe a shadow/outline appears for the selected components that moves with the mouse</div>
</li>
<li class="level1"><div class="li"> Place the components where you want them</div>
</li>
<li class="level1"><div class="li"> Click to anchor the copied components in place.</div>
</li>
</ul>

<p>
 After finishing the copy, you automatically return to <strong>Select Mode</strong>.<br/>
 Holding down the CONTROL key as you move the outline around will constrain the movement to be either horizontal or vertical.<br/>
 To copy objects using the shortcut keys is almost the same as above except that the origin point is selected automatically for you once you hit the copy mode shortcut.<br/>

</p>

</div>
<!-- SECTION "Copy Mode (ec)" [67077-68001] -->
<h3><a name="move_mode_em" id="move_mode_em">Move Mode (em)</a></h3>
<div class="level3">

<p>
<strong>Edit | Move Mode</strong> allows you to move the currently selected objects.<br/>
 To move the object(s):
</p>
<ul>
<li class="level1"><div class="li"> Select the objects to be moved (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Move Mode</strong></div>
</li>
<li class="level1"><div class="li"> Observe the status-bar now indicates <strong>Move Mode</strong></div>
</li>
<li class="level1"><div class="li"> Click on the selected component(s) to establish an origin of reference</div>
</li>
<li class="level1"><div class="li"> Observe a shadow/outline appears for the selected components that moves with the mouse</div>
</li>
<li class="level1"><div class="li"> Place the components where you want them</div>
</li>
<li class="level1"><div class="li"> Click to anchor the moved components in place.</div>
</li>
</ul>

<p>
 After finishing the move, you automatically return to <strong>Select Mode</strong>.<br/>
 Holding down the CONTROL key as you move the outline around will constrain the movement to be either horizontal or vertical.<br/>
 To move objects using the shortcut keys is almost the same as above except that the origin point is selected automatically for you once you hit the copy mode shortcut.<br/>

</p>

<p>
Since version 20060906, there is another way to move object(s):<br/>

</p>
<ul>
<li class="level1"><div class="li"> Select the objects to be moved (i.e., in <strong>Select Mode</strong>).<br/>
</div>
</li>
<li class="level1"><div class="li"> Put the mouse pointer on one of the selected objects, then drag the objects and drop them where you want them.<br/>
</div>
</li>
</ul>

</div>
<!-- SECTION "Move Mode (em)" [68002-69155] -->
<h3><a name="delete_delete-key" id="delete_delete-key">Delete (Delete-key)</a></h3>
<div class="level3">

<p>
<strong>Edit | Delete</strong> allows you to remove objects off of the page.<br/>
 To delete objects:
</p>
<ul>
<li class="level1"><div class="li"> Select the desired object(s) (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Delete</strong></div>
</li>
</ul>

<p>
 The object(s) will be deleted immediately. If you inadvertantly delete a component, you can use Undo to recover.
</p>

</div>
<!-- SECTION "Delete (Delete-key)" [69156-69474] -->
<h3><a name="rotate_90_mode_er" id="rotate_90_mode_er">Rotate 90 Mode (er)</a></h3>
<div class="level3">

<p>
<strong>Edit | Rotate 90 Mode</strong> allows you to rotate objects 90 degrees around a pivot/center point.<br/>
 To rotate objects:
</p>
<ul>
<li class="level1"><div class="li"> Select the desired object(s) (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Rotate 90 Mode</strong></div>
</li>
<li class="level1"><div class="li"> Click on the pivot (or center) point of the rotate</div>
</li>
</ul>

<p>
 The object(s) will be rotated 90º counter-clockwise immediately. If you inadvertantly rotate a component, you can use Undo to recover.<br/>
 Rotating objects using the shortcut keys is similar to above except that the center point is the last mouse position at which you typed the shortcut.<br/>

</p>

</div>
<!-- SECTION "Rotate 90 Mode (er)" [69475-70064] -->
<h3><a name="mirror_mode_ei" id="mirror_mode_ei">Mirror Mode (ei)</a></h3>
<div class="level3">

<p>
<strong>Edit | Mirror Mode</strong> allows you to mirror objects horizontally around a pivot point.<br/>
 To mirror objects:
</p>
<ul>
<li class="level1"><div class="li"> Select the desired object(s) (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Mirror Mode</strong></div>
</li>
<li class="level1"><div class="li"> Click on the pivot (or center) point of the mirror</div>
</li>
</ul>

<p>
 Mirroring objects using the shortcut keys is similar to above except that the pivot point is the last mouse position at which you typed the shortcut.<br/>
 Objects are mirrored horizontally about the pivot point. If you want to get a vertical mirror then rotate and mirror the object(s) till you get the desired position.<br/>
 Mirroring of embedded components is not supported.
</p>

</div>
<!-- SECTION "Mirror Mode (ei)" [70065-70721] -->
<h3><a name="slot..._e_shift-s" id="slot..._e_shift-s">Slot... (e shift-s)</a></h3>
<div class="level3">

<p>
Some physical packages (e.g., the classic 7400 Quad NAND gate) contain more than one logical component (e.g., one of the NAND gates). In <strong>gchem</strong> terminology, each of these logical components is termed a “slot” (e.g., there would be 4 slots in the 7400 Quad NAND gate). Each slot is associated with specific pins on the physical package.<br/>
 <strong>Edit | Slot&hellip;</strong> allows you to change the slot number of a multiple-slot package. The package must support slotting. Refer to the <a href="http://www.geda.seul.org/docs/current/symbols/index.html" class="urlextern" title="http://www.geda.seul.org/docs/current/symbols/index.html"  rel="nofollow">gEDA/gaf Symbol Creation Document</a> for more details.<br/>
 To change the slot number (i.e., select which package pins are associated with a logical component):
</p>
<ul>
<li class="level1"><div class="li"> Select the desired logical component (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Slot&hellip;</strong></div>
</li>
<li class="level1"><div class="li"> Change the “slot=n” value in the “Edit slot number” dialog box</div>
</li>
<li class="level1"><div class="li"> Press OK</div>
</li>
</ul>

<p>
 Note that selecting the slot on a package often effects the layout of the printed circuit board, as the slot may be on the wrong side of the package for effecient routing of nets. Don’t worry, you can always come back and change the slot selection once you start laying out your board and know which slots route best.
</p>

</div>
<!-- SECTION "Slot... (e shift-s)" [70722-71938] -->
<h3><a name="color..._eo" id="color..._eo">Color... (eo)</a></h3>
<div class="level3">

<p>
<strong>Edit | Color&hellip;</strong> allows you to change the color of any selected object (with the exception of components).<br/>
 To change the color of the currently selected objects:
</p>
<ul>
<li class="level1"><div class="li"> Select the desired object(s) (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Color&hellip;</strong></div>
</li>
<li class="level1"><div class="li"> The “Edit | Color Edit” dialog box, with a drop down list for colors, will appear:</div>
<ul>
<li class="level2"><div class="li"> 1 | pin | black</div>
</li>
<li class="level2"><div class="li"> 2 | net endpoint | red</div>
</li>
<li class="level2"><div class="li"> 3 | graphic | green4</div>
</li>
<li class="level2"><div class="li"> 4 | net | blue2</div>
</li>
<li class="level2"><div class="li"> 5 | attribute | black</div>
</li>
<li class="level2"><div class="li"> 6 | logic bubble | DarkCyan</div>
</li>
<li class="level2"><div class="li"> 8 | detached attribute | red</div>
</li>
<li class="level2"><div class="li"> 9 | text | green4</div>
</li>
<li class="level2"><div class="li"> 10 | bus | green2</div>
</li>
<li class="level2"><div class="li"> 11 | select | firebrick</div>
</li>
<li class="level2"><div class="li"> 12 | bounding box | orange</div>
</li>
<li class="level2"><div class="li"> 13 | zoom box | DarkCyan</div>
</li>
<li class="level2"><div class="li"> 14 | stroke | grey90</div>
</li>
<li class="level2"><div class="li"> 15 | lock | grey40</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Pick the new color</div>
</li>
<li class="level1"><div class="li"> Press Apply</div>
</li>
</ul>

<p>
 The color change will take effect once you press Apply.<br/>
 You can leave this dialog box up and select other objects and change their color by pressing Apply.
</p>

</div>
<!-- SECTION "Color... (eo)" [71939-72897] -->
<h3><a name="lock_el_unlock_e_shift-l" id="lock_el_unlock_e_shift-l">Lock (el) / Unlock (e shift-l)</a></h3>
<div class="level3">

<p>
<strong>Edit | Lock</strong> and <strong>Edit | Unlock</strong> allow you to lock/unlock components in a schematic. A locked component cannot be selected by a single click. To select locked component(s), drag a box around the component(s).<br/>
 Locking a component is useful for components such as title blocks, which should not be selectable because there are other objects inside its boundaries. If the titleblock was not locked, and you missed selecting a component by clicking it with the mouse, you would end up selecting the titleblock instead.<br/>
 Locking a component is also useful just to prevent it from being inadvertantly selected.<br/>
 To lock/unlock components:
</p>
<ul>
<li class="level1"><div class="li"> Select the desired object(s) (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Lock</strong> or <strong>Edit | Unlock</strong></div>
</li>
</ul>

<p>
 The locked/unlocked state of components is preserved when <strong>gschem</strong> exits, so components which were locked remain locked the next time the schematic is opened.<br/>
 You can lock and unlock regular objects (e.g., lines, pins, boxes&hellip;). This is nice when you are drawing something and an object is in the way. Just lock it, and you will not have to think about it when you click to select other objects. Locking an object is not preserved in the file format, so once you quit <strong>gschem</strong> any locked objects will be unlocked the next time the schematic is opened.<br/>
 Note that if a component is locked, you can not single-click to select a visible attribute, or double-click to select and edit a visible component. First unlock such locked components.
</p>

</div>
<!-- SECTION "Lock (el) / Unlock (e shift-l)" [72898-74436] -->
<h3><a name="line_width_type..._ew" id="line_width_type..._ew">Line Width &amp; Type... (ew)</a></h3>
<div class="level3">

<p>
The <strong>Edit | Line Width &amp; Type&hellip;</strong> dialog box lets you control the width and type of lines, boxes, circles, and arcs on the schematic/symbol.<br/>
 To change the <strong>Line Width &amp; Type&hellip;</strong>:
</p>
<ul>
<li class="level1"><div class="li"> Select the desired object(s) (i.e., in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Line Width &amp; Type&hellip;</strong></div>
</li>
<li class="level1"><div class="li"> The “Edit Line Width * Type” dialog box displays</div>
</li>
<li class="level1"><div class="li"> Change the following as suites the object:</div>
<ul>
<li class="level2"><div class="li"> Line Width</div>
</li>
<li class="level2"><div class="li"> Line Type</div>
</li>
<li class="level2"><div class="li"> Line Dash Length</div>
</li>
<li class="level2"><div class="li"> Line Dash Space</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Press OK to apply the changes</div>
</li>
</ul>

<p>
 Note that if the line width doesn’t seem to change, just pick a larger value.
</p>

</div>
<!-- SECTION "Line Width & Type... (ew)" [74437-75052] -->
<h3><a name="fill_type..._ef" id="fill_type..._ef">Fill Type... (ef)</a></h3>
<div class="level3">

<p>
<strong>Edit | Fill Type&hellip;</strong> is used to fill boxes and circles.<br/>
 To fill a box or circle:
</p>
<ul>
<li class="level1"><div class="li"> Select the box or circle.</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Fill Type&hellip;</strong>. The “Edit FIll Type” dialog box is displayed.</div>
</li>
<li class="level1"><div class="li"> Enter:</div>
<ul>
<li class="level2"><div class="li"> Fill Type</div>
</li>
<li class="level2"><div class="li"> Line Width</div>
</li>
<li class="level2"><div class="li"> Angle 1</div>
</li>
<li class="level2"><div class="li"> Pitch 1</div>
</li>
<li class="level2"><div class="li"> Angle 2</div>
</li>
<li class="level2"><div class="li"> Pitch 2</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Press OK.</div>
</li>
</ul>

</div>
<!-- SECTION "Fill Type... (ef)" [75053-75393] -->
<h3><a name="symbol_translate..._et" id="symbol_translate..._et">Symbol Translate... (et)</a></h3>
<div class="level3">

<p>
<strong>Edit | Symbol Translate&hellip;</strong> is used when creating a symbol, to translate the symbol to an origin for subsequent placement. The symbol may take an optional offset (in mils), as appropriate to the symbol.<br/>
 To translate the symbol:
</p>
<ul>
<li class="level1"><div class="li"> Open a file for the symbol</div>
</li>
<li class="level1"><div class="li"> Set the grid snap spacing to 100 mils (<strong>Options</strong> | <strong>Snap Grid Spacing&hellip;</strong>).</div>
</li>
<li class="level1"><div class="li"> Toggle the grid ON (<strong>Options</strong> | <strong>Toggle Grid On/Off</strong>)</div>
</li>
<li class="level1"><div class="li"> Toggle the grid snap ON (<strong>Options</strong> | <strong>Toggle Snap On/Off</strong>)</div>
</li>
<li class="level1"><div class="li"> Zoom as appropriate for the symbol’s dimensions</div>
</li>
<li class="level1"><div class="li"> Draw the symbol, according to the recommendations in the <a href="http://www.geda.seul.org/docs/current/symbols/index.html" class="urlextern" title="http://www.geda.seul.org/docs/current/symbols/index.html"  rel="nofollow">gEDA/gaf Symbol Creation Document</a></div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Symbol Translate&hellip;</strong></div>
</li>
<li class="level1"><div class="li"> The “Translate” dialog box is displayed.</div>
</li>
<li class="level1"><div class="li"> Enter 0 to translate to the origin, or enter a value (in mils), positive or negative, to offset the symbol from the origin.</div>
</li>
<li class="level1"><div class="li"> Press OK to apply</div>
</li>
<li class="level1"><div class="li"> Save the symbol to the file</div>
</li>
</ul>

<p>
 If you enter a 0, then all the objects will be translated to the origin.<br/>
 If you enter a non-zero offset, this will be applied equally in both the X and the Y directions.<br/>

</p>

</div>
<!-- SECTION "Symbol Translate... (et)" [75394-76558] -->
<h3><a name="embed_component_picture_eb" id="embed_component_picture_eb">Embed Component/Picture (eb)</a></h3>
<div class="level3">

<p>
<strong>gschem</strong> supports the concept of embedded components and graphics, where all the information necessary to display a component/graphic is placed in the schematic file. <strong>Edit | Embed Component/Picture</strong> causes schematic files to be significantly larger, but it makes it easy to share schematics with other people or archive schematics. You should only embed components when absolutely necessary.<br/>
 To <strong>Embed Component/Picture</strong>:
</p>
<ul>
<li class="level1"><div class="li"> Select the component/picture (in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Embed Component/Picture</strong></div>
</li>
</ul>

<p>
 Save the schematic. The schematic file will now contain the text strings for the embedded component or embedded graphic.<br/>
 The <strong>Add Component&hellip;</strong> dialog box allows you to optionally embed the component.<br/>
 The <strong>Add Picture&hellip;</strong> dialog box does NOT allow you to optionally embed the component.<br/>
 You can only embed and unembed components. Also, you cannot embed and then mirror a component (this is a limitation of <strong>gschem</strong> and will eventually be fixed).
</p>

</div>
<!-- SECTION "Embed Component/Picture (eb)" [76559-77588] -->
<h3><a name="unembed_component_picture_eu" id="unembed_component_picture_eu">Unembed Component/Picture (eu)</a></h3>
<div class="level3">

<p>
<strong>Edit | Unembed Component/Picture</strong> will move the component’s or graphic’s information from the schematic file’s contents and output it to the original file’s path/filename (i.e., the schematic file includes the path/filename information). To <strong>Unembed Component/Picture</strong>:
</p>
<ul>
<li class="level1"><div class="li"> Select the component/picture (in <strong>Select Mode</strong>)</div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Unembed Component/Picture</strong></div>
</li>
</ul>

<p>
 Save the schematic. The schematic file will now NOT contain the text strings for the embedded component or embedded graphic.<br/>
 You can only embed and unembed components.
</p>

</div>
<!-- SECTION "Unembed Component/Picture (eu)" [77589-78178] -->
<h3><a name="update_component_ep" id="update_component_ep">Update Component (ep)</a></h3>
<div class="level3">

<p>
<strong>Edit | Update Component</strong> updates a component’s definition.<br/>
 A symbol can be modified from within <strong>gschem</strong> using the following sequence:
</p>
<ul>
<li class="level1"><div class="li"> Select the component for which the symbol should be changed.</div>
</li>
<li class="level1"><div class="li"> Select <strong>Hierarchy | Down Symbol</strong>. This takes you to the symbol editor</div>
</li>
<li class="level1"><div class="li"> Modify the symbol. This includes modifying the symbol’s graphic objects, adding/changing/deleting attributes, and moving objects with respect to the origin</div>
</li>
<li class="level1"><div class="li"> Don’t forget to <strong>Edit | Symbol Translate</strong></div>
</li>
<li class="level1"><div class="li"> Select <strong>File | Save Page</strong> to save the symbol to it’s file</div>
</li>
<li class="level1"><div class="li"> Select <strong>Hierarchy | Up Symbol</strong>. This returns you to the schematic editor</div>
</li>
<li class="level1"><div class="li"> With the component still selected, select <strong>Edit | Update Component</strong> to update the componet’s description from the modified symbol’s definition</div>
</li>
<li class="level1"><div class="li"> Select each component on the schematic(s) made from this symbol, and select <strong>Edit | Update Component</strong></div>
</li>
</ul>

<p>
 New components placed on the schematic from this updated symbol will use the new symbol definition.<br/>
 Components placed on the schematic from this symbol will be updated the next time this schematic is opened.<br/>
 The symbol’s <code>symversion</code> attribute will automatically be incremented for non-trivial changes when the symbol is saved. When a schematic is opened by <strong>gschem</strong>, all symbols used by the schematic are read from their libraries. The <code>symversion</code> attribute of the symbol read from the library is compared to the <code>symversion</code> attribute of the components in the schematic. If the <code>symversion</code> attributes are different, the <code>symversion</code> attribute is exposed on the schematic for those symbols effected. Note that:
</p>
<ul>
<li class="level1"><div class="li"> This is a “hint” to the designer to check the symbol.</div>
</li>
<li class="level1"><div class="li"> You need to actually open a schematic file with <strong>gschem</strong> for the components to be updated.</div>
</li>
</ul>

</div>
<!-- SECTION "Update Component (ep)" [78179-79988] -->
<h3><a name="show_hide_inv_text_en" id="show_hide_inv_text_en">Show/Hide Inv Text (en)</a></h3>
<div class="level3">

<p>
<strong>Edit | Show/Hide Inv Text</strong> is most appropriate when creating or editing symbols, to view or hide the text for all of the symbol’s invisible attributes.<br/>
 <a href="#make_inv_text_vis" title="geda:gschem_ug &crarr;" class="wikilink1">Make Inv Text Vis</a> is most appropriate when adding symbols to schematics, to view the text for the symbol’s modifiable invisible attributes.<br/>
 <strong>Edit | Show/Hide Inv Text</strong> toggles between making all invisible text visible and hiding all invisible text. When selected, all objects in the symbol are effected.<br/>
 Visible text always remains visible.<br/>
 A symbol has the following <em class="u">potential</em> attributes :
</p>
<ul>
<li class="level1"><div class="li"> netname</div>
</li>
<li class="level1"><div class="li"> refdes</div>
</li>
<li class="level1"><div class="li"> slot</div>
</li>
<li class="level1"><div class="li"> value</div>
</li>
<li class="level1"><div class="li"> net</div>
</li>
<li class="level1"><div class="li"> device</div>
</li>
<li class="level1"><div class="li"> pinnumber</div>
</li>
<li class="level1"><div class="li"> pinseq</div>
</li>
<li class="level1"><div class="li"> pintype</div>
</li>
<li class="level1"><div class="li"> pinlabel</div>
</li>
<li class="level1"><div class="li"> source</div>
</li>
<li class="level1"><div class="li"> numslots</div>
</li>
<li class="level1"><div class="li"> slotdef</div>
</li>
<li class="level1"><div class="li"> graphical</div>
</li>
<li class="level1"><div class="li"> footprint</div>
</li>
<li class="level1"><div class="li"> description</div>
</li>
<li class="level1"><div class="li"> documentation</div>
</li>
<li class="level1"><div class="li"> symversion</div>
</li>
<li class="level1"><div class="li"> comment</div>
</li>
<li class="level1"><div class="li"> file</div>
</li>
<li class="level1"><div class="li"> model-name</div>
</li>
</ul>

<p>
 Not all attributes need to be used to define a symbol (see the discussion of <a href="docs_20060124_gschem_ug_app_a.html" class="wikilink2" title="docs:20060124:gschem_ug:app_a">Appendix A -- Heavy vs Light Symbol Libraries</a>). The <strong>gschem</strong> default is to define symbols as “light”, indicating that the symbol includes as few attributes as necessary to describe the symbol. “light” symbols depend on the designer attaching additional descriptive attributes to the symbol when the symbol is placed on the schematic. For example: a “light” symbol for a resistor might include just the graphic for a resistor, its pin attributes, and the “refdes” attribute. This describes a resistor. It would be the designer’s responsibility, after the resistor has been placed on the schematic, to add the “value” and “footprint” attributes appropriate for the specific resistor in the circuit. A “heavy” symbol includes more descriptive attributes. Using “light” vs. “heavy” symbols is up to the designer.<br/>
 A symbol’s attributes may be flagged as either visible or invisible. Attributes are flagged as invisible to reduce the clutter around a symbol on the schematic.<br/>
 When creating or editing the symbol, and changing a visible attribute to an invisible attribute, the attribute can not be viewed during further editing of the symbol. It becomes difficult to place attribute text. To view both the visible and invisible text, select <strong>Edit | Show/Hide Inv Text</strong>.<br/>
 When a symbol is instantiated on a schematic as a component, only the symbol’s visible attributes are promoted to the component. For example: if a resistor’s symbol defines “refdes” as the only visible attribute defined in the symbol, the only attribute that the component contains is the “refdes” attribute). Those attributes not included in the symbol definition may be added at the schematic level, component-by-component.<br/>
 This operation is useful when drawing/debugging symbols.<br/>
 When hidden text is visible, “Show Hidden” will appear on the status-bar in the lower right.
</p>

</div>
<!-- SECTION "Show/Hide Inv Text (en)" [79989-82816] -->
<h3><a name="make_inv_text_vis_ev" id="make_inv_text_vis_ev">Make Inv Text Vis (ev)</a></h3>
<div class="level3">

<p>
<strong>Edit | Make Inv Text Vis</strong> is a quick method of making all of a component’s invisible attributes visible. The same effect can be accomplished by double-clicking on the component and marking all of the entries in the Attributes listbox as “Vis?&quot; (i.e., visible).<br/>
 To <strong>Make Inv Text Vis</strong> for a component:
</p>
<ul>
<li class="level1"><div class="li"> Select the component(s) in <strong>Select Mode</strong></div>
</li>
<li class="level1"><div class="li"> Select <strong>Edit | Make Inv Text Vis</strong></div>
</li>
</ul>

<p>
 The attributes that had been hidden are displayed.<br/>
 To hide the attributes again, you need to double-click the component to bring up it’s “Edit Attributes” dialog box, and explicitly place a check for each attribute you want hidden.
</p>

</div>
<!-- SECTION "Make Inv Text Vis (ev)" [82817-83480] -->
<h2><a name="buffer" id="buffer">Buffer</a></h2>
<div class="level2">

<p>
<strong>gschem</strong> supports 5 copy/cut/paste buffers which are visible across all opened pages and windows.
</p>

</div>
<!-- SECTION "Buffer" [83481-83600] -->
<h3><a name="copy_into_1_2_3_4_5_yc" id="copy_into_1_2_3_4_5_yc">Copy into 1/2/3/4/5 (yc)</a></h3>
<div class="level3">

<p>
To copy something into a buffer:
</p>
<ol>
<li class="level1"><div class="li"> Select the objects you want to copy.</div>
</li>
<li class="level1"><div class="li"> Select Buffer/Copy/Copy into buffer #.</div>
</li>
</ol>

</div>
<!-- SECTION "Copy into 1/2/3/4/5 (yc)" [83601-83753] -->
<h3><a name="cut_into_1_2_3_4_5_yu" id="cut_into_1_2_3_4_5_yu">Cut into 1/2/3/4/5 (yu)</a></h3>
<div class="level3">

<p>
Cut is like copy in that it removes the objects from the schematic
</p>

</div>
<!-- SECTION "Cut into 1/2/3/4/5 (yu)" [83754-83855] -->
<h3><a name="paste_from_1_2_3_4_5_yp" id="paste_from_1_2_3_4_5_yp">Paste from 1/2/3/4/5 (yp)</a></h3>
<div class="level3">

<p>
To paste a buffer into the current schematic:
</p>
<ol>
<li class="level1"><div class="li"> Fill the buffer using the above Copy or Cut.</div>
</li>
<li class="level1"><div class="li"> Go to the new schematic page/window.</div>
</li>
<li class="level1"><div class="li"> Select Buffer/Paste/Paste from buffer #.</div>
</li>
<li class="level1"><div class="li"> Click the first mouse button to pick an anchor point.</div>
</li>
<li class="level1"><div class="li"> Move the mouse to the final spot.</div>
</li>
<li class="level1"><div class="li"> Click the first mouse button again.</div>
</li>
</ol>

</div>
<!-- SECTION "Paste from 1/2/3/4/5 (yp)" [83856-84209] -->
<h2><a name="view" id="view">View</a></h2>
<div class="level2">

</div>
<!-- SECTION "View" [84210-84227] -->
<h3><a name="redraw_vr" id="redraw_vr">Redraw (vr)</a></h3>
<div class="level3">

<p>
<strong>View | Redraw</strong> re-paints the current window.<br/>
 This is useful when you have mouse/component/line/text etc&hellip; droppings left over from a previous action. It is also useful when you want to update all visual connectivity cues.
</p>

</div>
<!-- SECTION "Redraw (vr)" [84228-84478] -->
<h3><a name="pan_x" id="pan_x">Pan (x)</a></h3>
<div class="level3">

<p>
<strong>View | Pan</strong> lets you change the focus of the display.<br/>
 To pan the display:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>View | Pan</strong></div>
</li>
<li class="level1"><div class="li"> Click the first mouse button at the new center of the display.</div>
</li>
</ul>

<p>
 To pan the display using the shortcut is much simpler, simply place the mouse pointer where you want the display centered and type “x”. The display will jump to the mouse’s location.<br/>
 Pan behavior is configurable. The system-gschemrc file defines: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(third-button &quot;popup&quot;)</font></pre>
</p>

<p>
If you override the system-gschemrc’s default, of popping up a menu when the third mouse button is clicked, by adding: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(third-button &quot;mousepan&quot;)</font></pre>
</p>

<p>
to either your user’s ~/gschemrc file or local ‘pwd’/gschemrc file, the third mouse button (i.e., the right mouse button on scroll-wheel mice) will allow you to pan the schematic by holding down the third mouse button and dragging.<br/>
 The system-gschemrc file also defines: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(fast-mousepan &quot;enabled&quot;)</font></pre>
</p>

<p>
If you override the system-gschemrc’s default by adding: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(fast-mousepan &quot;disabled&quot;)</font></pre>
</p>

<p>
to either your user’s ~/gschemrc file or local ‘pwd’/gschemrc file, text will be displayed properly when the third mouse button is held down while dragging. The <code>(third-button “mousepan”)</code> setting must also be applied for this to work. Disabling <code>fast-mousepan</code> adversely effects rendering speed while panning on large “complicated” schematics.<br/>
 The system-gschemrc file also defines: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(zoom-with-pan &quot;enabled&quot;)</font></pre>
</p>

<p>
If you override the system-gschemrc’s default by adding: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(zoom-with-pan &quot;disabled&quot;)</font></pre>
</p>

<p>
to either your user’s ~/gschemrc file or local ‘pwd’/gschemrc file, whenever you zoom in/out, the zoom will NOT center on the mouse pointer, effectively removing the pan feature of the zoom in/out operations.
</p>

</div>
<!-- SECTION "Pan (x)" [84479-86275] -->
<h3><a name="zoom_box_w" id="zoom_box_w">Zoom Box (w)</a></h3>
<div class="level3">

<p>
<strong>View | Zoom Box</strong> allows you to draw a box around a part of the <strong>gschem</strong> window and zoom  in.<br/>
 To use <strong>View | Zoom Box</strong>:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>View | Zoom Box</strong></div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer at one corner of the box you want to draw</div>
</li>
<li class="level1"><div class="li"> Click and hold down the first mouse button</div>
</li>
<li class="level1"><div class="li"> Drag the mouse, drawing the zoom box around the area to which you want to zoom</div>
</li>
<li class="level1"><div class="li"> Release the mouse button and the display will zoom</div>
</li>
</ul>

<p>
 To use <strong>View | Zoom Box</strong> by typing the equivalent shortcut (i.e., “<strong>w</strong>”) is more convenient. Simply position the mouse pointer at one corner of the zoom box, then type “<strong>w</strong>”.  The zoom box will start immediately using the current mouse location as the first corner of the box.<br/>
 <strong>View | Zoom Box</strong> will attempt to zoom to the requested area, but some boxes are not legal and <strong>gschem</strong> will do it’s best to zoom the requested area.
</p>

</div>
<!-- SECTION "Zoom Box (w)" [86276-87156] -->
<h3><a name="zoom_extents_ve" id="zoom_extents_ve">Zoom Extents (ve)</a></h3>
<div class="level3">

<p>
<strong>View | Extents</strong> will zoom the display to fit all of the placed objects into the current window.<br/>
 To view all of the current window’s objects:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>View | Extents</strong></div>
</li>
</ul>

<p>
 Typing the <strong>View | Extents</strong> shortcut (i.e., “<strong>ve</strong>”) is particularly convenient for those that have learned to navigate the schematics using the shortcuts.<br/>

</p>

</div>
<!-- SECTION "Zoom Extents (ve)" [87157-87523] -->
<h3><a name="zoom_in_z" id="zoom_in_z">Zoom In (z)</a></h3>
<div class="level3">

<p>
<strong>View | Zoom In</strong> zooms the display in. The current center of the window is the center of the new window. This command zooms in by a factor.<br/>
 To zoom in:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>View | Zoom In</strong></div>
</li>
</ul>

<p>
 The (zoom-with-pan “enabled”) configuration setting in the gschemrc files effects the operation of the zoom in shortcut (i.e., “<strong>z</strong>”). The default system-gschemrc setting for: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(zoom-with-pan &quot;enabled&quot;)</font></pre>
</p>

<p>
enables zooming in, using the mouse pointer’s location as the new center of the window. If this changed to: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(zoom-with-pan &quot;disabled&quot;)</font></pre>
</p>

<p>
in either your user’s ~/gschemrc file or local ‘pwd’/gschemrc file, whenever you zoom in, the zoom will NOT center on the mouse pointer but will center on the current center of the window, effectively removing the pan feature of the zoom in operation.<br/>
 To zoom in using the shortcut:
</p>
<ul>
<li class="level1"><div class="li"> If the default (zoom-with-pan “enabled”) is configured in one of the gschemrc files, position the mouse pointer in the window where you want the new center</div>
</li>
<li class="level1"><div class="li"> Type “<strong>z</strong>”</div>
</li>
</ul>

<p>
 Typing “<strong>z</strong>” is particularly convenient for those that have learned to navigate the schematics using the shortcuts.
</p>

</div>
<!-- SECTION "Zoom In (z)" [87524-88685] -->
<h3><a name="zoom_out_z" id="zoom_out_z">Zoom Out (Z)</a></h3>
<div class="level3">

<p>
<strong>View | Zoom Out</strong> zooms the display out. The current center of the window is the center of the new window. This command zooms out by a factor.<br/>
 To zoom out:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>View | Zoom Out</strong></div>
</li>
</ul>

<p>
 The (zoom-with-pan “enabled”) configuration setting in the gschemrc files effects the operation of the zoom out shortcut (i.e., “<strong>z</strong>”). The default system-gschemrc setting for: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(zoom-with-pan &quot;enabled&quot;)</font></pre>
</p>

<p>
enables zooming out, using the mouse pointer’s location as the new center of the window. If this changed to: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">(zoom-with-pan &quot;disabled&quot;)</font></pre>
</p>

<p>
in either your user’s ~/gschemrc file or local ‘pwd’/gschemrc file, whenever you zoom out, the zoom will NOT center on the mouse pointer but will center on the current center of the window, effectively removing the pan feature of the zoom out operation.<br/>
 To zoom out using the shortcut:
</p>
<ul>
<li class="level1"><div class="li"> If the default (zoom-with-pan “enabled”) is configured in one of the gschemrc files, position the mouse pointer in the window where you want the new center</div>
</li>
<li class="level1"><div class="li"> Type “<strong>Z</strong>” (i.e., shift-z)</div>
</li>
</ul>

<p>
 Typing “<strong>Z</strong>” is particularly convenient for those that have learned to navigate the schematics using the shortcuts.
</p>

</div>
<!-- SECTION "Zoom Out (Z)" [88686-89874] -->
<h3><a name="zoom_full_vf" id="zoom_full_vf">Zoom Full (vf)</a></h3>
<div class="level3">

<p>
<strong>View | Zoom Full</strong> will zoom the display to the maximum possible displayable view.<br/>

</p>

<p>
To view the maximum displayable area:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>View | Zoom Full</strong></div>
</li>
</ul>

<p>
 The window contents will immediately change to show the maximum possible displayable view.<br/>

</p>

<p>
To view the maximum displayable area using the keyboard shortcut (i.e., “<strong>vf</strong>”):
</p>
<ul>
<li class="level1"><div class="li"> Type “<strong>vf</strong>”</div>
</li>
</ul>

<p>
 The window contents will immediately change to show the maximum possible displayable view.<br/>

</p>

<p>
<strong>View | Zoom Full</strong> is useful if you like to put your working notes outside the titleblock for you schematic, for example. Just remember, these notes would now be considered part of the windows extents, so if you were to <strong>View | Extents</strong>, the display would show the titleblock and your working notes.
</p>

</div>
<!-- SECTION "Zoom Full (vf)" [89875-90653] -->
<h2><a name="page" id="page">Page</a></h2>
<div class="level2">

</div>
<!-- SECTION "Page" [90654-90672] -->
<h3><a name="manager..._pm" id="manager..._pm">Manager... (pm)</a></h3>
<div class="level3">

</div>
<!-- SECTION "Manager... (pm)" [90673-90700] -->
<h3><a name="next" id="next">Next (&gt;)</a></h3>
<div class="level3">

</div>
<!-- SECTION "Next (>)" [90701-90721] -->
<h3><a name="previous" id="previous">Previous (&lt;)</a></h3>
<div class="level3">

</div>
<!-- SECTION "Previous (<)" [90722-90746] -->
<h3><a name="new_pe" id="new_pe">New (pe)</a></h3>
<div class="level3">

</div>
<!-- SECTION "New (pe)" [90747-90767] -->
<h3><a name="revert_pr" id="revert_pr">Revert (pr)</a></h3>
<div class="level3">

</div>
<!-- SECTION "Revert (pr)" [90768-90791] -->
<h3><a name="close_pc" id="close_pc">Close (pc)</a></h3>
<div class="level3">

</div>
<!-- SECTION "Close (pc)" [90792-90814] -->
<h3><a name="discard_pd" id="discard_pd">Discard (pd)</a></h3>
<div class="level3">

</div>
<!-- SECTION "Discard (pd)" [90815-90839] -->
<h2><a name="add" id="add">Add</a></h2>
<div class="level2">

</div>
<!-- SECTION "Add" [90840-90856] -->
<h3><a name="component..._i" id="component..._i">Component... (i)</a></h3>
<div class="level3">

<p>
<strong>Add | Component&hellip;</strong> opens a dialog box which lets you place components from the component libraries.<br/>
 To place a component:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>Add |Component&hellip;</strong></div>
</li>
<li class="level1"><div class="li"> Select a component Library from the left list-box</div>
</li>
<li class="level1"><div class="li"> Select a component from the right list-box</div>
</li>
<li class="level1"><div class="li"> Confirm the symbol is correct by reviewing the image in the Preview window</div>
</li>
<li class="level1"><div class="li"> Move the mouse into the main drawing window (you should see an outline follow the mouse pointer).</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button to anchor the component</div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer, and keep pressing the first mouse button to anchor additional instances of the component</div>
</li>
<li class="level1"><div class="li"> When finished anchoring components, press the last mouse button or the ESC key</div>
</li>
</ul>

<p>
 If a component name is already selected, hitting apply and moving the mouse into the main window will allow you to place that component again.<br/>
 You can rotate the component before you place it by clicking the middle button. For every button click, the component will be rotate counter-clockwise 90 degrees.<br/>
 Care has been taken to give components descriptive names in the libraries, though it is sometimes difficult to determine what the component really represents from its name.<br/>
 For example: in the analog library there are four capacitor entries:
</p>
<ul>
<li class="level1"><div class="li"> capacitor-1.sym</div>
</li>
<li class="level1"><div class="li"> capacitor-2.sym</div>
</li>
<li class="level1"><div class="li"> capacitor-3.sym</div>
</li>
<li class="level1"><div class="li"> capacitor-4.sym</div>
</li>
</ul>

<p>
 It helps to preview the symbol in the “Select Component” dialog box before selecting and placing the symbol.
</p>

</div>
<!-- SECTION "Component... (i)" [90857-92333] -->
<h3><a name="net_n" id="net_n">Net (n)</a></h3>
<div class="level3">

<p>
<strong>Net</strong> draws a net segment.<br/>
 A net is typically a contiguous set of line segments between two pins, though it is possible to draw nets between a pin and a point on another net, or between two nets.<br/>
 For example, the following diagram shows 3 net segments:
</p>
<ul>
<li class="level1"><div class="li"> Between R1 and R2</div>
</li>
<li class="level1"><div class="li"> Between R3 and R4</div>
</li>
<li class="level1"><div class="li"> Between the two nets</div>
</li>
</ul>
<table class="inline">
	<tr>
		<td> <a href="_detail/geda_nets.html" class="media" title="geda:nets.jpg"><img src="_media/geda_nets.jpg" class="media" title="nets.jpg" alt="nets.jpg" /></a> </td>
	</tr>
</table>

<p>
 Note the small red segment at the end of the resistor’s pins. All pins in <strong>gschem</strong> have this red segment. This is the connectivity cue for the pin. It is sometimes difficult to “grab” this attachment point when drawing nets, you may need to zoom in on the pin. To zoom in, press the “z” key. To zoom out, press the “Z” (i.e., shift-z) key.<br/>
 To begin drawing a net using the menu:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>Add | Net</strong></div>
</li>
<li class="level1"><div class="li"> Zoom in on the component where the net is to start, so that you can easily grab the pin’s attachment point</div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer over the pin’s connectivity cue</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button to start the net</div>
</li>
</ul>

<p>
 To begin drawing the net using the shortcut:
</p>
<ul>
<li class="level1"><div class="li"> Zoom in on the component where the net is to start, so that you can easily grab the pin’s attachment point</div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer over the pin’s connectivity cue</div>
</li>
<li class="level1"><div class="li"> Press the “n” key</div>
</li>
</ul>

<p>
 To continue drawing the net segment(s):
</p>
<ul>
<li class="level1"><div class="li"> Drag the mouse pointer in the direction of the end-point</div>
</li>
<li class="level1"><div class="li"> For any necessary 90º turns, single-click the mouse, and continue dragging the mouse pointer toward the end-point</div>
</li>
<li class="level1"><div class="li"> For any necessary non-orthogonal net segments (e.g., 45º angle), hold down the CONTROL button, single-click the mouse, and continue dragging the mouse pointer to the end-point</div>
</li>
<li class="level1"><div class="li"> When you reach the end-point, press the first mouse button to end the net segment</div>
</li>
<li class="level1"><div class="li"> Another net segment will start at the last end-point</div>
<ul>
<li class="level2"><div class="li"> If this second pin is to be connected to a third pin, continue as above</div>
</li>
<li class="level2"><div class="li"> If this is the end of the connections, press the last mouse button (or ESC) to end the net</div>
</li>
</ul>
</li>
</ul>

<p>
 Press the last mouse button or ESC to cancel any net in progress.<br/>
 If the net is cancelled you are automatically placed in <strong>Select Mode</strong>. You must pick <strong>Add | Net</strong> again or type the shortcut to add more nets.<br/>
 You cannot connect a net segment to the middle of a non-orthogonal net.<br/>
 The boxes at the end of the nets are connectivity cues. Red boxes signify a dangling net (not connected to anything).<br/>
 Filled circles are midpoint connections/junctions. These cues are drawn automatically and are an indicator of electrical connectivity.<br/>
 See <a href="docs_20060124_gschem_ug_electrical_connectivity.html" class="wikilink2" title="docs:20060124:gschem_ug:electrical_connectivity">Electrical Connectivity</a> for more information.
</p>

</div>
<!-- SECTION "Net (n)" [92334-94925] -->
<h3><a name="bus_u" id="bus_u">Bus (u)</a></h3>
<div class="level3">

<p>
<strong>Add | Bus</strong> is basically the same as <strong>Add | Net</strong>, except that it draws buses.<br/>
 Buses are very new and there are many aspects which are not defined yet, so keep that in mind as you uses buses. More to be added here eventually.
</p>

</div>
<!-- SECTION "Bus (u)" [94926-95175] -->
<h3><a name="attribute..._aa" id="attribute..._aa">Attribute... (aa)</a></h3>
<div class="level3">

<p>
<strong>Add | Attribute&hellip;</strong> is appropriate when creating or editing symbols, to add a new attribute.<br/>
 <strong>Add | Attribute&hellip;</strong> brings up the “Single Attribute Editor” dialog box. This dialog box is ONLY used to add attributes. It does not display or manipulate already placed attributes.<br/>
 An attribute is nothing more than a text item which is in the form <code>name=value</code> (there cannot be any spaces to the left or right of the name,value pair). It can be either attached to an object, or unattached.<br/>
 To add an unattached attribute (e.g., “comment”, “documentation”, etc.) to the symbol:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>Add | Attribute&hellip;</strong></div>
</li>
<li class="level1"><div class="li"> Select an attribute name off of the pulldown list, or type the attribute name into the name entry</div>
</li>
<li class="level1"><div class="li"> Type in a value for the attribute</div>
</li>
<li class="level1"><div class="li"> Pick any of the attribute options</div>
</li>
<li class="level1"><div class="li"> Click OK, and the attribute will be placed.</div>
</li>
</ul>

<p>
 If you want to attach an attribute to an object, then select the desired object first and then <strong>Add | Attribute&hellip;</strong> from the pull-down menu. If you click on an object which has attached attributes, the attached attributes should be selected as well.<br/>
 If you select <strong>Add | Attribute&hellip;</strong> off of the pull down menus then you do not have much control as to where the attribute gets placed (it gets places either at the lower left hand corner of the object extents or at the origin of any selected object). However, if you use the hot key (i.e., “aa”) then the current mouse position is used as the anchor point for the attribute item.<br/>
 You cannot place an incomplete attribute (an attribute without a name and value).<br/>
 Please see <a href="docs_20060124_gschem_ug_components_symbols_objects_attributes.html" class="wikilink2" title="docs:20060124:gschem_ug:components_symbols_objects_attributes">Components/Symbols/Objects/Attributes</a> for more info on how to use attributes.
</p>

</div>
<!-- SECTION "Attribute... (aa)" [95176-96888] -->
<h3><a name="text..._at" id="text..._at">Text... (at)</a></h3>
<div class="level3">

<p>
<strong>Add | Text&hellip;</strong> displays the “Text Entry&hellip;” dialog box. To place text:
</p>
<ul>
<li class="level1"><div class="li"> Select <strong>Options | Text Size&hellip;</strong> and select the size for the text</div>
</li>
<li class="level1"><div class="li"> Select <strong>Add | Text&hellip;</strong></div>
</li>
<li class="level1"><div class="li"> Type the text in the entry field (multiple lines may be entered by pressing Enter)</div>
</li>
<li class="level1"><div class="li"> Press Apply or type Enter</div>
</li>
<li class="level1"><div class="li"> Move the mouse into the main window (an outline of the text should appear and follow the mouse)</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button to anchor the text</div>
</li>
<li class="level1"><div class="li"> Close the “Text Entry&hellip;” dialog box</div>
</li>
</ul>

<p>
 If you leave the <strong>Add | Text&hellip;</strong> dialog box open you can place the same text item again and again by just clicking Apply (or pressing Enter) and moving the mouse into the main window.<br/>
 The following settings in the system-gschemrc file, the user’s ~/gschemrc file, or the local ‘pwd’/gschemrc file control how text is displayed: 
</p>
<pre class="code lisp"><span class="co1">; text-origin-marker : Controls if the text origin markers are displayed.</span>
<span class="co1">; text-size : Sets the default text size.</span>
<span class="co1">; text-caps-style : Sets the default caps style used for the display of text</span>
<span class="co1">; output-text : Controls how text is rendered to postscript</span></pre>
<p>
Text which is placed will be automatically capitalized. Please see the Resource file section below on how to control this behavior.<br/>
 To cancel a text place press the last mouse button or the ESC key.<br/>
 If you create text in the form name=value, then you are creating attributes. gEDA allows for general attributes to be free floating (or unattached). It is a good idea to change the color of these floating attributes to the current attribute color (which is also called the attached attribute color) to signify that this text item is an attribute.<br/>
 You can rotate the text before you place it by clicking the middle button. For every button click, the text will be rotate 90 degrees.<br/>

</p>

</div>
<!-- SECTION "Text... (at)" [96889-98692] -->
<h3><a name="line_l" id="line_l">Line (l)</a></h3>
<div class="level3">

<p>
<strong>Add | Line</strong> draws a single line segment.<br/>
 To draw a line:
</p>
<ul>
<li class="level1"><div class="li"> If you want to snap the line to the grid, set the grid spacing by selecting <strong>Options | Snap Grid Spacing&hellip;</strong> and entering the grid spacing, and then selecting <strong>Options | Toggle Snap On/Off</strong> until you don’t see “Snap Off” on the status-bar</div>
</li>
<li class="level1"><div class="li"> Select <strong>Add | Line</strong></div>
</li>
<li class="level1"><div class="li"> If you want to constrain the line to 90º movements, hold the CONTROL key down while moving the mouse</div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer to the start-point</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button</div>
</li>
<li class="level1"><div class="li"> Move the mouse in the intended direction</div>
</li>
<li class="level1"><div class="li"> When positioned at the end-point, press the first mouse button</div>
</li>
<li class="level1"><div class="li"> Continue placing lines, until you either press the second mouse button or type the Escape key</div>
</li>
</ul>

<p>
   <strong>Add | Line</strong> draws a line in the same fashion as drawing nets with the following exceptions:
</p>
<ul>
<li class="level1"><div class="li"> A line has no electrical significance</div>
</li>
<li class="level1"><div class="li"> Only a single line segment can be drawn</div>
</li>
<li class="level1"><div class="li"> You keep drawing lines as long as you are in line <strong>Line Mode</strong>.</div>
</li>
</ul>

<p>
 To cancel a line in progress, press the last mouse button or type the ESC key.
</p>

</div>
<!-- SECTION "Line (l)" [98693-99779] -->
<h3><a name="box_b" id="box_b">Box (b)</a></h3>
<div class="level3">

<p>
<strong>Add | Box</strong> draws a box. To draw a box:
</p>
<ul>
<li class="level1"><div class="li"> If you want to snap the box to the grid, set the grid spacing by selecting <strong>Options | Snap Grid Spacing&hellip;</strong> and entering the grid spacing, and then selecting <strong>Options | Toggle Snap On/Off</strong> until you don’t see “Snap Off” on the status-bar</div>
</li>
<li class="level1"><div class="li"> Select <strong>Add | Box</strong></div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer to the start-point</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button</div>
</li>
<li class="level1"><div class="li"> Move the mouse in the intended direction</div>
</li>
<li class="level1"><div class="li"> When positioned at the end-point, press the first mouse button again</div>
</li>
<li class="level1"><div class="li"> Continue placing boxes, until you either press the second mouse button or type the ESC key</div>
</li>
</ul>

<p>
 To cancel a box in progress, press the last mouse button or type the ESC key.<br/>
 A box has no electrical significance.
</p>

</div>
<!-- SECTION "Box (b)" [99780-100532] -->
<h3><a name="circle_ai" id="circle_ai">Circle (ai)</a></h3>
<div class="level3">

<p>
<strong>Add | Circle</strong> creates a circle.<br/>
 To draw a circle:
</p>
<ul>
<li class="level1"><div class="li"> If you want to snap the box to the grid, set the grid spacing by selecting <strong>Options | Snap Grid Spacing&hellip;</strong> and entering the grid spacing, and then selecting <strong>Options | Toggle Snap On/Off</strong> until you don’t see “Snap Off” on the status-bar</div>
</li>
<li class="level1"><div class="li"> Select <strong>Add | Circle</strong></div>
</li>
<li class="level1"><div class="li"> Place the mouse pointer at the center of the circle</div>
</li>
<li class="level1"><div class="li"> Press the first button</div>
</li>
<li class="level1"><div class="li"> Move the mouse to see an outline of the circle</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button to finish the circle</div>
</li>
<li class="level1"><div class="li"> Continue placing circles, until you either press the second mouse button or type the ESC key</div>
</li>
</ul>

<p>
 To draw a circle (typing the shortcut), same as above except that you position the mouse pointer to the center-point of the circle before you type the shortcut.<br/>
 To cancel a circle in progress, press the last mouse button or the ESC key.<br/>

</p>

</div>
<!-- SECTION "Circle (ai)" [100533-101417] -->
<h3><a name="arc_ar" id="arc_ar">Arc (ar)</a></h3>
<div class="level3">

<p>
<strong>Add | Arc</strong> draws an arc. To draw an arc:
</p>
<ul>
<li class="level1"><div class="li"> If you want to snap the box to the grid, set the grid spacing by selecting <strong>Options | Snap Grid Spacing&hellip;</strong> and entering the grid spacing, and then selecting <strong>Options | Toggle Snap On/Off</strong> until you don’t see “Snap Off” on the status-bar</div>
</li>
<li class="level1"><div class="li"> Select <strong>Add | Arc</strong></div>
</li>
<li class="level1"><div class="li"> Place the mouse pointer at the center-point for the arc</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button</div>
</li>
<li class="level1"><div class="li"> Move the mouse to the right, to define the radius of the arc</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button again</div>
</li>
<li class="level1"><div class="li"> Enter the Start Angle (in degrees) &ndash; 0º is the “x” axis</div>
</li>
<li class="level1"><div class="li"> Enter the Degrees of Sweep (for counter-clockwise sweep)</div>
</li>
<li class="level1"><div class="li"> Press OK</div>
</li>
<li class="level1"><div class="li"> Continue placing arcs, until you either press the second mouse button or type the ESC key</div>
</li>
</ul>

<p>
 The Start Angle can be positive or negative. The degrees are specified using the standard Cartesian coordinate system. The degrees of sweep can be positive or negative.<br/>
 To cancel an arc in progress (while rubberband the radius), press the last mouse button or the ESC key or press the Cancel button in the arc dialog box.
</p>

</div>
<!-- SECTION "Arc (ar)" [101418-102510] -->
<h3><a name="pin_ap" id="pin_ap">Pin (ap)</a></h3>
<div class="level3">

<p>
<strong>Add | Pin</strong> adds a pin.<br/>
 Though you can <strong>Add | Pin</strong> while entering a schematic, it only makes sense to create pins while creating or editing symbol files.<br/>
 To draw a pin:
</p>
<ul>
<li class="level1"><div class="li"> Set the grid spacing by selecting <strong>Options | Snap Grid Spacing&hellip;</strong> and entering the grid spacing, and then selecting <strong>Options | Toggle Snap On/Off</strong> until you don’t see “Snap Off” on the status-bar. The <a href="http://www.geda.seul.org/docs/current/symbols/symbols.pdf" class="urlextern" title="http://www.geda.seul.org/docs/current/symbols/symbols.pdf"  rel="nofollow">gEDA/gaf Symbol Creation Document</a> specifies grid settings for pin placement in gEDA/gaf compliant symbols files.</div>
</li>
<li class="level1"><div class="li"> Select <strong>Add | Pin</strong></div>
</li>
<li class="level1"><div class="li"> Pins are constrained to 90º movements</div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer to the start-point</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button</div>
</li>
<li class="level1"><div class="li"> Move the mouse in the intended direction. The <a href="http://www.geda.seul.org/docs/current/symbols/symbols.pdf" class="urlextern" title="http://www.geda.seul.org/docs/current/symbols/symbols.pdf"  rel="nofollow">gEDA/gaf Symbol Creation Document</a> specifies the length of pins in gEDA/gaf compliant symbol files.</div>
</li>
<li class="level1"><div class="li"> When positioned at the end-point, press the first mouse button</div>
</li>
<li class="level1"><div class="li"> Continue placing pins, until you either press the second mouse button or type the Escape key</div>
</li>
</ul>

<p>
 To cancel a pin in progress, press the last mouse button or the ESC key.
</p>

</div>
<!-- SECTION "Pin (ap)" [102511-103698] -->
<h3><a name="picture..._ag" id="picture..._ag">Picture... (ag)</a></h3>
<div class="level3">

<p>
<strong>Add | Picture</strong> places a graphic in the schematic. To draw a picture:
</p>
<ul>
<li class="level1"><div class="li"> If you want to snap the picture to the grid, set the grid spacing by selecting <strong>Options | Snap Grid Spacing&hellip;</strong> and entering the grid spacing, and then selecting <strong>Options | Toggle Snap On/Off</strong> until you don’t see “Snap Off” on the status-bar</div>
</li>
<li class="level1"><div class="li"> Select <strong>Add | Picture</strong></div>
</li>
<li class="level1"><div class="li"> Select the graphic file from the “Please select a picture file” dialog box</div>
</li>
<li class="level1"><div class="li"> Press OK</div>
</li>
<li class="level1"><div class="li"> Position the mouse pointer to the start-point</div>
</li>
<li class="level1"><div class="li"> Press the first mouse button</div>
</li>
<li class="level1"><div class="li"> Move the mouse in the intended direction. The outline of the picture will appear, retaining the aspect ratio of the original picture.</div>
</li>
<li class="level1"><div class="li"> When positioned at the end-point, press the first mouse button again.</div>
</li>
<li class="level1"><div class="li"> Continue placing pictures, until you either press the second mouse button or type the ESC key</div>
</li>
</ul>

<p>
 To cancel a picture in progress, press the last mouse button or type the ESC key.<br/>
 A picture has no electrical significance.
</p>

</div>
<!-- SECTION "Picture... (ag)" [103699-104694] -->
<h2><a name="hierarchy" id="hierarchy">Hierarchy</a></h2>
<div class="level2">

</div>
<!-- SECTION "Hierarchy" [104695-104717] -->
<h3><a name="down_schematic_hd" id="down_schematic_hd">Down Schematic (Hd)</a></h3>
<div class="level3">

<p>
<strong>Hierarchy | Down Schematic</strong> shifts the focus from the current schematic to a sub-schematic.<br/>
 Go down into a symbol, opening up any underlying schematics. Basically this will open up an underlying schematic of the selected component if it exists in the source library search path. See the Resource File section on how to define this path.<br/>
 There are currently two ways of specifying that a symbol has an underlying schematic or schematics:
</p>
<ol>
<li class="level1"><div class="li"> The underlying schematic must have the same name as the symbol but have a .sch extension and must follow the _# suffix naming convention. See the Files section below on this convention.</div>
</li>
<li class="level1"><div class="li"> Attach an attribute to the symbol called source=filename.sch filename.sch is not a path to the symbol, but rather the basename (last file in the path specifier) of the symbol path. The underlying schematic will still be searched in the source-library path. You can specify multiple source= attributes. The underlying schematics will be opened in the order that the source= attribute is found.</div>
</li>
</ol>

<p>
 If there multiple underlying schematics, they will be loaded. Movement between the schematic pages is restricted (to the same level of the same set of underlying schematics) unless the rc keyword enforce-hierarchy is modified to allow for a freer hierarchy traversal mode. See the Resource File section for more info.<br/>
 It is also recommend that you maintain unique names for the various levels (when using the source= attribute) to avoid possible confusion. The hierarchy mechanisms are fairly new so expect some odd behavior (and please report it)
</p>

</div>
<!-- SECTION "Down Schematic (Hd)" [104718-106330] -->
<h3><a name="down_symbol_hs" id="down_symbol_hs">Down Symbol (Hs)</a></h3>
<div class="level3">

<p>
This option will open up the symbol of the selected component.<br/>
 Once the symbol is open, the user can edit it and save it.<br/>
 At this time, the toplevel schematic will not see the symbol change unless the toplevel schematic is reloaded or File/Revert is executed. This will be fixed eventually.
</p>

</div>
<!-- SECTION "Down Symbol (Hs)" [106331-106653] -->
<h3><a name="up_hu" id="up_hu">Up (Hu)</a></h3>
<div class="level3">

<p>
This option will move up the hierarchy (if there are pages above the currently displayed page).
</p>

</div>
<!-- SECTION "Up (Hu)" [106654-106768] -->
<h3><a name="documentation_ho" id="documentation_ho">Documentation (Ho)</a></h3>
<div class="level3">

<p>
Open any documentation available for the selected symbol/component.<br/>
 The job is handed over to “gschemdoc”, which makes a best-effort attempt of finding relevant documentation.<br/>
 The documention would normally be in <acronym title="Portable Document Format">PDF</acronym>, <acronym title="HyperText Markup Language">HTML</acronym>, text or image format, but gschemdoc tries to be as transparent as possible on this account.<br/>
 First and foremost, the attribute “documentation=&quot; is assumed to point to the documentation. This attribute should either be the filename (basename) of the document, or it should be a complete <acronym title="Uniform Resource Locator">URL</acronym>.<br/>
 If it is a filename, and the file is found locally (in /usr/share/gEDA/documentation or otherwise), the relevant viewer will be initiated. Otherwise, a Google search for the document will be initiated.<br/>
 If there is no documentation attribute, the attributes “device” and possibly “value” will be consulted in much the same way as for “documentation”. File searches will be made in forms of filenames like “device-value.pdf” and “device.pdf”.<br/>
 Failing that, the file name for the symbol itself will be used as basis for the search.
</p>

</div>
<!-- SECTION "Documentation (Ho)" [106769-107853] -->
<h2><a name="attributes1" id="attributes1">Attributes</a></h2>
<div class="level2">

</div>
<!-- SECTION "Attributes" [107854-107877] -->
<h3><a name="attach_ta" id="attach_ta">Attach (ta)</a></h3>
<div class="level3">

<p>
The Attach command allows you to take a text item (in the proper form; <code>name=value</code>) and attach it to another object.<br/>
 To use Attributes/Attach:
</p>
<ol>
<li class="level1"><div class="li"> Select the object which will receive the attributes</div>
</li>
<li class="level1"><div class="li"> Select the text object(s) which will be attached to the above object</div>
</li>
<li class="level1"><div class="li"> Pick or type the shortcut for Attributes/Attach</div>
</li>
</ol>

<p>
 The order of the sequence of selecting the object and then the text items is important; <strong>gschem</strong> will not allow you to select the text items first and then the object. After going through the above sequence the text item will turn yellow (or the current attached attribute color) signifying that the text item is an attached attribute.<br/>
 You cannot attach a single attribute to several different objects. You cannot attach non-text items as attributes.
</p>

</div>
<!-- SECTION "Attach (ta)" [107878-108685] -->
<h3><a name="detach_td" id="detach_td">Detach (td)</a></h3>
<div class="level3">

<p>
Detach allows you to deassociate attributes from objects.<br/>
 To deselect an object of all attributes:
</p>
<ol>
<li class="level1"><div class="li"> Select the object of interest</div>
</li>
<li class="level1"><div class="li"> Pick or type the shortcut for Attributes/Detach</div>
</li>
</ol>

<p>
 All the attached attributes (even if they are not selected) will be detached from the object. This behavior is probably broken and will eventually be fixed (so that only selected attributes are detached).<br/>
 When you detach attributes then they turn red (or the current detached attribute color). This color changes allows you to spot text which was an attribute and is now dangling (unattached).
</p>

</div>
<!-- SECTION "Detach (td)" [108686-109292] -->
<h3><a name="show_value_tv" id="show_value_tv">Show Value (tv)</a></h3>
<div class="level3">

<p>
These operations allow you to control which part of the attribute string is visible. Usually you are just interested in seeing the <code>value</code> of the attribute, but there are circumstances where seeing the <code>name</code> and <code>value</code> (or maybe just the <code>name</code>) would be useful.<br/>
 To use the options:
</p>
<ol>
<li class="level1"><div class="li"> Select the attribute(s) of interest</div>
</li>
<li class="level1"><div class="li"> Pick or type the shortcut for Attributes/Show *</div>
</li>
</ol>

<p>
 The text item(s) should immediately change.<br/>
 These operations only work on text items which are in the form <code>name=value</code>
</p>

</div>
<!-- SECTION "Show Value (tv)" [109293-109831] -->
<h3><a name="show_name_tn" id="show_name_tn">Show Name (tn)</a></h3>
<div class="level3">

<p>
These operations allow you to control which part of the attribute string is visible. Usually you are just interested in seeing the <code>value</code> of the attribute, but there are circumstances where seeing the <code>name</code> and <code>value</code> (or maybe just the <code>name</code>) would be useful.<br/>
 To use the options:
</p>
<ol>
<li class="level1"><div class="li"> Select the attribute(s) of interest</div>
</li>
<li class="level1"><div class="li"> Pick or type the shortcut for Attributes/Show *</div>
</li>
</ol>

<p>
 The text item(s) should immediately change.<br/>
 These operations only work on text items which are in the form <code>name=value</code>
</p>

</div>
<!-- SECTION "Show Name (tn)" [109832-110369] -->
<h3><a name="show_both_tb" id="show_both_tb">Show Both (tb)</a></h3>
<div class="level3">

<p>
These operations allow you to control which part of the attribute string is visible. Usually you are just interested in seeing the <code>value</code> of the attribute, but there are circumstances where seeing the <code>name</code> and <code>value</code> (or maybe just the <code>name</code>) would be useful.<br/>
 To use the options:
</p>
<ol>
<li class="level1"><div class="li"> Select the attribute(s) of interest</div>
</li>
<li class="level1"><div class="li"> Pick or type the shortcut for Attributes/Show *</div>
</li>
</ol>

<p>
 The text item(s) should immediately change.<br/>
 These operations only work on text items which are in the form <code>name=value</code>
</p>

</div>
<!-- SECTION "Show Both (tb)" [110370-110907] -->
<h3><a name="toggle_visibility_tt" id="toggle_visibility_tt">Toggle Visibility (tt)</a></h3>
<div class="level3">

<p>
This operation allows you to toggle the visibility of attributes.<br/>
 To use this option:
</p>
<ol>
<li class="level1"><div class="li"> Select the text item(s) of interest</div>
</li>
<li class="level1"><div class="li"> Pick or type the shortcut for Attributes/Toggle Vis</div>
</li>
</ol>

<p>
 The text item(s) should change their visibility immediately.<br/>
 If you make an attached attribute invisible, then you can simply select the parent object and select Toggle Vis and the attribute will be come visible (likewise any visible attributes attached to that object will become invisible).<br/>
 If you make a free floating (unattached) attribute invisible, then the only way to make it visible (and all other invisible attributes) is to use the Edit/Show Hidden Text option.
</p>

</div>
<!-- SECTION "Toggle Visibility (tt)" [110908-111603] -->
<h3><a name="find_specific_text..._t_shift-f" id="find_specific_text..._t_shift-f">Find Specific Text... (t shift-f)</a></h3>
<div class="level3">

<p>
 This operation allows you to find a text element in a schematic.
</p>

<p>
To use this operation:
</p>
<ol>
<li class="level1"><div class="li"> open the dialog and enter the substring you want to search for</div>
</li>
<li class="level1"><div class="li"> select whether you only want to search in the current page or in the whole hierarchy of a multipage schematic</div>
</li>
<li class="level1"><div class="li"> press the find button</div>
</li>
</ol>

<p>
 If the text is found in the schematic, gschem will zoom and pan to that element. Pressing the find button again will find the next matching text element. If no more text is found the dialog closes.
</p>

<p>
<strong>Note:</strong> gschem will find hidden text elements, too. If you don’t see the found element, try to show the hidden text.
</p>

</div>
<!-- SECTION "Find Specific Text... (t shift-f)" [111604-112264] -->
<h3><a name="hide_specific_text..._th" id="hide_specific_text..._th">Hide Specific Text... (th)</a></h3>
<div class="level3">

<p>
 This operation allows you to hide text elements.
</p>

<p>
To use this operation:
</p>
<ol>
<li class="level1"><div class="li"> open the dialog and enter your text string</div>
</li>
<li class="level1"><div class="li"> press the apply button</div>
</li>
</ol>

<p>
 gschem will hide all text elements that start with the given search string.
</p>

<p>
This operation is useful if you like to hide pintype and pinseq attributes when creating symbols.
</p>

</div>
<!-- SECTION "Hide Specific Text... (th)" [112265-112626] -->
<h3><a name="show_specific_text..._t_shift-h" id="show_specific_text..._t_shift-h">Show Specific Text... (t shift-h)</a></h3>
<div class="level3">

<p>
 This operation allows you to show hidden text elements.
</p>

<p>
To use this operation:
</p>
<ol>
<li class="level1"><div class="li"> open the dialog and enter your text string</div>
</li>
<li class="level1"><div class="li"> press the apply button</div>
</li>
</ol>

<p>
 gschem will unhide all hidden text elements that starts with the given search string.
</p>

<p>
This operation is useful if you like to see only one specific attribute in the whole schematic (the footprint attribute for example). Use this operation together with the <em>Hide Specific Text</em> operation.
</p>

</div>
<!-- SECTION "Show Specific Text... (t shift-h)" [112627-113118] -->
<h3><a name="autonumber_text..._tu" id="autonumber_text..._tu">Autonumber Text... (tu)</a></h3>
<div class="level3">

<p>
 This operation allows you to renumber text elements in your schematics and symbols.
</p>

<p>
You can use it to:
</p>
<ul>
<li class="level1"><div class="li"> renumber pinseq and pinnumber attributes when creating symbols</div>
</li>
<li class="level1"><div class="li"> renumber components in a schematic (the refdes attribute)</div>
</li>
<li class="level1"><div class="li"> renumber netnames to create address and data busses</div>
</li>
</ul>

<p>
 To use that operation: 
</p>
<ol>
<li class="level1"><div class="li"> select or enter the text elements you like to renumber in the <em>search for</em> entry. searchtext with a &quot;?&quot; at the end will match trailing &quot;?&quot; and trailing numbers in the text elements you are searching for. searchtext with a “*” at the end will match the given searchtext, followed by arbitrary text and followed by a trailing &quot;?&quot; or trailing numbers.</div>
</li>
<li class="level1"><div class="li"> the <em>autonumber text in</em> option specifies where to search for the given searchstring.</div>
</li>
<li class="level1"><div class="li"> the <em>skip numbers found in</em> option specifies in which region you don’t want have duplicate numbers. <strong>Example:</strong> If you renumber your components you usually want uniq numbers on a page or even uniq number in the whole hierarchy of a multipage schematic. If you renumber netnames of a bus you usually want to apply the new numbers only to selected net elements. Thus you can have multiple equal netnames on a schematic sheet.</div>
</li>
<li class="level1"><div class="li"> the <em>overwrite existing numbers</em> option specifies whether you only want to number unnumbered elements or if you like to renumber elements too.</div>
</li>
<li class="level1"><div class="li"> The <em>starting number</em> entry allows you to specify the start number you like. It is common to number each schematic sheet starting with numbers like 100, 200 and so on. For bus netnames you may need numbers starting at 8, 16.</div>
</li>
<li class="level1"><div class="li"> The <em>sort order</em> tells in which direction you like to number your elements. For components you usually use the <em>diagonal</em>, the <em>top to bottom</em> or the <em>left to right</em> option. For bus netnames you may need <em>right to left</em> and <em>bottom to top</em> numbering. The <em>file order</em> means that the found text elements are not sorted before renumbering them. The fileorder is usually the order you have placed the objects to your sheet.</div>
</li>
<li class="level1"><div class="li"> the <em>remove numbers</em> options is a special option. It removes all numbers from the text elements you have selected in the <em>Scope</em> section of the dialog.</div>
</li>
<li class="level1"><div class="li"> the <em>automatic slotting</em> option is the second special option. When renumbering components it will add the slot attribute to slotted components like logik gates.</div>
</li>
</ol>

<p>
 Pressing the apply button will start the autonumbering action.
</p>

</div>
<!-- SECTION "Autonumber Text... (tu)" [113119-115556] -->
<h2><a name="options" id="options">Options</a></h2>
<div class="level2">

</div>
<!-- SECTION "Options" [115557-115577] -->
<h3><a name="text_size..._ot" id="text_size..._ot">Text Size... (ot)</a></h3>
<div class="level3">

<p>
<strong>Options | Text Size&hellip;</strong> pops up a dialog box which allows you to specify the text size of all text (including attributes placed with the Add/Attribute&hellip; dialog box).<br/>
 The text size is in points (1/72”). The default text size is 10 point text. The smallest text size is 2 points.
</p>

</div>
<!-- SECTION "Text Size... (ot)" [115578-115890] -->
<h3><a name="toggle_grid_on_off_og" id="toggle_grid_on_off_og">Toggle Grid On/Off (og)</a></h3>
<div class="level3">

<p>
<strong>Options | Toggle Grid On/Off</strong> toggles the visible grid.
</p>

</div>
<!-- SECTION "Toggle Grid On/Off (og)" [115891-115984] -->
<h3><a name="toggle_snap_on_off_os" id="toggle_snap_on_off_os">Toggle Snap On/Off (os)</a></h3>
<div class="level3">

<p>
<strong>Options | Toggle Snap On/Off</strong> toggles the snap. Be very careful using this. Connections between pins and nets (and nets to nets) depends on being exactly connected. Turning of the grid will almost guarantee that nets/pins do not connect.<br/>
 Before you translate a symbol using Edit/Symbol Translate, make sure the snap is on.<br/>
 When snap mode is off, the text “Snap Off” will appear in the lower, righthand corner.
</p>

</div>
<!-- SECTION "Toggle Snap On/Off (os)" [115985-116436] -->
<h3><a name="snap_grid_spacing..._os" id="snap_grid_spacing..._os">Snap Grid Spacing... (oS)</a></h3>
<div class="level3">

<p>
<strong>Options | Snap Grid Spacing&hellip;</strong> brings up a dialog box which allows you to change the snap grid spacing (not the grid spacing). The units for this spacing are mils.<br/>
 Before you translate a symbol using Edit/Symbol Translate, make sure this spacing is set to 100.
</p>

</div>
<!-- SECTION "Snap Grid Spacing... (oS)" [116437-116740] -->
<h3><a name="toggle_outline_box_oa" id="toggle_outline_box_oa">Toggle Outline/Box (oa)</a></h3>
<div class="level3">

<p>
<strong>Options | Toggle Outline/Box</strong> toggles between drawing the outline of the current selection or just drawing a box when doing moves/copies/component and text places. The outline mode looks better, but tends to be significantly slower than using the box (bounding box) mode.
</p>

</div>
<!-- SECTION "Toggle Outline/Box (oa)" [116741-117050] -->
<h3><a name="toggle_net_rubberband_or" id="toggle_net_rubberband_or">Toggle Net/Rubberband (or)</a></h3>
<div class="level3">

<p>
<strong>Options | Toggle Net/Rubberband</strong> &hellip;..????
</p>

</div>
<!-- SECTION "Toggle Net/Rubberband (or)" [117051-117134] -->
<h3><a name="show_log_window_ol" id="show_log_window_ol">Show Log Window (ol)</a></h3>
<div class="level3">

<p>
<strong>Options | Show Log Window</strong> displays the log window if it has been closed or disabled from being displayed when you start up <strong>gschem</strong>.
</p>

</div>
<!-- SECTION "Show Log Window (ol)" [117135-117305] -->
<h3><a name="show_coord_window..._oc" id="show_coord_window..._oc">Show Coord Window... (oc)</a></h3>
<div class="level3">

<p>
<strong>Options | Show Coord Window&hellip;</strong> displays a pop-up window that displays the coordinates of the mouse pointer on the schematic. Useful for accurately placing objects.
</p>

</div>
<!-- SECTION "Show Coord Window... (oc)" [117306-117510] -->
<h2><a name="help" id="help">Help</a></h2>
<div class="level2">

</div>
<!-- SECTION "Help" [117511-117528] -->
<h3><a name="about..._ha" id="about..._ha">About... (ha)</a></h3>
<div class="level3">

<p>
Every <acronym title="Graphical User Interface">GUI</acronym> application needs an <strong>Help | About&hellip;</strong> feature, to display:
</p>
<ul>
<li class="level1"><div class="li"> The application’s name.</div>
</li>
<li class="level1"><div class="li"> The version of the software.</div>
</li>
<li class="level1"><div class="li"> The author’s name(s) and how to contact.</div>
</li>
</ul>

</div>
<!-- SECTION "About... (ha)" [117529-117731] -->
<h3><a name="manual..._hm" id="manual..._hm">Manual... (hm)</a></h3>
<div class="level3">

<p>
<strong>Help | Manual&hellip;</strong> brings up the “gEDA/gaf Documention” web-page installed on this computer. Very useful for accessing the various documentation available for the gEDA/gaf applications.
</p>

</div>
<!-- SECTION "Manual... (hm)" [117732-117945] -->
<h3><a name="hotkeys..._hh" id="hotkeys..._hh">Hotkeys... (hh)</a></h3>
<div class="level3">

<p>
<strong>Help | Hotkeys&hellip;</strong> lists the current hotkeys (a.k.a., shortcuts, a.k.a., keyboard accellerators).
</p>

</div>
<!-- SECTION "Hotkeys... (hh)" [117946-118073] -->
<h3><a name="component..._ho" id="component..._ho">Component... (Ho)</a></h3>
<div class="level3">

<p>
If you select a component on the schematic, and select <strong>Help | Component&hellip;</strong>, <strong>gschem</strong> uses the gschemdoc script to do its best job finding some documentation appropriate for the component:
</p>
<ul>
<li class="level1"><div class="li"> If the component’s symbol included the <code>documentation=documentation_locator</code> attribute, this <acronym title="Uniform Resource Identifier">URI</acronym> is used to retreive the documentation. If the full <acronym title="Uniform Resource Identifier">URI</acronym> is given, the <acronym title="Uniform Resource Identifier">URI</acronym> on the internet is retrieved. If the <acronym title="Uniform Resource Identifier">URI</acronym> is not fully qualified, it is considered to be local to this computer, and is searched for and displayed.</div>
</li>
<li class="level1"><div class="li"> If the component’s symbol does not include the <code>documentation=documentation_locator</code> attribute, a Google search is performed for <acronym title="Portable Document Format">PDF</acronym> documents, based on the <code>device=</code> attribute, the <code>value=</code> attribute, and the symbol basename.</div>
</li>
</ul>

</div>
<!-- SECTION "Component... (Ho)" [118074-118856] -->
<h1><a name="appendix_a_--_heavy_vs_light_symbol_libraries" id="appendix_a_--_heavy_vs_light_symbol_libraries">Appendix A -- Heavy vs Light Symbol Libraries</a></h1>
<div class="level1">

<p>
A short discussion of Light Symbol Libraries as the default for <strong>gschem</strong>, and the option to build your own Heavy Symbol Libraries.
</p>

</div>
<!-- SECTION "Appendix A -- Heavy vs Light Symbol Libraries" [118857-119050] -->
<h1><a name="appendix_b_--_printing_schematics_and_symbols" id="appendix_b_--_printing_schematics_and_symbols">Appendix B -- Printing Schematics and Symbols</a></h1>
<div class="level1">

<p>
To be supplied&hellip;
</p>

</div>
<!-- SECTION "Appendix B -- Printing Schematics and Symbols" [119051-119129] -->
<h1><a name="appendix_c_--_writing_guile_scripts" id="appendix_c_--_writing_guile_scripts">Appendix C -- Writing guile Scripts</a></h1>
<div class="level1">

<p>
To be supplied&hellip;
</p>

</div>
<!-- SECTION "Appendix C -- Writing guile Scripts" [119130-119198] -->
<h1><a name="appendix_d_--_i_want_to_build_a_printed_circuit_board" id="appendix_d_--_i_want_to_build_a_printed_circuit_board">Appendix D -- I Want To Build A Printed Circuit Board</a></h1>
<div class="level1">

<p>
<strong>gschem</strong> is used for two primary design workflows:
</p>
<ul>
<li class="level1"><div class="li"> Circuit design intended for production of Printed Circuit Boards (PCBs).</div>
</li>
<li class="level1"><div class="li"> Circuit design intended for simulation.</div>
</li>
</ul>

<p>
 The following guidelines will assist you in developing quality designs intended for use by applications that support the creation of Printed Circuit Boards:
</p>
<ul>
<li class="level1"><div class="li"> <span class="hilited">To be supplied&hellip;</span></div>
</li>
</ul>

<p>
 The following on-line tutorials are an excellent method for the beginner to learn the gEDA Tools Suite design workflow resulting in a PCB:
</p>
<ul>
<li class="level1"><div class="li"> <a href="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/gschem-warmup.html" class="urlextern" title="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/gschem-warmup.html"  rel="nofollow">Bill Wilson&#039;s gschem warmup</a></div>
</li>
<li class="level1"><div class="li"> <a href="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/tutorial.html" class="urlextern" title="http://www.geda.seul.org/docs/current/tutorials/gsch2pcb/tutorial.html"  rel="nofollow">Bill Wilson&#039;s gsch2pcb tutorial</a></div>
</li>
</ul>

</div>
<!-- SECTION "Appendix D -- I Want To Build A Printed Circuit Board" [119199-119988] -->
<h1><a name="appendix_e_--_i_want_to_simulate_my_design" id="appendix_e_--_i_want_to_simulate_my_design">Appendix E -- I Want To Simulate My Design</a></h1>
<div class="level1">

<p>
<strong>gschem</strong> is used for two primary design workflows:
</p>
<ul>
<li class="level1"><div class="li"> Circuit design intended for production of Printed Circuit Boards.</div>
</li>
<li class="level1"><div class="li"> Circuit design intended for simulation.</div>
</li>
</ul>

<p>
 The following guidelines will assist you in developing quality designs intended for simulation:
</p>
<ul>
<li class="level1"><div class="li"> Discuss attributes appropriate for a SPICE model, and how these differ from attributes appropriate for a PCB.</div>
</li>
<li class="level1"><div class="li"> <span class="hilited">To be supplied&hellip;</span></div>
</li>
</ul>

<p>
 The following on-line tutorials are an excellent method for the beginner to learn the gEDA Tools Suite design workflow resulting in a SPICE simulation:
</p>
<ul>
<li class="level1"><div class="li"> <a href="http://www.brorson.com/gEDA/SPICE/t1.html" class="urlextern" title="http://www.brorson.com/gEDA/SPICE/t1.html"  rel="nofollow">&quot;Circuit simulation using gEDA and SPICE -- HOWTO&quot; by Stuart Brorson</a></div>
</li>
<li class="level1"><div class="li"> <a href="http://www-mdp.eng.cam.ac.uk/urop05/files/gedalib/starting_gEDA.pdf" class="urlextern" title="http://www-mdp.eng.cam.ac.uk/urop05/files/gedalib/starting_gEDA.pdf"  rel="nofollow">Starting with gEDA at the Cambridge University Engineering Department</a></div>
</li>
</ul>

</div>
<!-- SECTION "Appendix E -- I Want To Simulate My Design" [119989-120868] -->
<h1><a name="appendix_f_--_change_gschemdoc_user-defined_preferences" id="appendix_f_--_change_gschemdoc_user-defined_preferences">Appendix F -- Change gschemdoc User-Defined Preferences</a></h1>
<div class="level1">

<p>
As installed, the <strong>gschemdoc</strong> utility script is used by <strong>gschem</strong> to:
</p>
<ul>
<li class="level1"><div class="li"> Display the “gEDA/gaf Documentation” (i.e., <strong>Help | Manual&hellip;</strong>)</div>
</li>
<li class="level1"><div class="li"> Display component documentation (i.e., <strong>Help | Component&hellip;</strong>)</div>
</li>
</ul>

<p>
 The list of application launchers that <strong>gschemdoc</strong> uses are defined in the {binary-install-path}/bin/gschemdoc file: <pre STYLE="background : Lightgreen;margin-left : 2em"><font size="+0">#
# these may be changed to suit local preferences
#
CANDIDATE_BROWSER=&quot;galeon mozilla phoenix netscape netscape-navigator opera firefox konqueror&quot;
CANDIDATE_PDFREADER=&quot;xpdf acroread ggv gv&quot;
CANDIDATE_LOCATE=&quot;slocate locate&quot;</font></pre>
</p>

<p>
To select a different application launcher, simply edit the {binary-install-path}/bin/gschemdoc file, find the above lines, and move your favorite application to the beginning of the list. For example, to use <strong>firefox</strong> as your preferred browser, move it to the beginning of the <strong>CANDIDATE_BROWSER=</strong> list, to use <strong>acroread</strong> (Adobe’s Acrobat Reader) as your preferred <acronym title="Portable Document Format">PDF</acronym> reader, move it to the beginning of the <strong>CANDIDATE_PDFREADER=</strong> list, and to use <strong>locate</strong> as your preferred filesystem search utility, move it to the beginning of the <strong>CANDIDATE_LOCATE=</strong> list.
</p>

</div>
<!-- SECTION "Appendix F -- Change gschemdoc User-Defined Preferences" [120869-122085] -->
<h1><a name="appendix_g_--_breaking_a_large_symbol_into_smaller_symbols" id="appendix_g_--_breaking_a_large_symbol_into_smaller_symbols">Appendix G -- Breaking a Large Symbol Into Smaller Symbols</a></h1>
<div class="level1">

<p>
To be supplied&hellip;
</p>

</div>
<!-- SECTION "Appendix G -- Breaking a Large Symbol Into Smaller Symbols" [122086-122177] -->
<h1><a name="appendix_h_--_definition_of_terms" id="appendix_h_--_definition_of_terms">Appendix H -- Definition of Terms</a></h1>
<div class="level1">

<p>
Some terms used in the art of schematic capture:</p>
<dl>
<dt><span class='term'> <strong>attribute</strong></span></dt>
<dd>A text item which is in the form <code>name=value</code>. It can be either unattached or attached.</dd>
<dt><span class='term'> <strong>buffer</strong></span></dt>
<dd>&hellip;</dd>
<dt><span class='term'> <strong>component</strong></span></dt>
<dd>Also know as <strong>part</strong>. The equivalent of an [electronics] device, as one may place on a printed circuit board. Components are instances of a <strong>symbol</strong> placed on a schematic.</dd>
<dt><span class='term'> <strong>device</strong></span></dt>
<dd>Also known as “package”. The equivalent of an [electronics] device, as one may place on a printed circuit board.</dd>
<dt><span class='term'> <strong>dialog box</strong></span></dt>
<dd>&hellip;</dd>
<dt><span class='term'> <strong>embedded component</strong></span></dt>
<dd>A component whose definition is saved as part of the schematic’s file.</dd>
<dt><span class='term'> <strong>footprint</strong></span></dt>
<dd>Also known as a <strong>land pattern</strong>. The surface space occupied by a <strong>component</strong>/<strong>package</strong>/<strong>part</strong>.</dd>
<dt><span class='term'> <strong>gEDA/gaf</strong></span></dt>
<dd><strong>gschem</strong> is a component of the gEDA/gaf set of tools, which tend to integrate together in the development and maintenance of schematics and symbols. The term “gaf” stands for “<em class="u">g</em>EDA <em class="u">a</em>nd <em class="u">f</em>riends”).</dd>
<dt><span class='term'> <strong>grip</strong></span></dt>
<dd>&hellip;</dd>
<dt><span class='term'> <strong>guile</strong></span></dt>
<dd><a href="http://www.gnu.org/software/guile/" class="urlextern" title="http://www.gnu.org/software/guile/"  rel="nofollow">GNU Guile</a> is an interpreter for Scheme, a version of Lisp.</dd>
<dt><span class='term'> <strong>HDL</strong></span></dt>
<dd>Hardware Description Language (e.g., VHDL, Verilog, etc.). Used to simulate or document a device.</dd>
<dt><span class='term'> <strong>hierarchical</strong></span></dt>
<dd>The concept that designs can contain nested levels of schematics, so that all the circuit doesn’t need to be placed on a single sheet.</dd>
<dt><span class='term'> <strong>land pattern</strong></span></dt>
<dd>Also known as a <strong>footprint</strong>. The surface space occupied by a structure or device.</dd>
<dt><span class='term'> <strong>library</strong></span></dt>
<dd>A collection of symbols.</dd>
<dt><span class='term'> <strong>line</strong></span></dt>
<dd>A straight drawing element, connecting two points. On the schematic it has no electrical significance. In a symbol, a line is part of the symbol’s graphic elements.</dd>
<dt><span class='term'> <strong>model</strong></span></dt>
<dd>A description of how a device behaves. Most often this is a SPICE model. The model is defined in <strong>gschem</strong>, but used in subsequent applications such as <strong>ngspice</strong>, <strong>gnucap</strong>, etc.</dd>
<dt><span class='term'> <strong>net</strong></span></dt>
<dd>A net connects two or more pins on a schematic, and is made up of segments. The net’s equivalent is a “wire” or “trace” on the printed circuit board.</dd>
<dt><span class='term'> <strong>object</strong></span></dt>
<dd>A line, circle, pin, net, box, bus, text/attribute, or picture.</dd>
<dt><span class='term'> <strong>package</strong></span></dt>
<dd>Also known as <strong>device</strong>. The equivalent of an [electronics] device, as one may place on a printed circuit board.</dd>
<dt><span class='term'> <strong>page</strong></span></dt>
<dd>Also known as a schematic’s <strong>sheet</strong>.</dd>
<dt><span class='term'> <strong>part</strong></span></dt>
<dd> Also know as <strong>component</strong>. The equivalent of an [electronics] device, as one may place on a printed circuit board.</dd>
<dt><span class='term'> <strong>project</strong></span></dt>
<dd>A collection of schematics, custom symbols, models, documentation, etc.</dd>
<dt><span class='term'> <strong>segment</strong></span></dt>
<dd>Part of a net. A segment has two end-points, or “grips”.</dd>
<dt><span class='term'> <strong>schematic</strong></span></dt>
<dd>A <strong>page</strong>/<strong>sheet</strong> with electronics symbols, text, and drawing elements (i.e., lines, circles, boxes, etc.) representing a diagram of an electrical or mechanical system.</dd>
<dt><span class='term'> <strong>series</strong></span></dt>
<dd>A collection of schematics which share a common basename (e.g., schematic_1.sch, schematic_2.sch, schematic_3.sch, etc.). The series basename ties schematics together.</dd>
<dt><span class='term'> <strong>slotted device</strong></span></dt>
<dd>Also known as a <strong>slotted package</strong>. A physical [electronics] device consisting of multiple identical components (e.g., the 7400 quad NAND device consists of 4 identical NAND gates).</dd>
<dt><span class='term'> <strong>source</strong></span></dt>
<dd>A schematic, HDL code, or model which implements, describes, or documents some aspect of the project.</dd>
<dt><span class='term'> <strong>symbol</strong></span></dt>
<dd>A collection of <strong>objects</strong>. The objects may have <strong>attributes</strong> attatched (i.e., associated) with them. There may also be <strong>attributes</strong> attached (i.e., associated) to the <strong>symbol</strong> itself (i.e., not specifically associated with an object).</dd>
<dt><span class='term'> <strong>sheet</strong></span></dt>
<dd>Also known as a schematic’s <strong>page</strong>.</dd>
<dt><span class='term'> <strong>trace</strong></span></dt>
<dd>The equivalent of a wire on a printed circuit board.</dd>
<dt><span class='term'> <strong>window</strong></span></dt>
<dd>&hellip;</dd>
<dt><span class='term'> <strong>workflow</strong></span></dt>
<dd>The process of designing. Usually includes continuous review and re-design, until it works. In the gEDA Tools Suite design workflow, multiple applications are used. One application typically is followed by another. The flow of data collected and how this data effects the design is considered the workflow.</dd>
</dl>
<p>~~DISCUSSION~~ 
</p>

</div>
<!-- SECTION "Appendix H -- Definition of Terms" [122178-] --></div>
</body>
</html>