6

I am writing my thesis presentation and would like to put an image of a question mark at the end for questions. Can anyone give me some code for a nice question mark drawing.

Requirements:

  • Coded in Pgf/Tikz
  • Nice looking
  • Highly customizable
  • Not too informal

I can draw in Tikz, however I don't know how to do big nice drawings, but I'm able to slightly modify code.

EDIT: I said not too informal, but I also want it not to be too formal. Something along the lines of this, but it doesn't have to be in 3D.

4 Answers 4

4

Here is a nicer example. It is definitely not a simple structure, though:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=0.1]
\draw (48.656200,67.906197)..controls (48.656200,75.199203) and (43.636700,84.164101)..(26.421900,84.164101)
    ..controls (13.507800,84.164101) and (6.457030,75.796898)..(6.457030,68.144501)
    ..controls (6.457030,63.839802) and (9.683590,62.882801)..(11.476600,62.882801)
    ..controls (13.507800,62.882801) and (16.378901,64.320297)..(16.378901,67.906197)
    ..controls (16.378901,70.656197) and (14.347700,72.808601)..(11.359400,72.808601)
    ..controls (10.640600,72.808601) and (10.402300,72.808601)..(10.160200,72.687500)
    ..controls (12.793000,78.902298) and (19.726601,81.773399)..(26.062500,81.773399)
    ..controls (39.570301,81.773399) and (39.570301,73.046898)..(39.570301,68.503899)
    ..controls (39.570301,61.449200) and (37.417999,59.179699)..(35.386700,57.027302)
    ..controls (27.257799,48.300800) and (24.628901,37.179699)..(24.628901,29.886700)
    --(24.628901,24.148399)..controls (24.628901,21.996099) and (24.628901,21.519501)..(25.941401,21.519501)
    ..controls (27.257799,21.519501) and (27.257799,22.355499)..(27.257799,24.507799)
    --(27.257799,28.929701)..controls (27.257799,35.984402) and (30.128901,46.503899)..(42.203098,55.472698)
    ..controls (45.550800,57.984402) and (48.656200,61.687500)..(48.656200,67.906197)
    --cycle;
\draw (31.679701,5.859380)..controls (31.679701,8.964840) and (29.050800,11.597700)..(25.941401,11.597700)
    ..controls (22.355499,11.597700) and (20.085899,8.726560)..(20.085899,5.859380)
    ..controls (20.085899,2.269530) and (22.953100,0.000000)..(25.824200,0.000000)
    ..controls (29.171900,0.000000) and (31.679701,2.628910)..(31.679701,5.859380)
    --cycle;
\end{tikzpicture}
\end{document}

Of course, the code by itself is not that useful, so here is how I obtained it:

I wanted to use makempy, but I could not get it to work on my computer (debian with TeXLive 2009), so I basically imitated what it is supposed to do:

I started with this TeX document: qmark.tex:

\startTEXpage[scale=10000]$?$\stopTEXpage 

I processed in with context:

texexec qmark.tex

then converted the resulting pdf to postscript:

pdftops qmark.pdf

which I then converted to a metapost file with pstoedit:

pstoedit -dt -f  mpost qmark.ps > qmark.mp

The resulting mpfile was:

% Converted from PostScript(TM) to MetaPost by pstoedit
% MetaPost backend contributed by Scott Pakin <scott+ps2ed_AT_pakin.org>
% pstoedit is Copyright (C) 1993 - 2009 Wolfgang Glunz <wglunz35_AT_pstoedit.net>

% Generate structured PostScript
prologues := 1;

% Display a given string with its *baseline* at a given location
% and with a given rotation angle
vardef showtext(expr origin)(expr angle)(expr string) =
  draw string infont defaultfont scaled defaultscale
    rotated angle shifted origin;
enddef;

beginfig(1);
linecap := butt;
linejoin := mitered;
fill (48.656200,67.906197)..controls (48.656200,75.199203) and (43.636700,84.164101)..(26.421900,84.164101)
    ..controls (13.507800,84.164101) and (6.457030,75.796898)..(6.457030,68.144501)
    ..controls (6.457030,63.839802) and (9.683590,62.882801)..(11.476600,62.882801)
    ..controls (13.507800,62.882801) and (16.378901,64.320297)..(16.378901,67.906197)
    ..controls (16.378901,70.656197) and (14.347700,72.808601)..(11.359400,72.808601)
    ..controls (10.640600,72.808601) and (10.402300,72.808601)..(10.160200,72.687500)
    ..controls (12.793000,78.902298) and (19.726601,81.773399)..(26.062500,81.773399)
    ..controls (39.570301,81.773399) and (39.570301,73.046898)..(39.570301,68.503899)
    ..controls (39.570301,61.449200) and (37.417999,59.179699)..(35.386700,57.027302)
    ..controls (27.257799,48.300800) and (24.628901,37.179699)..(24.628901,29.886700)
    --(24.628901,24.148399)..controls (24.628901,21.996099) and (24.628901,21.519501)..(25.941401,21.519501)
    ..controls (27.257799,21.519501) and (27.257799,22.355499)..(27.257799,24.507799)
    --(27.257799,28.929701)..controls (27.257799,35.984402) and (30.128901,46.503899)..(42.203098,55.472698)
    ..controls (45.550800,57.984402) and (48.656200,61.687500)..(48.656200,67.906197)
    --cycle;
fill (31.679701,5.859380)..controls (31.679701,8.964840) and (29.050800,11.597700)..(25.941401,11.597700)
    ..controls (22.355499,11.597700) and (20.085899,8.726560)..(20.085899,5.859380)
    ..controls (20.085899,2.269530) and (22.953100,0.000000)..(25.824200,0.000000)
    ..controls (29.171900,0.000000) and (31.679701,2.628910)..(31.679701,5.859380)
    --cycle;
fill (55.277302,0.000000)--cycle;
endfig;
end

Notice that the path syntax in metapost is the same as in tikz, so I deleted all the lines except the fill commands, and replaced the fill commands with \draw commands for tikz.

It should be pretty easy to make a script that does all that.

Here is the result:

outline od question mark

3
7

Just scale a question mark from a font you like and draw whatever you need arround it using TikZ:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.symbols}

\begin{document}

\tikz\node[%
    draw=blue,
    fill=blue!10,
    cloud,
    line width=1mm,
    font=\fontfamily{ppl}\fontsize{10cm}{12cm}\selectfont]{?};

\end{document}
7

choose an outline font:

\documentclass{article}  
\begin{document}

\usefont{T1}{fxb}{o}{b}\fontsize{10cm}{10.5cm}\selectfont?

\end{document}

enter image description here

2

You asked for a simple structure. Here it is, as a simple path. A more complicated version would be to draw the outline of the mark, and you can then fill it with different effects.

\documentclass{minimal}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

\draw[line width=0.5,line cap=round] (1.5,0) .. controls ++(0,2) and ++(0,-2) .. (4,4)
                                             to[out=90,in=0] (2,6)
                                             to[out=180,in=90] (0,4);

\fill (1.5,-1) circle (0.25);

\end{tikzpicture}

\end{document}

The result is

question mark

If you give indications about the dimensions, I could ajust the drawing accordingly.

1
  • 2
    Code like this should always be a full document including the preamble. This way people can just copy and paste it and compile it by their own without much effort. Especially with TikZ the right preamble might be difficult to guess in general. Here no libraries seem to be required, so it's not a big problem. Also adding an image with the graphical output would be very useful in this case. Apr 18, 2011 at 15:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .