Desenhando um bloco com uma linha de entrada e uma linha de saída com Tikz

Desenhando um bloco com uma linha de entrada e uma linha de saída com Tikz

Alguém poderia me ajudar com meu código para reproduzir essa imagem em Latex?

insira a descrição da imagem aqui

\begin{tikzpicture}

\draw [-] (0, 0) -- (4, 0) node [pos = .5, above] {$X_t$} node [pos = .5, below] {série de entrada};
\node (rectangle) [draw, rectangle, minimum width = 3 cm, minimum height = 3 cm] {filtro linear} node (Y) {} node [pos = .5, above] {$V(B)$};
\draw [-] (0, 0) -- (4, 0) node [pos = .5, above] {$Y_t$} node [pos = .5, below] {série de saída};

\end{tikzpicture}

Responder1

Adaptações:

  • Dê um nome à caixa: (fl)(filtro linear) e use-a para posicionamento relativo
  • use localização (fl.north)para escrever V(B)acima da caixa.
  • escreva o nó logo após a conexão (veja meuresponda aqui) em vez de[pos = .5]

Código:

\documentclass[border=5pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
\node[draw, rectangle, minimum width = 3 cm, minimum height = 2 cm] (fl) at (0,0) {filtro linear};
\node[above] at (fl.north) {$V(B)$};
\draw[-] (fl) -- node[above]{$X_t$} node[below]{série de entrada} ++(-4,0);
\draw[-] (fl) -- node[above]{$Y_t$} node[below]{série de saída} ++(4,0);
\end{tikzpicture}

\end{document}

insira a descrição da imagem aqui

Responder2

abordagem ligeiramente diferente no desenho (e olha para fora) :-)

insira a descrição da imagem aqui

com uso de bibliotecas arrows.metae quotes(se você não gosta de setas na entrada e saída, basta omitir \drawa opção):

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta, quotes}

\begin{document}
    \begin{tikzpicture}[auto,
box/.style = {draw, minimum width=3cm, minimum height=2cm}
                        ]
\node [box,label=$V(B)$]  (fl) {filtro linear};
\draw [Triangle-] (fl.west) to ["$X_t$" ', "série de entrada"] + (-4,0);
\draw [-Triangle] (fl.east) to ["$Y_t$",   "série de saída" '] + ( 4,0);
    \end{tikzpicture}
\end{document}

Responder3

Quase o mesmo que dexteritas, exceto que as linhas têm na verdade 4 cm de comprimento.

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}

\begin{tikzpicture}

\node (rectangle) [draw, rectangle, minimum width = 3 cm, minimum
height = 3 cm] (Y) at (4,0) {filtro linear} ;
\draw [-] (Y.west) -- ++ (-4, 0) node [pos = .5, above] {$X_t$} node [pos = .5, below]
{série de entrada};
\node [above=0.1cm of Y,anchor=south] {$V(B)$};
\draw [-]  (Y.east) -- ++ (4, 0) node [pos = .5, above] {$Y_t$} node [pos = .5, below] {série de saída};

\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Responder4

Experimente o MetaPost e seu boxespacote, para quem possa interessar. Incluído em um programa LuaLaTeX.

\documentclass[border=5mm]{standalone}
\usepackage{luatex85, luamplib}
\begin{document}
\begin{mplibcode}
    input boxes;
    beginfig(1);
        boxit.f(btex filtro linear etex);
        f.w = (4cm, 0); pair extr; extr = f.e + f.w; 
        f.e - f.w = (3cm, 0); f.n - f.s = (0, 2cm);
        drawboxed(f);
        draw origin -- f.w; draw f.e -- extr;
        label.top(btex $V(B)$ etex, .5[f.nw,f.ne]);
        label.top(btex $X_t$ etex, .5[origin,f.w]);
        label.bot(btex série de entrada etex, .5[origin,f.w]);
        label.top(btex $Y_t$ etex, .5[f.e,extr]);
        label.bot(btex série de saída etex, .5[f.e,extr]);
    endfig;
\end{mplibcode}
\end{document}

insira a descrição da imagem aqui

informação relacionada