8

I need to draw some bullets for a custom list, but what I have now is pgf code. I figured, why load entire pgf package to draw a mere circle (or square) when there must be (don't tell me otherwise, it's heartbreaking) plain TeX/LaTeX commands to do just that.

bp2017
  • 3,756
  • 1
  • 13
  • 33
  • 1
    Drawings are all created with source specials. Yes, you can do that by hand, but it is potentially painful. If you are limiting to simple lines and circles, you can of course use picture mode ... – Joseph Wright Nov 15 '19 at 16:29
  • Is Metafont an option? Doing it in TeX could be a bit hard. Only thing I could think of that doesn't rely on specials, glyphs or similar would be to place a lot (read a lot) dots that coincidentally form a circle... – Skillmon Nov 15 '19 at 16:34
  • 1
    @Skillmon \qbezier command in the format does exactly that – David Carlisle Nov 15 '19 at 16:37
  • 2
    some circle examples with no package loaded https://tex.stackexchange.com/a/473314/1090 – David Carlisle Nov 15 '19 at 17:02

2 Answers2

11

As long as you only want the circles in a limited size range

enter image description here

\documentclass{article}

\begin{document}


zzz
\begin{picture}(8,8)
  \put(5,3){\circle{5}}
\end{picture}
zzz
\begin{picture}(8,8)
    \put(5,3){\circle*{5}}
\end{picture}
zzz
\begin{picture}(8,8)
    \put(1,1){\framebox(5,5){}}
\end{picture}
zzz

\end{document}
David Carlisle
  • 757,742
  • 1
    for circle around 10pt I think, I'd have to check, rectangles have no limit – David Carlisle Nov 15 '19 at 16:34
  • 1
    @bp2017 why can't you use bullets from the font? \bullet, \Box etc? – David Carlisle Nov 15 '19 at 16:35
  • 1
    @bp2017 er yes but using \resizebox defeats the point of the question:-) You can draw curves using literal postscript or pdf drawing commands, but if you want to avoid that and stick to pure tex with no system dependent back end then you can do as I suggest here, but resizebox inserts system specific literal pdf or postscript scaling commands so gets back to where you started – David Carlisle Nov 15 '19 at 16:39
  • 2
    .. and more explicitly your title asks to avoid graphics packages and \resizebox is defined in the package named graphics – David Carlisle Nov 15 '19 at 16:42
  • 1
    @bp2017 \textbullet is the text version (the default itemize label, \Box is the old name in latexsym amssym package has \square and \blacksquare – David Carlisle Nov 15 '19 at 17:26
  • It's amssymb (you forgot b at the end). I wonder why it's not on CTAN, or maybe I'm not good at searching (can't see it, although could use in in the document). Couldn't find latexsym either. Is it part of some other package (a bulk package)? – bp2017 Nov 15 '19 at 22:56
  • 2
    @bp2017 amssymb in amsfonts it is highly unlikely that you don't have it installed, first hit in google for "ctan amssymb" is https://ctan.org/pkg/amsfonts?lang=en latexsym is part of the base latex distribution, you have that installed if you have latex at all. – David Carlisle Nov 15 '19 at 23:11
  • Largest circle I could make is 38pt in diameter, second largest is 37pt, then you have to decrement each value (starting with 37pt) by 4 units to get next smallest circle down until 17pt. Starting from 17pt, every point difference (if you're going down to zero) counts. Why such weird behavior? (Not to mention the difference between 38pt and 37pt circles looks more than 1pt.) – bp2017 Nov 16 '19 at 17:20
  • 1
    @bp2017 the circles are made from 1/4 circle glyphs in a font so you can only make a fixed set of sizes – David Carlisle Nov 16 '19 at 17:49
10
 \documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
\textbullet \rule{1ex}{1ex} \Huge\textbullet \rule{1ex}{1ex} 
\end{document}

enter image description here

Ulrike Fischer
  • 327,261