[vox-tech] circuits with latex

Peter Jay Salzman vox-tech@lists.lugod.org
Sun, 8 Feb 2004 08:03:59 -0800


mark,

thanks for turning me on to this.  it was a chore to install, and at
first looked too complicated to learn quickly, but i found that i only
really needed to read about 2 or 3 pages of the manual, and the included
examples carried me the rest of the way.

i created my first circuit, and it looks really good!


.PS

cct_init

elen = 0.75

Origin: Here
   line up_ elen

   dot; llabel(,$a$,)

   resistor(right_ elen); llabel(,4\Omega,)

   dot; clabel(,,$b$)

   gpar_(
   resistor(right_ elen);
      rlabel(,\scriptstyle 2\Omega,);
      b_current(\scriptstyle I_2,,Out,End),
   resistor(right_ elen);
      llabel(,\scriptstyle 8\Omega,);
      b_current(\scriptstyle I_3,,Out,End),
   elen)

   dot; clabel($c$,,)

   line right_ elen/5
   line down_ elen
   dot; llabel(,$d$,)
   ground
   line left_ elen/2

   battery(left_ elen); llabel(,10v,)
   line to Origin
   b_current(\scriptstyle I_1)

.PE



i do have one question.  in the upper parallel resistor structure (the
gpar macro), all my attempts to insert a little space between the
resistor element and the current label (b_current) have failed.  if i
insert a line between them, like:

   line right_ elen/5

the circuit becomes a rhomboid(!?!?!) and the current labels become
interestingly placed.  theh circuit doesn't screw up if i place

   line right_ elen

between them, but of course, that make the circuit needless long.

i can live with the resistors butted up against the current arrows, but
if possible, i'd like to open up a little space between them.

any ideas?

thanks!
pete

ps- circuit_macros is awesome!




