5

I am trying to reproduce the following image in latex as an illustration during a proof of the Bolzano-Weierstrass Theorem but I'm not able to do it. I don't really know how to plot the points and label everything so that it looks great as on the picture below : bolzanoweierstrass

I've tried messing around with tikz and pgfplots but I'm nowhere near familiar enough with either of those to get the result I want.

Thanks for the help.

11

The result is similar to Sebastiano's answer but it is made without drawing tool but with plots instead. The rationale for that is that, if you have an actual series, you can also plot it with something like

\draw[only marks,mark=*] 
  plot[samples at={1,...,15}] ({-1+5*(1+5*pow(-1,\x)/(2+\x))/\x},0);

Full code:

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{decorations.pathreplacing,calligraphy}
\begin{document}
\begin{tikzpicture}[decoration={calligraphic brace, amplitude=6pt}]
 \draw (-6,0) -- (6,0) (0,0.2) -- (0,-0.2) node[below]{$0$}
  foreach \X in {-,} {(\X5.5,0.2) -- (\X5.5,-0.2) node[below] {$\X M$}} ;
 \draw[only marks,mark=*] 
  plot[samples at={1,...,15}] ({-1+5*(1+5*pow(-1,\x)/(2+\x))/\x},0)
  plot[samples at={1,...,5}] ({-\x},0);
 \draw[decorate,thick] (-5.5,0.4) -- node[above=1ex](I1){$I_1$} (0,0.4);
 \draw[decorate,thick] (0,-0.8) -- node[below=1ex]{$I_2$} (I1|-0,-0.8);
 \draw[latex-] (-4,-0.1) --++ (0,-1) node[below]{$a_{n_1}$};
 \draw[latex-] (-1,0.1) --++ (0,1) node[above]{$a_{n_2}$};
\end{tikzpicture}
\end{document}

enter image description here

  • 3
    Thanks ! Very helpful. – Tommy Jan 25 at 22:09
5

This is only a draw created with Mathcha (https://www.mathcha.io/editor) that I like very much. This tool does not create perfect drawings or very short code as you can see. For a user who wants to create simple images this tool can be used as a help if you need to have a code quickly. Obviously I invite you to read the TikZ manual with its commands to create more beautiful drawings than this that I am attaching. It is only an idea of your image.

enter image description here

%% Compile and read me!
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,tikz}


\begin{document}


\tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt        

\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
%uncomment if require: \path (0,300); %set diagram left start at 0, and has height of 300

%Straight Lines [id:da9924624130587041] 
\draw    (112.33,111.33) -- (519.67,110) ;


%Straight Lines [id:da8964467018788844] 
\draw    (130.67,101.67) -- (130.67,117.67) ;


%Straight Lines [id:da11386151785300402] 
\draw    (270.67,102.33) -- (270.67,118.33) ;


%Straight Lines [id:da13122160840712382] 
\draw    (375.67,102) -- (375.67,118) ;


%Straight Lines [id:da3445450640481962] 
\draw    (491,102) -- (491,118) ;


