Как настроить размер инвертора в circuitikz

Как настроить размер инвертора в circuitikz

Я пытаюсь уменьшить размер инвертора по умолчанию в Circuitikz, но не могу найти нужную ctikzsetкоманду.

\begin{circuitikz} \draw
    (10,0) node[not port, rotate = 090] (s1c1) {}

    (05,2) node[not port, rotate = 180] (s2cr1) {}
    (10,6) node[not port, rotate = 090] (s2cr2) {}

    (03,4) node[not port, rotate = 090] (s2c1) {}
    (09,8) node[not port, rotate = 180] (s2c2) {}

    (2,6) node[not port, rotate = 90] (s3c1) {}
    (4,6) node[not port, rotate = 90] (s3c2) {}
    (7,7) node[not port, rotate = 180] (s3c3) {}
    (7,9) node[not port, rotate = 180] (s3c4) {}

    (s1c1.out) |- (s2cr1.in)
    (s1c1.out) |- (s2cr2.in)

    (s2cr1.out) -| (s2c1.in)
    (s2cr2.out) |- (s2c2.in)

    (s2c1.out) -| (s3c1.in)
    (s2c1.out) -| (s3c2.in)

    (s2c2.out) |- (s3c3.in)
    (s2c2.out) |- (s3c4.in)

    (s3c1.out) -- (s3c2.out)
    (s3c2.out) -| (s3c3.out)
    (s3c3.out) -- (s3c4.out)
    ;
\end{circuitikz}

На странице руководства, похоже, есть записи для вентилей NAND:

\ctikzset{tripoles/american nand port/input height=.2}
\ctikzset{tripoles/american nand port/port width=.2}

Исходя из этого, я попытался интерполировать это на инверторы:

\ctikzset{bipoles/american not port/input height=.2}

Вместо bipoles, я также попробовал tripoles, double bipolesосновываясь на странице руководства, но я не могу контролировать размер.

Вот как выглядит мой результат, и я хотел бы использовать для своей работы инверторы значительно меньших размеров:

Большие инверторы :(

решение1

По этим параметрам не так много документации. Вам нужно найти исходный код и поискать его. В моем редакторе есть опция "Найти в файлах...", которую я установил для поиска по всем файлам вC:\Program Files\MiKTeX 2.9\tex

\documentclass{standalone}
\usepackage{circuitikz}

\begin{document}
\ctikzset{bipoles/not port/height=.2}
\ctikzset{bipoles/not port/width=.2}
\begin{circuitikz} \draw
    (10,0) node[not port, rotate = 090] (s1c1) {}

    (05,2) node[not port, rotate = 180] (s2cr1) {}
    (10,6) node[not port, rotate = 090] (s2cr2) {}

    (03,4) node[not port, rotate = 090] (s2c1) {}
    (09,8) node[not port, rotate = 180] (s2c2) {}

    (2,6) node[not port, rotate = 90] (s3c1) {}
    (4,6) node[not port, rotate = 90] (s3c2) {}
    (7,7) node[not port, rotate = 180] (s3c3) {}
    (7,9) node[not port, rotate = 180] (s3c4) {}

    (s1c1.out) |- (s2cr1.in)
    (s1c1.out) |- (s2cr2.in)

    (s2cr1.out) -| (s2c1.in)
    (s2cr2.out) |- (s2c2.in)

    (s2c1.out) -| (s3c1.in)
    (s2c1.out) -| (s3c2.in)

    (s2c2.out) |- (s3c3.in)
    (s2c2.out) |- (s3c4.in)

    (s3c1.out) -- (s3c2.out)
    (s3c2.out) -| (s3c3.out)
    (s3c3.out) -- (s3c4.out)
    ;
\end{circuitikz}
\end{document}

демо

Связанный контент