On Sat 07 Feb 04,  9:37 PM, Mark K. Kim said:
> Oh, one more thing: Last time I used circuit_macros, you had to edit all
> the *.m4 files it comes with by hand.  Most of the *.m4 files it comes
> with has reference to its installation path, but it's all hard-coded and
> needs to be modified to reflect the correct installation path on your
> system.  A little whacky but I guess there's no equivalent to $0 or
> argv[0] in m4.  =(
> 
> BTW, m4 is nice to learn (even a little.)  It'll help you not only use
> circuit_macros better, but it's also used by autoconf/automake so you'll
> be able to write your own subroutines and codes in autoconf/automake as
> well.
> 
> -Mark
> 
> 
> On Sat, 7 Feb 2004, Mark K. Kim wrote:
> 
> > Well, m4 is a macro processor, like the C preprocessor.  It doesn't do
> > anything but translate a sequence of strings to another set of strings.
> > Any text it hasn't been instructed to process goes straight through m4,
> > without any translation.
> >
> > So to use circuit_macros, you need to pass 2 files to m4:
> >
> >    1. The file you want to process.
> >    2. A file containing instructions on which strings to process,
> >       and how.
> >
> > #1 is the file you create.  #2 is libcct.m4 file that comes with
> > circuit_macros.  So you end up with:
> >
> >    $ m4 /path/to/libcct.m4 circuit.m4 > circuit.pic
> >    $ gpic -t circuit.pic > circuit.tex
> >
> > BUT, I highly recommend you use dpic instead of gpic.  The output looks so
> > much nicer (at least it was last time I checked).  You can get dpic from:
> >
> >    http://www.ece.uwaterloo.ca/~aplevich/dpic/
> >
> > dpic also requires an additional file, pstricks.m4 (comes with
> > circuit_macros), so you end up with:
> >
> >    $ m4 /path/to/pstricks.m4 /path/to/libcct.m4 circuit.m4 > circuit.pic
> >    $ gpic -t circuit.pic > circuit.tex
> >
> > It's a little complicated to remember (and cumbersome to write out each
> > time) so you probably want to wrap everything in a script.
> >
> > -Mark
> >
> >
> > On Sat, 7 Feb 2004, Peter Jay Salzman wrote:
> >
> > > HA!!!!!
> > >
> > > i wish i could.  i don't even get that far!  here's my m4 file:
> > >
> > >    p@satan$ cat circuit.m4
> > >    .PS
> > >    cct_init
> > >    gridsize = 0.1
> > >    .PE
> > >    \usebox{\graph}
> > >
> > >
> > >    p@satan$ m4 circuit.m4  > circuit.pic
> > >    p@satan$ gpic -t circuit.pic > circuit.tex
> > >    gpic:circuit.pic:3: syntax error before newline
> > >    gpic:circuit.pic:3: giving up on this picture
> > >
> > > it's giving up on cct_init.  what my belief in what should happen is
> > > this:
> > >
> > > 1. m4 creates a .pic file.
> > > 2. gpic takes a .pic file and creates a .tex file.
> > > 3. i \input the .tex file at the appropriate location.
> > >
> > > am i completely off base here?
> > >
> > > thanks!
> > > pete
> > >
> > >
> > > On Sat 07 Feb 04,  8:56 PM, Mark K. Kim <markslist@cbreak.org> said:
> > > > Can you post a sample latex file and the error messages from running
> > > > latex on it?
> > > >
> > > > -Mark
> > > >
> > > >
> > > > On Sat, 7 Feb 2004, Peter Jay Salzman wrote:
> > > >
> > > > > has anyone successfully used the circuit_macros package for latex?
> > > > >
> > > > > i keep getting gpic errors, no matter how simple my circuit is (even the
> > > > > null circuit generates errors.
> > > > >
> > > > > pete
> > > >
> > > > --
> > > > Mark K. Kim
> > > > AIM: markus kimius
> > > > Homepage: http://www.cbreak.org/
> > > > Xanga: http://www.xanga.com/vindaci
> > > > Friendster: http://www.friendster.com/user.jsp?id=13046
> > > > PGP key fingerprint: 7324 BACA 53AD E504 A76E  5167 6822 94F0 F298 5DCE
> > > > PGP key available on the homepage
> > > > _______________________________________________
> > > > vox-tech mailing list
> > > > vox-tech@lists.lugod.org
> > > > http://lists.lugod.org/mailman/listinfo/vox-tech
> > >
> > > --
> > > Make everything as simple as possible, but no simpler.  -- Albert Einstein
> > > GPG Instructions: http://www.dirac.org/linux/gpg
> > > GPG Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D
> > > _______________________________________________
> > > vox-tech mailing list
> > > vox-tech@lists.lugod.org
> > > http://lists.lugod.org/mailman/listinfo/vox-tech
> > >
> >
> > --
> > Mark K. Kim
> > AIM: markus kimius
> > Homepage: http://www.cbreak.org/
> > Xanga: http://www.xanga.com/vindaci
> > Friendster: http://www.friendster.com/user.jsp?id=13046
> > PGP key fingerprint: 7324 BACA 53AD E504 A76E  5167 6822 94F0 F298 5DCE
> > PGP key available on the homepage
> > _______________________________________________
> > vox-tech mailing list
> > vox-tech@lists.lugod.org
> > http://lists.lugod.org/mailman/listinfo/vox-tech
> >
> 
> -- 
> Mark K. Kim
> AIM: markus kimius
> Homepage: http://www.cbreak.org/
> Xanga: http://www.xanga.com/vindaci
> Friendster: http://www.friendster.com/user.jsp?id=13046
> PGP key fingerprint: 7324 BACA 53AD E504 A76E  5167 6822 94F0 F298 5DCE
> PGP key available on the homepage
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech

-- 
Make everything as simple as possible, but no simpler.  -- Albert Einstein
GPG Instructions: http://www.dirac.org/linux/gpg
GPG Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D