%Shape: Brace [id:dp6200800570089593] 
\draw   (375.5,97) .. controls (375.5,92.33) and (373.17,90) .. (368.5,90) -- (265.09,90) .. controls (258.42,90) and (255.09,87.67) .. (255.09,83) .. controls (255.09,87.67) and (251.76,90) .. (245.09,90)(248.09,90) -- (138.5,90) .. controls (133.83,90) and (131.5,92.33) .. (131.5,97) ;
%Shape: Circle [id:dp6841067146425215] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (147.33,110) .. controls (147.33,107.97) and (148.97,106.33) .. (151,106.33) .. controls (153.03,106.33) and (154.67,107.97) .. (154.67,110) .. controls (154.67,112.03) and (153.03,113.67) .. (151,113.67) .. controls (148.97,113.67) and (147.33,112.03) .. (147.33,110) -- cycle ;
%Shape: Circle [id:dp6659880770508297] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (177.33,110.33) .. controls (177.33,108.31) and (178.97,106.67) .. (181,106.67) .. controls (183.03,106.67) and (184.67,108.31) .. (184.67,110.33) .. controls (184.67,112.36) and (183.03,114) .. (181,114) .. controls (178.97,114) and (177.33,112.36) .. (177.33,110.33) -- cycle ;
%Shape: Circle [id:dp9504700751081823] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (206.67,110.33) .. controls (206.67,108.31) and (208.31,106.67) .. (210.33,106.67) .. controls (212.36,106.67) and (214,108.31) .. (214,110.33) .. controls (214,112.36) and (212.36,114) .. (210.33,114) .. controls (208.31,114) and (206.67,112.36) .. (206.67,110.33) -- cycle ;
%Shape: Circle [id:dp09029872211584267] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (236.67,110.33) .. controls (236.67,108.31) and (238.31,106.67) .. (240.33,106.67) .. controls (242.36,106.67) and (244,108.31) .. (244,110.33) .. controls (244,112.36) and (242.36,114) .. (240.33,114) .. controls (238.31,114) and (236.67,112.36) .. (236.67,110.33) -- cycle ;
%Shape: Circle [id:dp8167826233391373] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (386.67,109.67) .. controls (386.67,107.64) and (388.31,106) .. (390.33,106) .. controls (392.36,106) and (394,107.64) .. (394,109.67) .. controls (394,111.69) and (392.36,113.33) .. (390.33,113.33) .. controls (388.31,113.33) and (386.67,111.69) .. (386.67,109.67) -- cycle ;
%Shape: Circle [id:dp8722255959836276] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (427.33,109.67) .. controls (427.33,107.64) and (428.97,106) .. (431,106) .. controls (433.03,106) and (434.67,107.64) .. (434.67,109.67) .. controls (434.67,111.69) and (433.03,113.33) .. (431,113.33) .. controls (428.97,113.33) and (427.33,111.69) .. (427.33,109.67) -- cycle ;
%Shape: Circle [id:dp3361929558883294] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (447.33,109.67) .. controls (447.33,107.64) and (448.97,106) .. (451,106) .. controls (453.03,106) and (454.67,107.64) .. (454.67,109.67) .. controls (454.67,111.69) and (453.03,113.33) .. (451,113.33) .. controls (448.97,113.33) and (447.33,111.69) .. (447.33,109.67) -- cycle ;
%Shape: Circle [id:dp28390041233762386] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (474,109.67) .. controls (474,107.64) and (475.64,106) .. (477.67,106) .. controls (479.69,106) and (481.33,107.64) .. (481.33,109.67) .. controls (481.33,111.69) and (479.69,113.33) .. (477.67,113.33) .. controls (475.64,113.33) and (474,111.69) .. (474,109.67) -- cycle ;
%Shape: Circle [id:dp9615854303539904] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (279.33,111) .. controls (279.33,108.97) and (280.97,107.33) .. (283,107.33) .. controls (285.03,107.33) and (286.67,108.97) .. (286.67,111) .. controls (286.67,113.03) and (285.03,114.67) .. (283,114.67) .. controls (280.97,114.67) and (279.33,113.03) .. (279.33,111) -- cycle ;
%Shape: Circle [id:dp20494776974825157] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (312.33,110.67) .. controls (312.33,108.64) and (313.97,107) .. (316,107) .. controls (318.03,107) and (319.67,108.64) .. (319.67,110.67) .. controls (319.67,112.69) and (318.03,114.33) .. (316,114.33) .. controls (313.97,114.33) and (312.33,112.69) .. (312.33,110.67) -- cycle ;
%Shape: Circle [id:dp5303366846344186] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (321.67,110.67) .. controls (321.67,108.64) and (323.31,107) .. (325.33,107) .. controls (327.36,107) and (329,108.64) .. (329,110.67) .. controls (329,112.69) and (327.36,114.33) .. (325.33,114.33) .. controls (323.31,114.33) and (321.67,112.69) .. (321.67,110.67) -- cycle ;
%Shape: Circle [id:dp24820017851669074] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (330,110.33) .. controls (330,108.31) and (331.64,106.67) .. (333.67,106.67) .. controls (335.69,106.67) and (337.33,108.31) .. (337.33,110.33) .. controls (337.33,112.36) and (335.69,114) .. (333.67,114) .. controls (331.64,114) and (330,112.36) .. (330,110.33) -- cycle ;
%Shape: Circle [id:dp7653236409981055] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (303.33,110.67) .. controls (303.33,108.64) and (304.97,107) .. (307,107) .. controls (309.03,107) and (310.67,108.64) .. (310.67,110.67) .. controls (310.67,112.69) and (309.03,114.33) .. (307,114.33) .. controls (304.97,114.33) and (303.33,112.69) .. (303.33,110.67) -- cycle ;
%Shape: Circle [id:dp36351648225964683] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (344.33,110.67) .. controls (344.33,108.64) and (345.97,107) .. (348,107) .. controls (350.03,107) and (351.67,108.64) .. (351.67,110.67) .. controls (351.67,112.69) and (350.03,114.33) .. (348,114.33) .. controls (345.97,114.33) and (344.33,112.69) .. (344.33,110.67) -- cycle ;
%Shape: Circle [id:dp294024717030013] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (351.67,110.67) .. controls (351.67,108.64) and (353.31,107) .. (355.33,107) .. controls (357.36,107) and (359,108.64) .. (359,110.67) .. controls (359,112.69) and (357.36,114.33) .. (355.33,114.33) .. controls (353.31,114.33) and (351.67,112.69) .. (351.67,110.67) -- cycle ;
%Straight Lines [id:da6272191786740566] 
\draw    (210.67,159.67) -- (210.67,120.67) ;
\draw [shift={(210.67,117.67)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.08]  [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle    ;

%Shape: Brace [id:dp24141832145418474] 
\draw   (270.67,120.33) .. controls (270.7,125) and (273.04,127.32) .. (277.71,127.29) -- (313.38,127.07) .. controls (320.05,127.02) and (323.39,129.33) .. (323.42,134) .. controls (323.39,129.33) and (326.71,126.98) .. (333.38,126.94)(330.38,126.96) -- (369.04,126.72) .. controls (373.71,126.69) and (376.03,124.34) .. (376,119.67) ;
%Shape: Circle [id:dp2950234401571059] 
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (359,110.67) .. controls (359,108.64) and (360.64,107) .. (362.67,107) .. controls (364.69,107) and (366.33,108.64) .. (366.33,110.67) .. controls (366.33,112.69) and (364.69,114.33) .. (362.67,114.33) .. controls (360.64,114.33) and (359,112.69) .. (359,110.67) -- cycle ;
%Straight Lines [id:da5496324871117824] 
\draw    (334,61.67) -- (334,100) ;
\draw [shift={(334,103)}, rotate = 270] [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.08]  [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle    ;
% Text Node
\draw (126,126.67) node    {$-M$};
% Text Node
\draw (378,132) node    {$0$};
% Text Node
\draw (488.67,124.67) node    {$M$};
% Text Node
\draw (256,75) node    {$\scriptstyle I_{1}$};
% Text Node
\draw (210.67,168.67) node    {$\scriptstyle a_{n_1}$};
% Text Node
\draw (325.33,142) node    {$\scriptstyle I_{2}$};
% Text Node
\draw (344.67,55.33) node    {$\scriptstyle a_{n_2}$};


\end{tikzpicture}

\end{document}
  • 1
    Thanks that's actually quite usefool I didn't know this tool existed. – Tommy Jan 25 at 22:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.