Nach der Erstellung einer Abbildung in meiner Abschlussarbeit weist die kompilierte Abbildung eine unerwünschte blaue Linie auf. Die Abbildung befindet sich innerhalb der Seitenränder. Ich verstehe also nicht, warum die blaue Linie angezeigt wird, und weiß nicht, wie ich sie entfernen kann.
Wenn ich versuche, den Code als MWE zu kompilieren, funktioniert es wie am Schnürchen:
\documentclass{memoir}
\usepackage{tikz,pgfplots}
\usetikzlibrary{arrows.meta}
\begin{document}
\chapter{First Chapter}
\section{First Section}
\begin{figure}
\centering
\begin{tikzpicture}
\node[anchor=south west] (x) at (0,0) {$x(t)$};
\draw[-{Latex[length=3mm, width=2mm]}] (0,0)--(1,0);
\draw (1,-1) rectangle (3.5,1);
\draw[-{Latex[length=2.5mm, width=1.25mm]}] (1.2,-0.9)--(1.2,0.9);
\draw[-{Latex[length=2.5mm, width=1.25mm]}] (1.1,-0.8)--(3.4,-0.8);
\draw (1.2,0.2) -- (2.2,0.2);
\draw (2.2,0.2) -- (3,-0.8);
\node[anchor=center] (a) at (2.25,0.7) {AAF};
\node[anchor=south east] (b) at (3.4,-0.8) {$f$};
\draw[-{Latex[length=3mm, width=2mm]}] (3.5,0)--(5,0) node[anchor=south east] {$x_1(t)$};
\draw (5,-0.5) rectangle (6,0.5);
\draw (5.5, -0.8) circle (0.1) node[anchor=north west] {$f_s$};
\draw (5.5,-0.7) -- (5.5,-0.5);
\node[anchor=center] (c) at (5.5,0) {S/H};
\draw[-{Latex[length=3mm, width=2mm]}] (6,0)--(7.5,0) node[anchor=south east] {$y(k)$};
\draw (7.5,-1) rectangle (10,1);
\draw (7.75,-0.9) -| (8.25,-0.5);
\draw (8.25,-0.5) -| (8.75,0);
\draw (8.75,0) -| (9.25,0.5);
\draw (9.25,0.5) -- (9.75,0.5);
\node[anchor=center] (d) at (8.75,0.75) {Quantizer};
\draw[-{Latex[length=3mm, width=2mm]}] (10,0)--(11.5,0) node[anchor=south east] {$y(k)$};
\draw (11.5,-0.5) rectangle (13,0.5);
\node[anchor=center] (e) at (12.25,0.2) {Binary};
\node[anchor=center] (f) at (12.25,-0.2) {Encoder};
\draw[-{Latex[length=3mm, width=2mm]}] (13,0)--(14,0) node[anchor=south east] {$z$};
\end{tikzpicture}
\caption{Generic scheme for an ADC.}
\label{fig:generic_adc_scheme}
\end{figure}
\end{document}
Ergebnis:
Ich sollte hinzufügen, dass ich in meiner Arbeit eine externe Abbildungszusammenstellung verwende:
\usepgfplotslibrary{external}
\tikzexternalize
Es hat jedoch keinen Einfluss auf das Ergebnis im MWE.
BEARBEITEN:
Nach JLDiaz' Kommentar habe ich versucht, die Abbildung zu verkleinern, und die blaue Linie verschwindet tatsächlich. Dann habe ich eine neue „große“ Abbildung erstellt, die JLDiaz' Hypothese überprüft hat. Das Problem dabei ist, dass die Externalisierung die Abbildungen auf der ersten Seite des Dokuments zusammenstellt, die in meiner Arbeit die Titelseite ist, die die mysteriöse blaue Linie enthält.
Die Lösung, die ich gefunden habe, bestand darin, die Titelseite durch eine leere Seite zu ersetzen, das Dokument zu kompilieren (wobei die Abbildungen auf einer leeren Seite kompiliert werden), dann die Titelseite wieder einzusetzen und das Dokument normal zu kompilieren (da die Abbildungen bereits kompiliert wurden, werden sie einfach in das Dokument eingefügt).
Antwort1
- dieses Bild ist mit Sicherheit kein Grund für die angezeigte blaue Linie
- zum Spaß und zur Übung programmiere ich dein MWE um auf
\documentclass{memoir}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
backgrounds,
calc,
positioning,
quotes,
shadows, shapes}
%-------------------------------- show page layout, only for test
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}
\begin{document}
\chapter{First Chapter}
\section{First Section}
\lipsum[11]
\begin{figure}[ht]
\centering
\begin{tikzpicture}[
node distance = 6mm and 12mm,
> = latex,
box/.style = {rectangle, draw, thick,
minimum size=16mm, align=center,
outer sep=0pt},
block/.style = {box, draw, thick, minimum size=8mm},
quant/.style = {box,
append after command={
\pgfextra{\let\LN\tikzlastnode
\draw[very thick]
($(\LN.south west)+(2mm,2mm)$) -| ++ (3mm,3mm) -| ++ (3mm,3mm)
-| ++ (3mm,3mm) -- ++ (3mm,0mm);
}% end \pgfextra
}% end after command
},
sat/.style = {box,
append after command={
\pgfextra{\let\LN\tikzlastnode
\draw[-Straight Barb]
($(\LN.south west)+(1mm,2mm)$) coordinate (a)
edge ($(\LN.south east)+(-1mm, 2mm)$)
($(\LN.south west)+(2mm,1mm)$) to ($(\LN.north west)+( 2mm,-1mm)$);
\draw[very thick]
($(\LN.west)+(2mm,0mm)$) -- (\LN.west -| \LN.south)
-- ([xshift=3mm] a -| \LN.south)
node[above right,inner sep=1pt] {f};
}% end \pgfextra
}% end after command
},
%every label/.append style = {font=\small}
]
%
\node (n1) [sat,label={[anchor=north] AAF}] {};
\node (n2) [block,right=of n1] {S/H};
\node (n3) [quant,right=of n2,
label={[anchor=north]Quantizer}] {};
\node (n4) [block,right=of n3] {Binary\\ encoder};
%
\draw[-Stealth] ($(n1.west)-(1,0)$) edge ["$x(t)$"] (n1)
(n1) edge ["$x_1(t)$"] (n2)
(n2) edge ["$y(k)$"] (n3)
(n3) edge ["$y(k)$"] (n4)
(n4) to ["$z$"] ($(n4.east)+(1,0)$);
\end{tikzpicture}
\caption{Generic scheme for an ADC.}
\label{fig:generic_adc_scheme}
\end{figure}
\lipsum[12]
\end{document}
was gibt
- Definierte Symbole in meinem MWE könnten in Ihren anderen
tikz
Bildern nützlich sein - Aus den Kommentaren unter Ihrer Frage geht hervor, dass die Quelle Ihres Problems die Externalisierung von
tikzpicture
- Eine mögliche Lösung besteht darin, die einzelnen Bilder nicht zu verwenden, sondern sie mithilfe eines Pakets für die Dokumentklasse
externalization
als separates Dokument zu zeichnen . Zum Beispiel so:standalone
\documentclass[tikz, margin=0pt]{memoir}
\usetikzlibrary{arrows.meta,
backgrounds,
calc,
positioning,
quotes,
shadows, shapes}
\begin{document}
... image code ...
\end{document}
und die erhaltene pdf
Datei als Bild verwenden:
\begin{figure}[htb]
\includegraphics{<file name>}
\end{figure}
... nur meine 2 Cent :-)
Antwort2
Nach einigen Experimenten stellte sich heraus, dass man der Figur einen weißen Hintergrund hinzufügen konnte, wodurchfastalles auf der ersten Seite "unsichtbar" wie folgt:
\documentclass{memoir}
\usepackage{tikz,pgfplots}
\usetikzlibrary{arrows.meta}
\usepgfplotslibrary{external}
\tikzexternalize
\begin{document}
\chapter{First Chapter}
\section{First Section}
\begin{figure}
\centering
\begin{tikzpicture}[background rectangle/.style={fill=white}, show background rectangle]
\node[anchor=south west] (x) at (0,0) {$x(t)$};
\draw[-{Latex[length=3mm, width=2mm]}] (0,0)--(1,0);
\draw (1,-1) rectangle (3.5,1);
\draw[-{Latex[length=2.5mm, width=1.25mm]}] (1.2,-0.9)--(1.2,0.9);
\draw[-{Latex[length=2.5mm, width=1.25mm]}] (1.1,-0.8)--(3.4,-0.8);
\draw (1.2,0.2) -- (2.2,0.2);
\draw (2.2,0.2) -- (3,-0.8);
\node[anchor=center] (a) at (2.25,0.7) {AAF};
\node[anchor=south east] (b) at (3.4,-0.8) {$f$};
\draw[-{Latex[length=3mm, width=2mm]}] (3.5,0)--(5,0) node[anchor=south east] {$x_1(t)$};
\draw (5,-0.5) rectangle (6,0.5);
\draw (5.5, -0.8) circle (0.1) node[anchor=north west] {$f_s$};
\draw (5.5,-0.7) -- (5.5,-0.5);
\node[anchor=center] (c) at (5.5,0) {S/H};
\draw[-{Latex[length=3mm, width=2mm]}] (6,0)--(7.5,0) node[anchor=south east] {$y(k)$};
\draw (7.5,-1) rectangle (10,1);
\draw (7.75,-0.9) -| (8.25,-0.5);
\draw (8.25,-0.5) -| (8.75,0);
\draw (8.75,0) -| (9.25,0.5);
\draw (9.25,0.5) -- (9.75,0.5);
\node[anchor=center] (d) at (8.75,0.75) {Quantizer};
\draw[-{Latex[length=3mm, width=2mm]}] (10,0)--(11.5,0) node[anchor=south east] {$y(k)$};
\draw (11.5,-0.5) rectangle (13,0.5);
\node[anchor=center] (e) at (12.25,0.2) {Binary};
\node[anchor=center] (f) at (12.25,-0.2) {Encoder};
\draw[-{Latex[length=3mm, width=2mm]}] (13,0)--(14,0) node[anchor=south east] {$z$};
\end{tikzpicture}
\caption{Generic scheme for an ADC.}
\label{fig:generic_adc_scheme}
\end{figure}
\end{document}
Es ist zu beachten, dass ich so geschrieben habe almost everything
, als ob sich oben auf der ersten Seite Text befände und die Abbildung groß genug wäre, würde der Text angezeigt.
Ich denke, die Antwort von Zerko ist die bessere Lösung, da dadurch auch die Hauptseite besser aussieht und weniger überfüllt ist .tex
.