Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
circuit_macros [2015/07/02 22:13] – [Abstände zur Beschriftung vergrößern] olli | circuit_macros [2022/11/26 11:13] (aktuell) – [Links] olli |
---|
====== Circuit_macros ====== | ====== Circuit_macros ====== |
| Circuit_macros sind eine Sammlung von Makros zum Zeichnen von Schaltplänen, die sich gut in [[latex|LaTeX]]-Dokumente integrieren lassen. |
| Zur Verarbeitung werden die Programme m4 und [[https://ece.uwaterloo.ca/~aplevich/dpic/|dpic]] verwendet. |
===== Vordefinierte Positionen ===== | ===== Vordefinierte Positionen ===== |
Der aktuellen Position bzw. dem aktuellen Element kann mit ''name:'' ein Namen gegeben werden, den man später verwenden kann: | Der aktuellen Position bzw. dem aktuellen Element kann mit ''name:'' ein Namen gegeben werden, den man später verwenden kann: |
^Code^Bedeutung^Bild^ | ^Code^Bedeutung^Bild^ |
|<code>resistor(,,E) </code>|Widerstand (europäisch) | {{:resistor.svg|Widerstand}}| | |<code>resistor(,,E) </code>|Widerstand (europäisch) | {{:resistor.svg|Widerstand}}| |
|<code>capacitor(,,) </code>|Kapazität (europäisch) | {{:capacitor.svg|Kapazität}}| | |<code>capacitor(,,E) </code>|Kapazität (europäisch) | {{:capacitor.svg|Kapazität}}| |
|<code>ebox(,,,0) </code>|Induktivität (europäisch)| {{:inductor.svg|Induktivität}}| | |<code>ebox(,,,0) </code>|Induktivität (europäisch)| {{:inductor.svg|Induktivität}}| |
|<code>ground(,,E) </code>|Masse (europäisch)| {{:ground.svg|Masse}}| | |<code>ground(,,E) </code>|Masse (europäisch)| {{:ground.svg|Masse}}| |
|<code>dot </code>|Kreuzungspunkt\\ (dargestellt mit zusätzlichen Linien (''line''))| {{:dot.svg|Kreuzungspunkt )}}\\ | | |<code>dot </code>|Kreuzungspunkt\\ (dargestellt mit zusätzlichen Linien (''line''))| {{:dot.svg|Kreuzungspunkt )}}\\ | |
|<code>gap(,1,) </code>|Anschlussklemme mit zwei Pins (unausgefüllt)| {{:gap.svg|Anschlussklemme}}| | |<code>gap(,1,) </code>|Anschlussklemme mit zwei Pins (unausgefüllt)| {{:gap.svg|Anschlussklemme}}| |
| |<code>source(,v) </code>|Spannungsquelle\\ [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/Sources.svg|weitere Varianten]]| {{:source_v.svg|Spannungsquelle}}| |
| |<code>source(,i) </code>|Stromquelle\\ [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/Sources.svg|weitere Varianten]]| {{:source_i.svg|Spannungsquelle}}| |
|<code>tconn(,O,2*dotrad_) </code>|Anschlussklemme mit einem Pin\\ <wrap tip>Das zweite Argument ist ein "Oh", keine "Null"</wrap>\\ <wrap tip>Alternativ kann ''dot(,,1)'' verwendet werden</wrap>| {{:tconn_O.svg|Anschlussklemme}}| | |<code>tconn(,O,2*dotrad_) </code>|Anschlussklemme mit einem Pin\\ <wrap tip>Das zweite Argument ist ein "Oh", keine "Null"</wrap>\\ <wrap tip>Alternativ kann ''dot(,,1)'' verwendet werden</wrap>| {{:tconn_O.svg|Anschlussklemme}}| |
|<code>opamp </code>|Operationsverstärker| {{:opamp.svg|Operationsverstärker}}| | |<code>opamp </code>|Operationsverstärker| {{:opamp.svg|Operationsverstärker}}| |
|<code>bi_tr()</code>|Bipolartransisitor, NPN| {{:npn.svg|Bipolartransistor (NPN)}}| | |<code>bi_tr()</code>|Bipolartransisitor, NPN| {{:npn.svg|Bipolartransistor (NPN)}}| |
|<code>bi_tr(,,P)</code>|Bipolartransisitor, PNP| {{:pnp.svg|Bipolartransistor (PNP)}}| | |<code>bi_tr(,,P)</code>|Bipolartransisitor, PNP| {{:pnp.svg|Bipolartransistor (PNP)}}| |
|<code>e_fet(,,,S)</code>|N-MOS\\ [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/fet.png|weitere Varianten]]| {{:nfet.svg|N-MOS}}| | |<code>e_fet(,,,S)</code>|N-MOS\\ [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/fet.svg|weitere Varianten]]| {{:nfet.svg|N-MOS}}| |
|<code>e_fet(,,P,S)</code>|P-MOS \\ [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/fet.png|weitere Varianten]]| {{:pfet.svg|P-MOS}}| | |<code>e_fet(,,P,S)</code>|P-MOS \\ [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/fet.svg|weitere Varianten]]| {{:pfet.svg|P-MOS}}| |
| |<code>b_current()</code>|Stromzählpfeil (dargestellt mit einem Widerstand)| {{:b_current.svg|Stromzählpfeil}}| |
| |<code>larrow()</code>|Spannungszählpfeil (dargestellt mit einer Spannungsquelle und Label)\\ ''rarrow()'' erzeugt den Pfeil auf der anderen Seite| {{:larrow.svg|Spannungszählpfeil}}| |
|<code>line</code>|Verbindungsleitung (dargestellt sind zwei Leitungen)\\ <wrap important>keine Klammern</wrap>| {{:line.svg|Verbindungsleitung}}| | |<code>line</code>|Verbindungsleitung (dargestellt sind zwei Leitungen)\\ <wrap important>keine Klammern</wrap>| {{:line.svg|Verbindungsleitung}}| |
|<code>move</code>|Cursorbewegung ohne Zeichnen einer Linie \\ <wrap important>keine Klammern</wrap>| | | |<code>move</code>|Cursorbewegung ohne Zeichnen einer Linie \\ <wrap important>keine Klammern</wrap>| | |
| |
<WRAP info round> | <WRAP info round> |
Die Syntax ''corner(at location)'' existiert im Gegensatz zu ''round(at location)'' nicht, weil für das Makro ''corner'' die Richtung der letzten gezeichneten Linie bekannt sein muss. Als Workaround kann ''line right_ linethick bp__ at location'' verwendet werden. Die Richtung muss dabei manuell angepasst werden. | Die Syntax ''corner(at location)'' existiert im Gegensatz zu ''round(at location)'' nicht, weil für das Makro ''corner'' die Richtung der letzten gezeichneten Linie bekannt sein muss. Als Workaround kann ''line right_ linethick bp%%__%% at location'' verwendet werden. Die Richtung muss dabei manuell angepasst werden. |
</WRAP> | </WRAP> |
| |
Durch das Setzen der Variablen ''textoffset'' lässt sich der Abstand zwischen den Elementen und der Beschriftung vergrößern. | Durch das Setzen der Variablen ''textoffset'' lässt sich der Abstand zwischen den Elementen und der Beschriftung vergrößern. |
| |
Beispiel: | Beispiel: |
<code> | <code> |
textoffset = 5bp__ | textoffset = 5bp__ |
</code> | </code> |
| |
| |
===== Abgeschnittener Text ===== | ===== Abgeschnittener Text ===== |
===== Links ===== | ===== Links ===== |
* [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/|Homepage]] | * [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/|Homepage]] |
* [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/CMman.pdf|Dokumentation]] | * [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/Circuit_macros.pdf|Circuit_macros Dokumentation]] |
| * [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/CHANGES|Circuit_macros Changelog]] |
| * [[https://gitlab.com/aplevich/dpic/-/raw/master/dpic-doc.pdf|dpic Dokumentation]] |
* [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/examples.html|Beispiele (HTML mit Link zu den Sourcen)]] | * [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/examples.html|Beispiele (HTML mit Link zu den Sourcen)]] |
* [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/examples.pdf|Beispiele (PDF)]] | * [[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/examples.pdf|Beispiele (PDF)]] |
* [[cirkuit|Cirkuit]] GUI für Circuit_macros | * [[cirkuit|Cirkuit]] GUI für Circuit_macros |