Totally sweet horizontal rules in LaTeX












144















I have been trying to find a way to easily drop a nice horizontal rule into a LaTeX document. hline just makes a line across the page. It would seem that some package must provide something that is maybe half a page wide, with little bedknobs on the ends or something to act as a nice section marker for paragraphs.



Any ideas? Or am I boned, and need to come up with my own macro to create such a beast?










share|improve this question















migrated from stackoverflow.com Oct 25 '11 at 20:33


This question came from our site for professional and enthusiast programmers.














  • 9





    call me old-fashioned, but is "totally sweet" the adjective you're really looking for here?

    – nickf
    Feb 6 '09 at 16:23






  • 28





    Old-fashioned, nick. :-P

    – JMD
    Feb 6 '09 at 16:26






  • 7





    It is the adjective I'm looking for. Something like ----, where the asterisks are cool leaves or something, like a big fancy curtainrod. If someone saw it, they would exclaim, "TOTALLY SWEET!"

    – Arcane
    Feb 6 '09 at 16:42






  • 60





    usepackage{totallysweetrules}

    – quant_dev
    Dec 7 '09 at 10:15






  • 4





    This question might be relevant too.

    – ienissei
    Mar 30 '12 at 9:09
















144















I have been trying to find a way to easily drop a nice horizontal rule into a LaTeX document. hline just makes a line across the page. It would seem that some package must provide something that is maybe half a page wide, with little bedknobs on the ends or something to act as a nice section marker for paragraphs.



Any ideas? Or am I boned, and need to come up with my own macro to create such a beast?










share|improve this question















migrated from stackoverflow.com Oct 25 '11 at 20:33


This question came from our site for professional and enthusiast programmers.














  • 9





    call me old-fashioned, but is "totally sweet" the adjective you're really looking for here?

    – nickf
    Feb 6 '09 at 16:23






  • 28





    Old-fashioned, nick. :-P

    – JMD
    Feb 6 '09 at 16:26






  • 7





    It is the adjective I'm looking for. Something like ----, where the asterisks are cool leaves or something, like a big fancy curtainrod. If someone saw it, they would exclaim, "TOTALLY SWEET!"

    – Arcane
    Feb 6 '09 at 16:42






  • 60





    usepackage{totallysweetrules}

    – quant_dev
    Dec 7 '09 at 10:15






  • 4





    This question might be relevant too.

    – ienissei
    Mar 30 '12 at 9:09














144












144








144


78






I have been trying to find a way to easily drop a nice horizontal rule into a LaTeX document. hline just makes a line across the page. It would seem that some package must provide something that is maybe half a page wide, with little bedknobs on the ends or something to act as a nice section marker for paragraphs.



Any ideas? Or am I boned, and need to come up with my own macro to create such a beast?










share|improve this question
















I have been trying to find a way to easily drop a nice horizontal rule into a LaTeX document. hline just makes a line across the page. It would seem that some package must provide something that is maybe half a page wide, with little bedknobs on the ends or something to act as a nice section marker for paragraphs.



Any ideas? Or am I boned, and need to come up with my own macro to create such a beast?







rules decorations






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Oct 25 '11 at 20:37









Werner

443k679781675




443k679781675










asked Feb 6 '09 at 16:21









ArcaneArcane

821274




821274




migrated from stackoverflow.com Oct 25 '11 at 20:33


This question came from our site for professional and enthusiast programmers.









migrated from stackoverflow.com Oct 25 '11 at 20:33


This question came from our site for professional and enthusiast programmers.










  • 9





    call me old-fashioned, but is "totally sweet" the adjective you're really looking for here?

    – nickf
    Feb 6 '09 at 16:23






  • 28





    Old-fashioned, nick. :-P

    – JMD
    Feb 6 '09 at 16:26






  • 7





    It is the adjective I'm looking for. Something like ----, where the asterisks are cool leaves or something, like a big fancy curtainrod. If someone saw it, they would exclaim, "TOTALLY SWEET!"

    – Arcane
    Feb 6 '09 at 16:42






  • 60





    usepackage{totallysweetrules}

    – quant_dev
    Dec 7 '09 at 10:15






  • 4





    This question might be relevant too.

    – ienissei
    Mar 30 '12 at 9:09














  • 9





    call me old-fashioned, but is "totally sweet" the adjective you're really looking for here?

    – nickf
    Feb 6 '09 at 16:23






  • 28





    Old-fashioned, nick. :-P

    – JMD
    Feb 6 '09 at 16:26






  • 7





    It is the adjective I'm looking for. Something like ----, where the asterisks are cool leaves or something, like a big fancy curtainrod. If someone saw it, they would exclaim, "TOTALLY SWEET!"

    – Arcane
    Feb 6 '09 at 16:42






  • 60





    usepackage{totallysweetrules}

    – quant_dev
    Dec 7 '09 at 10:15






  • 4





    This question might be relevant too.

    – ienissei
    Mar 30 '12 at 9:09








9




9





call me old-fashioned, but is "totally sweet" the adjective you're really looking for here?

– nickf
Feb 6 '09 at 16:23





call me old-fashioned, but is "totally sweet" the adjective you're really looking for here?

– nickf
Feb 6 '09 at 16:23




28




28





Old-fashioned, nick. :-P

– JMD
Feb 6 '09 at 16:26





Old-fashioned, nick. :-P

– JMD
Feb 6 '09 at 16:26




7




7





It is the adjective I'm looking for. Something like ----, where the asterisks are cool leaves or something, like a big fancy curtainrod. If someone saw it, they would exclaim, "TOTALLY SWEET!"

– Arcane
Feb 6 '09 at 16:42





It is the adjective I'm looking for. Something like ----, where the asterisks are cool leaves or something, like a big fancy curtainrod. If someone saw it, they would exclaim, "TOTALLY SWEET!"

– Arcane
Feb 6 '09 at 16:42




60




60





usepackage{totallysweetrules}

– quant_dev
Dec 7 '09 at 10:15





usepackage{totallysweetrules}

– quant_dev
Dec 7 '09 at 10:15




4




4





This question might be relevant too.

– ienissei
Mar 30 '12 at 9:09





This question might be relevant too.

– ienissei
Mar 30 '12 at 9:09










14 Answers
14






active

oldest

votes


















79














You may be interested in pgfornament.



PassOptionsToPackage{svgnames}{xcolor}
documentclass[11pt]{article}
usepackage[object=vectorian]{pgfornament} %% http://altermundus.com/pages/tkz/ornament/index.html
usepackage{lipsum,tikz}

newcommand{sectionline}{%
noindent
begin{center}
{color{DarkViolet}
resizebox{0.5linewidth}{1ex}
{{%
{begin{tikzpicture}
node (C) at (0,0) {};
node (D) at (9,0) {};
path (C) to [ornament=85] (D);
end{tikzpicture}}}}}%
end{center}
}
%% A macro with two arguments to change ornaments and colors easily
%% Syntax -- sectionlinetwo{<color>}{<ornament>}
newcommand{sectionlinetwo}[2]{%
nointerlineskip vspace{.5baselineskip}hspace{fill}
{color{#1}
resizebox{0.5linewidth}{2ex}
{{%
{begin{tikzpicture}
node (C) at (0,0) {};
node (D) at (9,0) {};
path (C) to [ornament=#2] (D);
end{tikzpicture}}}}}%
hspace{fill}
parnointerlineskip vspace{.5baselineskip}
}

begin{document}
lipsum[1]
sectionline
lipsum[2]
sectionlinetwo{magenta}{84}
lipsum[3]
sectionlinetwo{DarkGreen}{88}
end{document}


enter image description here



As pointed by Gonzalo, pgfornaments can be used without tikzpicture environment as



newcommand{sectionlinetwo}[2]{%
nointerlineskip vspace{.5baselineskip}hspace{fill}
{resizebox{0.5linewidth}{1.2ex}
{pgfornament[color = #1]{#2}
}}%
hspace{fill}
parnointerlineskip vspace{.5baselineskip}
}


hence making code less cluttered.






share|improve this answer

































    38














    In general:



    rule{width}{height}


    macro:



    newcommand{sectionline}{%
    nointerlineskip vspace{baselineskip}%
    hspace{fill}rule{0.5linewidth}{.7pt}hspace{fill}%
    parnointerlineskip vspace{baselineskip}
    }





    share|improve this answer



















    • 3





      Removing the %s from the macro made it center the line properly.

      – Matt
      Sep 3 '11 at 16:56






    • 1





      For other users: don't forget that "width" and "height" are in terms of "pt", so the proper usage of rule is something along the lines of rule{500pt}{1pt}.

      – rsegal
      Aug 31 '12 at 15:32













    • I was trying to use this to get a double rule... but this doesn't work. Could you help me to understand why. newcommand{sectionline}{ nointerlineskip vspace{baselineskip} hspace{fill}rule{0.95linewidth}{.7pt} rule{0.95linewidth}{1.7pt}hspace{fill} parnointerlineskip vspace{baselineskip} }

      – theobear
      Jun 7 '13 at 16:45





















    32














    The web-O-mints package offers here another option; a little example:



    documentclass[12pt]{article}
    usepackage[vmargin=2.5cm]{geometry}
    usepackage[utf8]{inputenc}
    usepackage[T1]{fontenc}
    usepackage{graphicx}
    usepackage{fourier}
    usepackage[nopar]{lipsum}

    newcommanddeco[2]{%
    parvspace{1ex}
    begin{center}
    fontsize{#1}{#1}usefont{U}{webo}{xl}{n}#2
    end{center}
    vspace*{1ex}par
    }

    newcounter{mytimes}
    newcommandOPpattern{%
    loop
    ifnumvalue{mytimes}<7relax
    stepcounter{mytimes}%
    rotatebox{90}{o}raisebox{8pt}{rotatebox{270}{n}}%
    repeat}

    begin{document}

    lipsum[2]
    deco{10pt}{IJKLIJKL}
    lipsum[2]
    deco{16pt}{}
    lipsum[2]
    deco{10pt}{pqpqpqpqpqpqpqpqpqpq}
    lipsum[2]
    deco{10pt}{444444444}
    lipsum[2]
    deco{10pt}{fgfgfgfgfgfgfg}
    lipsum[2]
    deco{14pt}{OPpattern}
    lipsum[2]
    deco{12pt}{mmmmmmmmmmmmmm}
    lipsum[2]

    end{document}


    enter image description here






    share|improve this answer



















    • 1





      Forgive me if I am overlooking something, but I don't see you calling any package named web-0-mint!

      – Ludi
      Jul 20 '17 at 16:34



















    24














    Well, we can always appeal to tikz to make these graphic details.



    Below you can see some lines with the tikz own endings.



    Tikz arrow tips



    And the picture above was generated from the following code:



    documentclass[a4paper, twocolumn]{article}

    usepackage{tikz}
    usetikzlibrary{arrows}

    newcommand{myrule} [3] {
    begin{center}
    begin{tikzpicture}
    draw[#2-#3, ultra thick, #1] (0,0) to (0.5linewidth,0);
    end{tikzpicture}
    end{center}
    }

    begin{document}

    myrule{}{}
    myrule[double]{}{}
    myrule{to}{to}
    myrule[double]{to}{to}
    myrule{to reversed}{to reversed}
    myrule[double]{to reversed}{to reversed}
    myrule{implies}{implies}
    myrule[double]{implies}{implies}
    myrule{latex}{latex}
    myrule{latex reversed}{latex reversed}
    myrule{latex'}{latex'}
    myrule{latex' reversed}{latex' reversed}
    myrule{stealth}{stealth}
    myrule{stealth reversed}{stealth reversed}
    myrule{stealth'}{stealth'}
    myrule{stealth' reversed}{stealth' reversed}
    myrule{triangle 90}{triangle 90}
    myrule{triangle 90 reversed}{triangle 90 reversed}
    myrule{triangle 60}{triangle 60}
    myrule{triangle 60 reversed}{triangle 60 reversed}
    myrule{triangle 45}{triangle 45}
    myrule{triangle 45 reversed}{triangle 45 reversed}
    myrule{open triangle 90}{open triangle 90}
    myrule{open triangle 90 reversed}{open triangle 90 reversed}
    myrule{open triangle 60}{open triangle 60}
    myrule{open triangle 60 reversed}{open triangle 60 reversed}
    myrule{open triangle 45}{open triangle 45}
    myrule{open triangle 45 reversed}{open triangle 45 reversed}
    myrule{angle 90}{angle 90}
    myrule{angle 90 reversed}{angle 90 reversed}
    myrule{angle 60}{angle 60}
    myrule{angle 60 reversed}{angle 60 reversed}
    myrule{angle 45}{angle 45}
    myrule{angle 45 reversed}{angle 45 reversed}
    myrule{hooks}{hooks}
    myrule{hooks reversed}{hooks reversed}
    myrule{(}{)}
    myrule{)}{(}
    myrule{|}{|}
    myrule{o}{o}
    myrule{*}{*}
    myrule{diamond}{diamond}
    myrule{open diamond}{open diamond}
    myrule{square}{square}
    myrule{open square}{open square}
    myrule{serif cm}{serif cm}
    myrule{left to}{left to}
    myrule{left to reversed}{left to reversed}
    myrule{right to}{right to}
    myrule{right to reversed}{right to reversed}
    myrule{left hook}{left hook}
    myrule{left hook reversed}{left hook reversed}
    myrule{right hook}{right hook}
    myrule{right hook reversed}{right hook reversed}
    myrule[line width = 2mm]{round cap}{round cap}
    myrule[line width = 2mm]{butt cap}{butt cap}
    myrule[line width = 2mm]{triangle 90 cap}{triangle 90 cap}
    myrule[line width = 2mm]{triangle 90 cap reversed}{triangle 90 cap reversed}
    myrule[line width = 2mm]{fast cap}{fast cap}
    myrule[line width = 2mm]{fast cap reversed}{fast cap reversed}

    end{document}


    But you can also use more powerful features:



    Other resources



    And to generate the image above:



    documentclass[a4paper, twocolumn]{article}

    usepackage{tikz}
    usetikzlibrary{decorations.markings}
    usetikzlibrary{decorations.shapes}
    usetikzlibrary{shapes.geometric}
    usetikzlibrary{decorations.fractals}
    usetikzlibrary{decorations.footprints}

    tikzset {
    , bedknobs one/.style = {
    decorate
    , fill = red!50
    , decoration = {
    shape backgrounds
    , shape = #1
    , shape size = 2mm
    }
    }
    , bedknobs two/.style = {
    decorate
    , decoration = {
    #1
    }
    , fill = blue!50
    }
    }

    newcommand{bedknobsone}[1]{
    begin{center}
    tikz draw [bedknobs one = {#1}] (0,0) to (0.5linewidth, 0);
    end{center}
    }

    newcommand{bedknobstwo}[1]{
    begin{center}
    tikz draw [bedknobs two = {#1}] (0,0) to (0.5linewidth, 0);
    end{center}
    }

    newcommand{bedknobsthree}[1]{
    begin{center}
    tikz [
    decoration = #1
    ] draw decorate{ decorate{ decorate{ (0, 0) -- (0.5linewidth, 0) }}};
    end{center}
    }

    newcommand{bedknobsfour}{
    begin{center}
    begin{tikzpicture} [thick]
    node[minimum size = 5mm] (first) {};
    node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
    draw plot [smooth] coordinates {
    (first.north) (first.west) (first.south)
    (second.north) (second.east) (second.south)
    };
    end{tikzpicture}
    end{center}
    }

    newcommand{bedknobsfive}{
    begin{center}
    begin{tikzpicture} [thick]
    node[minimum size = 5mm] (first) {};
    node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
    node[minimum size = 5mm, anchor = west] (space) at (second.east) {};
    node[minimum size = 5mm, anchor = west] (third) at (space.east) {};
    node[minimum size = 5mm, anchor = west] (fourth) at (third.east) {};
    draw plot [smooth] coordinates {
    (first.north) (first.west) (first.south)
    (second.north) (second.east) (second.south)
    };
    draw plot [smooth] coordinates {
    (fourth.north) (fourth.east) (fourth.south)
    (third.north) (third.west) (third.south)
    };
    end{tikzpicture}
    end{center}
    }

    begin{document}

    section {basic}

    bedknobstwo{crosses}
    bedknobstwo{triangles}


    section {shapes}

    bedknobsone{dart}
    bedknobsone{diamond}
    bedknobsone{isosceles triangle}
    bedknobsone{star}
    bedknobstwo{shape backgrounds, shape scaled, shape start size=2.5mm,shape end size=1mm}


    section {footprints}

    bedknobstwo{footprints}
    bedknobstwo{footprints, foot of = gnome}
    bedknobstwo{footprints, foot of = bird}
    bedknobstwo{footprints, foot of = felis silvestri}


    section {fractals}

    bedknobsthree {Koch curve type 1}
    bedknobsthree {Koch curve type 2}
    bedknobsthree {Koch snowflake}
    bedknobsthree {Cantor set}


    section {Others}

    bedknobsfour
    bedknobsfive

    end{document}





    share|improve this answer



















    • 3





      Just a note that it might be a good idea to externalize such things if you use them a lot, because TikZ is slowing the compilation a lot.

      – yo'
      Oct 13 '12 at 20:55



















    23














    memoir document class has facilities to draw these "totally sweet" anonymous breaks. See section 6.7 Fancy anonymous breaks (page 109-111) of the manual for details.






    share|improve this answer


























    • Hi @Seamus, I looked at the Memoir class and it does seem to have beautiful separators. How would I go about importing some of these if I were to use another document class?

      – tchakravarty
      Nov 5 '11 at 23:47






    • 2





      @FgNu That sounds like a new question...

      – Seamus
      Nov 6 '11 at 21:26






    • 1





      I changed the manual reference to include the section name, as the page count had changed a little in newer version (the one I have is dated 2011/03/06). I assume that was the section you were referring to.

      – Torbjørn T.
      Oct 13 '12 at 7:25



















    20














    I used this image and then this code:



    enter image description here



    In header:



    newcommand{parasep}{
    begin{center}
    includegraphics[scale=.5]{hrule.png}
    end{center}}


    In body where you want the image:



    parasep


    Oh and remember to:



    usepackage{graphicx}





    share|improve this answer


























    • Cf. my comment on dreamlax's post, below.

      – Charles Stewart
      Dec 7 '09 at 9:49











    • i get this error: ! Missing endcsname inserted. <to be read again> unhbox ? I have no idea why?

      – Andreas
      Dec 17 '09 at 10:13











    • In which implementation you can provide the filename with the extension on?

      – souser12345
      Sep 2 '10 at 17:32



















    13














    The xhfill package provides an array of leaders and colours to create straight-forward, sweet rules. The following is taken mostly from the xhfill documentation:



    enter image description here



    documentclass{article}
    usepackage{listings}% http://ctan.org/pkg/listings
    lstset{language=[LaTeX]TeX,
    basicstyle=smallttfamily}
    %usepackage{xcolor}% http://ctan.org/pkg/xcolor | Loaded by listings
    usepackage{xhfill}% http://ctan.org/pkg/xhfill

    setlength{parindent}{0pt}% Just for this example
    newcommand{xfill}[2][1ex]{{%
    dimen0=#2advancedimen0 by #1
    leadershrule height dimen0 depth -#1hfill%
    }}
    newcommand{xfilll}[2][1ex]{%
    dimen0=#2advancedimen0 by #1%
    leadershrule height dimen0 depth -#1hfill%
    }

    begin{document}
    blahxfilll{1pt}blub
    begin{lstlisting}
    blahxfilll{1pt}blub
    end{lstlisting}
    bigskip

    blahxfilll[0pt]{4pt}blub
    begin{lstlisting}
    blahxfilll[0pt]{4pt}blub
    end{lstlisting}
    bigskip

    blahxfilll[-12pt]{12pt}blub
    begin{lstlisting}
    blahxfilll[-12pt]{12pt}blub
    end{lstlisting}
    bigskip

    blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
    begin{lstlisting}
    blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
    end{lstlisting}
    bigskip

    laberxrfill[0pt]{4pt}[green]blub blub
    begin{lstlisting}
    laberxrfill[0pt]{4pt}[green]blub blub
    end{lstlisting}
    bigskip

    blahxrfill[-1ex]{1pt}[red]blub
    begin{lstlisting}
    blahxrfill[-1ex]{1pt}[red]blub
    end{lstlisting}
    bigskip

    blah xhrulefill{cyan}{1cm} blub
    begin{lstlisting}
    blah xhrulefill{cyan}{1cm} blub
    end{lstlisting}
    bigskip

    blah xhrectanglefill{0.5cm}{1pt} blubber
    begin{lstlisting}
    blah xhrectanglefill{0.5cm}{1pt} blubber
    end{lstlisting}
    bigskip

    blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
    begin{lstlisting}
    blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
    end{lstlisting}
    end{document}





    share|improve this answer
























    • This works for me, but not with the command shown (xfilll) nor with the one in the package's documentation (xfill). What worked was what's given as a comment under Usage in xhfill.sty: xhrulefill{blue}{5pt}.

      – Liam
      Dec 26 '15 at 20:55



















    11














    You might want to install the webomint fonsts from CTAN. There are a lot of ornaments in this font. Then one possibility would be:



    documentclass[11pt]{article}
    usepackage{graphicx}
    usepackage{lipsum}

    makeatletter
    newcommand{EnglischeLinie}{%
    @afterindentfalse
    {begin{center}
    resizebox{0.8linewidth}{0.4ex}{{%
    fontsize{20}{24}usefont{U}{webo}{xl}{n}{4}}}%
    end{center}}@afterheading}
    makeatother

    begin{document}
    lipsum[1]
    EnglischeLinie
    lipsum[1]
    end{document}


    This will look like this:



    enter image description here



    You may play around with this.






    share|improve this answer































      9














      In TeX, there is a primitive command leaders which is able to take an hbox and replicate it as many times as necessary to fill a specific amount of glue (which can be the entire with of the page if necessary). Each box that it lays down will stick to a vertical grid, so that boxes laid directly below will be in-line with the ones above (so they don't appear out of sync). This technique is commonly used for tables of contents.



      You can supply your own custom graphic and box to have a repeating pattern used as a line.



      usepackage{graphicx}

      newcommand{nicehline}{%
      parnoindent
      leadershbox to 1in{includegraphics{somethingnice.png}}hfill
      par
      }

      Lorem ipsum dolor sit amet.

      nicehline

      Lorem ipsum dolor sit amet.


      Of course, you'll need to supply your own somethingnice.png, or alternatively use a dingbat. Perhaps it may be better to save the graphic into its own box register if it will mean the graphics are only included once and referenced thereafter (as opposed to included each time it is to be displayed).






      share|improve this answer
























      • This is basically the right way to do it, but using metafont/metapost pictures as fonts may give better results than embedding png/eps/&c graphics, since they will scale well.

        – Charles Stewart
        Dec 7 '09 at 9:45



















      8














      Everything I've ever read defines a custom command for fancy graphical paragraph separators. Nothing in latex adds bedknobs or any fancy decorations, and I can't find any packages which add such functionality.



      The example I've seen is typically:



      newcommand{parasep}{begin{center}*hspace{6em}*hspace{6em}*end{center}}


      Obviously from here you could replace the asterisks with something more visually appealing.






      share|improve this answer
























      • @jasedit I tried to resolve the bedknobs issue, but realized my hands were handcuffed to them.

        – Nicholas Hamilton
        May 22 '13 at 20:23





















      7














      Just to reiterate: you can get better results with fonts than embedded images, and better results with TeX-native font representations (e.g., MetaFont), than with TrueType fonts.



      Noah, above, linked to typoasis, which has some mouthwateringly beautiful fonts, but they are alien to TeX, so you might not get ideal results with them.



      Zapfino, Hermann Zapf's calligraphic font, is worth a look: Zapf worked with Knuth on this, and some other, fonts, so it is all done The Right Way.



      If you do make use of TeX-alien fonts, it is best to import tham as MetaType1 fonts using, say, the pf2mt1 utility; cf. the CTAN metatype1 package's README for some info.






      share|improve this answer


























      • 1) Couldn't you use a vector-image for nice results? I know that LaTeX doesn't support actual image formats like SVG, but you can put a vector image in a PDF then import that. 2) An alternative to non-TeX fonts would be LuaTeX or XeTeX, wouldn't it? I'm not a user of either, but I've heard good things about LuaTeX.

        – Canageek
        Oct 25 '11 at 21:28



















      7














      Just to chime in with a font suggestion: if you do go down that path, the fourier-orns package loads a lot of nice ornaments that, as the name suggests, are designed to go with Fourier. See the fourier documentation for details.






      share|improve this answer































        4














        I use the dingbats that come with Minion like so:



        newcommandanonbreak{fancybreak{reflectbox{char"E0B6} quad char"E0BE quad char"E0B6}vspace{baselineskip}}






        share|improve this answer































          4














          You might try perusing some font collections. Here are some free examples; if you're willing to pay a little money or do some work on your own, you can get some really nice ones.









          share|improve this answer


























          • Fonts are the way to go, but the typoasis fonts are just raw foundries, and so don't integrate very well with tex. See my comment below.

            – Charles Stewart
            Dec 7 '09 at 9:48






          • 2





            The link is dead, making the answer completely useless. Flagging as “not an answer”.

            – Henri Menke
            2 hours ago











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "85"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f32711%2ftotally-sweet-horizontal-rules-in-latex%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          14 Answers
          14






          active

          oldest

          votes








          14 Answers
          14






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          79














          You may be interested in pgfornament.



          PassOptionsToPackage{svgnames}{xcolor}
          documentclass[11pt]{article}
          usepackage[object=vectorian]{pgfornament} %% http://altermundus.com/pages/tkz/ornament/index.html
          usepackage{lipsum,tikz}

          newcommand{sectionline}{%
          noindent
          begin{center}
          {color{DarkViolet}
          resizebox{0.5linewidth}{1ex}
          {{%
          {begin{tikzpicture}
          node (C) at (0,0) {};
          node (D) at (9,0) {};
          path (C) to [ornament=85] (D);
          end{tikzpicture}}}}}%
          end{center}
          }
          %% A macro with two arguments to change ornaments and colors easily
          %% Syntax -- sectionlinetwo{<color>}{<ornament>}
          newcommand{sectionlinetwo}[2]{%
          nointerlineskip vspace{.5baselineskip}hspace{fill}
          {color{#1}
          resizebox{0.5linewidth}{2ex}
          {{%
          {begin{tikzpicture}
          node (C) at (0,0) {};
          node (D) at (9,0) {};
          path (C) to [ornament=#2] (D);
          end{tikzpicture}}}}}%
          hspace{fill}
          parnointerlineskip vspace{.5baselineskip}
          }

          begin{document}
          lipsum[1]
          sectionline
          lipsum[2]
          sectionlinetwo{magenta}{84}
          lipsum[3]
          sectionlinetwo{DarkGreen}{88}
          end{document}


          enter image description here



          As pointed by Gonzalo, pgfornaments can be used without tikzpicture environment as



          newcommand{sectionlinetwo}[2]{%
          nointerlineskip vspace{.5baselineskip}hspace{fill}
          {resizebox{0.5linewidth}{1.2ex}
          {pgfornament[color = #1]{#2}
          }}%
          hspace{fill}
          parnointerlineskip vspace{.5baselineskip}
          }


          hence making code less cluttered.






          share|improve this answer






























            79














            You may be interested in pgfornament.



            PassOptionsToPackage{svgnames}{xcolor}
            documentclass[11pt]{article}
            usepackage[object=vectorian]{pgfornament} %% http://altermundus.com/pages/tkz/ornament/index.html
            usepackage{lipsum,tikz}

            newcommand{sectionline}{%
            noindent
            begin{center}
            {color{DarkViolet}
            resizebox{0.5linewidth}{1ex}
            {{%
            {begin{tikzpicture}
            node (C) at (0,0) {};
            node (D) at (9,0) {};
            path (C) to [ornament=85] (D);
            end{tikzpicture}}}}}%
            end{center}
            }
            %% A macro with two arguments to change ornaments and colors easily
            %% Syntax -- sectionlinetwo{<color>}{<ornament>}
            newcommand{sectionlinetwo}[2]{%
            nointerlineskip vspace{.5baselineskip}hspace{fill}
            {color{#1}
            resizebox{0.5linewidth}{2ex}
            {{%
            {begin{tikzpicture}
            node (C) at (0,0) {};
            node (D) at (9,0) {};
            path (C) to [ornament=#2] (D);
            end{tikzpicture}}}}}%
            hspace{fill}
            parnointerlineskip vspace{.5baselineskip}
            }

            begin{document}
            lipsum[1]
            sectionline
            lipsum[2]
            sectionlinetwo{magenta}{84}
            lipsum[3]
            sectionlinetwo{DarkGreen}{88}
            end{document}


            enter image description here



            As pointed by Gonzalo, pgfornaments can be used without tikzpicture environment as



            newcommand{sectionlinetwo}[2]{%
            nointerlineskip vspace{.5baselineskip}hspace{fill}
            {resizebox{0.5linewidth}{1.2ex}
            {pgfornament[color = #1]{#2}
            }}%
            hspace{fill}
            parnointerlineskip vspace{.5baselineskip}
            }


            hence making code less cluttered.






            share|improve this answer




























              79












              79








              79







              You may be interested in pgfornament.



              PassOptionsToPackage{svgnames}{xcolor}
              documentclass[11pt]{article}
              usepackage[object=vectorian]{pgfornament} %% http://altermundus.com/pages/tkz/ornament/index.html
              usepackage{lipsum,tikz}

              newcommand{sectionline}{%
              noindent
              begin{center}
              {color{DarkViolet}
              resizebox{0.5linewidth}{1ex}
              {{%
              {begin{tikzpicture}
              node (C) at (0,0) {};
              node (D) at (9,0) {};
              path (C) to [ornament=85] (D);
              end{tikzpicture}}}}}%
              end{center}
              }
              %% A macro with two arguments to change ornaments and colors easily
              %% Syntax -- sectionlinetwo{<color>}{<ornament>}
              newcommand{sectionlinetwo}[2]{%
              nointerlineskip vspace{.5baselineskip}hspace{fill}
              {color{#1}
              resizebox{0.5linewidth}{2ex}
              {{%
              {begin{tikzpicture}
              node (C) at (0,0) {};
              node (D) at (9,0) {};
              path (C) to [ornament=#2] (D);
              end{tikzpicture}}}}}%
              hspace{fill}
              parnointerlineskip vspace{.5baselineskip}
              }

              begin{document}
              lipsum[1]
              sectionline
              lipsum[2]
              sectionlinetwo{magenta}{84}
              lipsum[3]
              sectionlinetwo{DarkGreen}{88}
              end{document}


              enter image description here



              As pointed by Gonzalo, pgfornaments can be used without tikzpicture environment as



              newcommand{sectionlinetwo}[2]{%
              nointerlineskip vspace{.5baselineskip}hspace{fill}
              {resizebox{0.5linewidth}{1.2ex}
              {pgfornament[color = #1]{#2}
              }}%
              hspace{fill}
              parnointerlineskip vspace{.5baselineskip}
              }


              hence making code less cluttered.






              share|improve this answer















              You may be interested in pgfornament.



              PassOptionsToPackage{svgnames}{xcolor}
              documentclass[11pt]{article}
              usepackage[object=vectorian]{pgfornament} %% http://altermundus.com/pages/tkz/ornament/index.html
              usepackage{lipsum,tikz}

              newcommand{sectionline}{%
              noindent
              begin{center}
              {color{DarkViolet}
              resizebox{0.5linewidth}{1ex}
              {{%
              {begin{tikzpicture}
              node (C) at (0,0) {};
              node (D) at (9,0) {};
              path (C) to [ornament=85] (D);
              end{tikzpicture}}}}}%
              end{center}
              }
              %% A macro with two arguments to change ornaments and colors easily
              %% Syntax -- sectionlinetwo{<color>}{<ornament>}
              newcommand{sectionlinetwo}[2]{%
              nointerlineskip vspace{.5baselineskip}hspace{fill}
              {color{#1}
              resizebox{0.5linewidth}{2ex}
              {{%
              {begin{tikzpicture}
              node (C) at (0,0) {};
              node (D) at (9,0) {};
              path (C) to [ornament=#2] (D);
              end{tikzpicture}}}}}%
              hspace{fill}
              parnointerlineskip vspace{.5baselineskip}
              }

              begin{document}
              lipsum[1]
              sectionline
              lipsum[2]
              sectionlinetwo{magenta}{84}
              lipsum[3]
              sectionlinetwo{DarkGreen}{88}
              end{document}


              enter image description here



              As pointed by Gonzalo, pgfornaments can be used without tikzpicture environment as



              newcommand{sectionlinetwo}[2]{%
              nointerlineskip vspace{.5baselineskip}hspace{fill}
              {resizebox{0.5linewidth}{1.2ex}
              {pgfornament[color = #1]{#2}
              }}%
              hspace{fill}
              parnointerlineskip vspace{.5baselineskip}
              }


              hence making code less cluttered.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Oct 20 '12 at 23:52

























              answered Oct 13 '12 at 17:44







              user11232






























                  38














                  In general:



                  rule{width}{height}


                  macro:



                  newcommand{sectionline}{%
                  nointerlineskip vspace{baselineskip}%
                  hspace{fill}rule{0.5linewidth}{.7pt}hspace{fill}%
                  parnointerlineskip vspace{baselineskip}
                  }





                  share|improve this answer



















                  • 3





                    Removing the %s from the macro made it center the line properly.

                    – Matt
                    Sep 3 '11 at 16:56






                  • 1





                    For other users: don't forget that "width" and "height" are in terms of "pt", so the proper usage of rule is something along the lines of rule{500pt}{1pt}.

                    – rsegal
                    Aug 31 '12 at 15:32













                  • I was trying to use this to get a double rule... but this doesn't work. Could you help me to understand why. newcommand{sectionline}{ nointerlineskip vspace{baselineskip} hspace{fill}rule{0.95linewidth}{.7pt} rule{0.95linewidth}{1.7pt}hspace{fill} parnointerlineskip vspace{baselineskip} }

                    – theobear
                    Jun 7 '13 at 16:45


















                  38














                  In general:



                  rule{width}{height}


                  macro:



                  newcommand{sectionline}{%
                  nointerlineskip vspace{baselineskip}%
                  hspace{fill}rule{0.5linewidth}{.7pt}hspace{fill}%
                  parnointerlineskip vspace{baselineskip}
                  }





                  share|improve this answer



















                  • 3





                    Removing the %s from the macro made it center the line properly.

                    – Matt
                    Sep 3 '11 at 16:56






                  • 1





                    For other users: don't forget that "width" and "height" are in terms of "pt", so the proper usage of rule is something along the lines of rule{500pt}{1pt}.

                    – rsegal
                    Aug 31 '12 at 15:32













                  • I was trying to use this to get a double rule... but this doesn't work. Could you help me to understand why. newcommand{sectionline}{ nointerlineskip vspace{baselineskip} hspace{fill}rule{0.95linewidth}{.7pt} rule{0.95linewidth}{1.7pt}hspace{fill} parnointerlineskip vspace{baselineskip} }

                    – theobear
                    Jun 7 '13 at 16:45
















                  38












                  38








                  38







                  In general:



                  rule{width}{height}


                  macro:



                  newcommand{sectionline}{%
                  nointerlineskip vspace{baselineskip}%
                  hspace{fill}rule{0.5linewidth}{.7pt}hspace{fill}%
                  parnointerlineskip vspace{baselineskip}
                  }





                  share|improve this answer













                  In general:



                  rule{width}{height}


                  macro:



                  newcommand{sectionline}{%
                  nointerlineskip vspace{baselineskip}%
                  hspace{fill}rule{0.5linewidth}{.7pt}hspace{fill}%
                  parnointerlineskip vspace{baselineskip}
                  }






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Feb 6 '09 at 16:39









                  Łukasz LewŁukasz Lew

                  3,68393640




                  3,68393640








                  • 3





                    Removing the %s from the macro made it center the line properly.

                    – Matt
                    Sep 3 '11 at 16:56






                  • 1





                    For other users: don't forget that "width" and "height" are in terms of "pt", so the proper usage of rule is something along the lines of rule{500pt}{1pt}.

                    – rsegal
                    Aug 31 '12 at 15:32













                  • I was trying to use this to get a double rule... but this doesn't work. Could you help me to understand why. newcommand{sectionline}{ nointerlineskip vspace{baselineskip} hspace{fill}rule{0.95linewidth}{.7pt} rule{0.95linewidth}{1.7pt}hspace{fill} parnointerlineskip vspace{baselineskip} }

                    – theobear
                    Jun 7 '13 at 16:45
















                  • 3





                    Removing the %s from the macro made it center the line properly.

                    – Matt
                    Sep 3 '11 at 16:56






                  • 1





                    For other users: don't forget that "width" and "height" are in terms of "pt", so the proper usage of rule is something along the lines of rule{500pt}{1pt}.

                    – rsegal
                    Aug 31 '12 at 15:32













                  • I was trying to use this to get a double rule... but this doesn't work. Could you help me to understand why. newcommand{sectionline}{ nointerlineskip vspace{baselineskip} hspace{fill}rule{0.95linewidth}{.7pt} rule{0.95linewidth}{1.7pt}hspace{fill} parnointerlineskip vspace{baselineskip} }

                    – theobear
                    Jun 7 '13 at 16:45










                  3




                  3





                  Removing the %s from the macro made it center the line properly.

                  – Matt
                  Sep 3 '11 at 16:56





                  Removing the %s from the macro made it center the line properly.

                  – Matt
                  Sep 3 '11 at 16:56




                  1




                  1





                  For other users: don't forget that "width" and "height" are in terms of "pt", so the proper usage of rule is something along the lines of rule{500pt}{1pt}.

                  – rsegal
                  Aug 31 '12 at 15:32







                  For other users: don't forget that "width" and "height" are in terms of "pt", so the proper usage of rule is something along the lines of rule{500pt}{1pt}.

                  – rsegal
                  Aug 31 '12 at 15:32















                  I was trying to use this to get a double rule... but this doesn't work. Could you help me to understand why. newcommand{sectionline}{ nointerlineskip vspace{baselineskip} hspace{fill}rule{0.95linewidth}{.7pt} rule{0.95linewidth}{1.7pt}hspace{fill} parnointerlineskip vspace{baselineskip} }

                  – theobear
                  Jun 7 '13 at 16:45







                  I was trying to use this to get a double rule... but this doesn't work. Could you help me to understand why. newcommand{sectionline}{ nointerlineskip vspace{baselineskip} hspace{fill}rule{0.95linewidth}{.7pt} rule{0.95linewidth}{1.7pt}hspace{fill} parnointerlineskip vspace{baselineskip} }

                  – theobear
                  Jun 7 '13 at 16:45













                  32














                  The web-O-mints package offers here another option; a little example:



                  documentclass[12pt]{article}
                  usepackage[vmargin=2.5cm]{geometry}
                  usepackage[utf8]{inputenc}
                  usepackage[T1]{fontenc}
                  usepackage{graphicx}
                  usepackage{fourier}
                  usepackage[nopar]{lipsum}

                  newcommanddeco[2]{%
                  parvspace{1ex}
                  begin{center}
                  fontsize{#1}{#1}usefont{U}{webo}{xl}{n}#2
                  end{center}
                  vspace*{1ex}par
                  }

                  newcounter{mytimes}
                  newcommandOPpattern{%
                  loop
                  ifnumvalue{mytimes}<7relax
                  stepcounter{mytimes}%
                  rotatebox{90}{o}raisebox{8pt}{rotatebox{270}{n}}%
                  repeat}

                  begin{document}

                  lipsum[2]
                  deco{10pt}{IJKLIJKL}
                  lipsum[2]
                  deco{16pt}{}
                  lipsum[2]
                  deco{10pt}{pqpqpqpqpqpqpqpqpqpq}
                  lipsum[2]
                  deco{10pt}{444444444}
                  lipsum[2]
                  deco{10pt}{fgfgfgfgfgfgfg}
                  lipsum[2]
                  deco{14pt}{OPpattern}
                  lipsum[2]
                  deco{12pt}{mmmmmmmmmmmmmm}
                  lipsum[2]

                  end{document}


                  enter image description here






                  share|improve this answer



















                  • 1





                    Forgive me if I am overlooking something, but I don't see you calling any package named web-0-mint!

                    – Ludi
                    Jul 20 '17 at 16:34
















                  32














                  The web-O-mints package offers here another option; a little example:



                  documentclass[12pt]{article}
                  usepackage[vmargin=2.5cm]{geometry}
                  usepackage[utf8]{inputenc}
                  usepackage[T1]{fontenc}
                  usepackage{graphicx}
                  usepackage{fourier}
                  usepackage[nopar]{lipsum}

                  newcommanddeco[2]{%
                  parvspace{1ex}
                  begin{center}
                  fontsize{#1}{#1}usefont{U}{webo}{xl}{n}#2
                  end{center}
                  vspace*{1ex}par
                  }

                  newcounter{mytimes}
                  newcommandOPpattern{%
                  loop
                  ifnumvalue{mytimes}<7relax
                  stepcounter{mytimes}%
                  rotatebox{90}{o}raisebox{8pt}{rotatebox{270}{n}}%
                  repeat}

                  begin{document}

                  lipsum[2]
                  deco{10pt}{IJKLIJKL}
                  lipsum[2]
                  deco{16pt}{}
                  lipsum[2]
                  deco{10pt}{pqpqpqpqpqpqpqpqpqpq}
                  lipsum[2]
                  deco{10pt}{444444444}
                  lipsum[2]
                  deco{10pt}{fgfgfgfgfgfgfg}
                  lipsum[2]
                  deco{14pt}{OPpattern}
                  lipsum[2]
                  deco{12pt}{mmmmmmmmmmmmmm}
                  lipsum[2]

                  end{document}


                  enter image description here






                  share|improve this answer



















                  • 1





                    Forgive me if I am overlooking something, but I don't see you calling any package named web-0-mint!

                    – Ludi
                    Jul 20 '17 at 16:34














                  32












                  32








                  32







                  The web-O-mints package offers here another option; a little example:



                  documentclass[12pt]{article}
                  usepackage[vmargin=2.5cm]{geometry}
                  usepackage[utf8]{inputenc}
                  usepackage[T1]{fontenc}
                  usepackage{graphicx}
                  usepackage{fourier}
                  usepackage[nopar]{lipsum}

                  newcommanddeco[2]{%
                  parvspace{1ex}
                  begin{center}
                  fontsize{#1}{#1}usefont{U}{webo}{xl}{n}#2
                  end{center}
                  vspace*{1ex}par
                  }

                  newcounter{mytimes}
                  newcommandOPpattern{%
                  loop
                  ifnumvalue{mytimes}<7relax
                  stepcounter{mytimes}%
                  rotatebox{90}{o}raisebox{8pt}{rotatebox{270}{n}}%
                  repeat}

                  begin{document}

                  lipsum[2]
                  deco{10pt}{IJKLIJKL}
                  lipsum[2]
                  deco{16pt}{}
                  lipsum[2]
                  deco{10pt}{pqpqpqpqpqpqpqpqpqpq}
                  lipsum[2]
                  deco{10pt}{444444444}
                  lipsum[2]
                  deco{10pt}{fgfgfgfgfgfgfg}
                  lipsum[2]
                  deco{14pt}{OPpattern}
                  lipsum[2]
                  deco{12pt}{mmmmmmmmmmmmmm}
                  lipsum[2]

                  end{document}


                  enter image description here






                  share|improve this answer













                  The web-O-mints package offers here another option; a little example:



                  documentclass[12pt]{article}
                  usepackage[vmargin=2.5cm]{geometry}
                  usepackage[utf8]{inputenc}
                  usepackage[T1]{fontenc}
                  usepackage{graphicx}
                  usepackage{fourier}
                  usepackage[nopar]{lipsum}

                  newcommanddeco[2]{%
                  parvspace{1ex}
                  begin{center}
                  fontsize{#1}{#1}usefont{U}{webo}{xl}{n}#2
                  end{center}
                  vspace*{1ex}par
                  }

                  newcounter{mytimes}
                  newcommandOPpattern{%
                  loop
                  ifnumvalue{mytimes}<7relax
                  stepcounter{mytimes}%
                  rotatebox{90}{o}raisebox{8pt}{rotatebox{270}{n}}%
                  repeat}

                  begin{document}

                  lipsum[2]
                  deco{10pt}{IJKLIJKL}
                  lipsum[2]
                  deco{16pt}{}
                  lipsum[2]
                  deco{10pt}{pqpqpqpqpqpqpqpqpqpq}
                  lipsum[2]
                  deco{10pt}{444444444}
                  lipsum[2]
                  deco{10pt}{fgfgfgfgfgfgfg}
                  lipsum[2]
                  deco{14pt}{OPpattern}
                  lipsum[2]
                  deco{12pt}{mmmmmmmmmmmmmm}
                  lipsum[2]

                  end{document}


                  enter image description here







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Oct 20 '12 at 23:19









                  Gonzalo MedinaGonzalo Medina

                  398k4113041572




                  398k4113041572








                  • 1





                    Forgive me if I am overlooking something, but I don't see you calling any package named web-0-mint!

                    – Ludi
                    Jul 20 '17 at 16:34














                  • 1





                    Forgive me if I am overlooking something, but I don't see you calling any package named web-0-mint!

                    – Ludi
                    Jul 20 '17 at 16:34








                  1




                  1





                  Forgive me if I am overlooking something, but I don't see you calling any package named web-0-mint!

                  – Ludi
                  Jul 20 '17 at 16:34





                  Forgive me if I am overlooking something, but I don't see you calling any package named web-0-mint!

                  – Ludi
                  Jul 20 '17 at 16:34











                  24














                  Well, we can always appeal to tikz to make these graphic details.



                  Below you can see some lines with the tikz own endings.



                  Tikz arrow tips



                  And the picture above was generated from the following code:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{arrows}

                  newcommand{myrule} [3] {
                  begin{center}
                  begin{tikzpicture}
                  draw[#2-#3, ultra thick, #1] (0,0) to (0.5linewidth,0);
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  myrule{}{}
                  myrule[double]{}{}
                  myrule{to}{to}
                  myrule[double]{to}{to}
                  myrule{to reversed}{to reversed}
                  myrule[double]{to reversed}{to reversed}
                  myrule{implies}{implies}
                  myrule[double]{implies}{implies}
                  myrule{latex}{latex}
                  myrule{latex reversed}{latex reversed}
                  myrule{latex'}{latex'}
                  myrule{latex' reversed}{latex' reversed}
                  myrule{stealth}{stealth}
                  myrule{stealth reversed}{stealth reversed}
                  myrule{stealth'}{stealth'}
                  myrule{stealth' reversed}{stealth' reversed}
                  myrule{triangle 90}{triangle 90}
                  myrule{triangle 90 reversed}{triangle 90 reversed}
                  myrule{triangle 60}{triangle 60}
                  myrule{triangle 60 reversed}{triangle 60 reversed}
                  myrule{triangle 45}{triangle 45}
                  myrule{triangle 45 reversed}{triangle 45 reversed}
                  myrule{open triangle 90}{open triangle 90}
                  myrule{open triangle 90 reversed}{open triangle 90 reversed}
                  myrule{open triangle 60}{open triangle 60}
                  myrule{open triangle 60 reversed}{open triangle 60 reversed}
                  myrule{open triangle 45}{open triangle 45}
                  myrule{open triangle 45 reversed}{open triangle 45 reversed}
                  myrule{angle 90}{angle 90}
                  myrule{angle 90 reversed}{angle 90 reversed}
                  myrule{angle 60}{angle 60}
                  myrule{angle 60 reversed}{angle 60 reversed}
                  myrule{angle 45}{angle 45}
                  myrule{angle 45 reversed}{angle 45 reversed}
                  myrule{hooks}{hooks}
                  myrule{hooks reversed}{hooks reversed}
                  myrule{(}{)}
                  myrule{)}{(}
                  myrule{|}{|}
                  myrule{o}{o}
                  myrule{*}{*}
                  myrule{diamond}{diamond}
                  myrule{open diamond}{open diamond}
                  myrule{square}{square}
                  myrule{open square}{open square}
                  myrule{serif cm}{serif cm}
                  myrule{left to}{left to}
                  myrule{left to reversed}{left to reversed}
                  myrule{right to}{right to}
                  myrule{right to reversed}{right to reversed}
                  myrule{left hook}{left hook}
                  myrule{left hook reversed}{left hook reversed}
                  myrule{right hook}{right hook}
                  myrule{right hook reversed}{right hook reversed}
                  myrule[line width = 2mm]{round cap}{round cap}
                  myrule[line width = 2mm]{butt cap}{butt cap}
                  myrule[line width = 2mm]{triangle 90 cap}{triangle 90 cap}
                  myrule[line width = 2mm]{triangle 90 cap reversed}{triangle 90 cap reversed}
                  myrule[line width = 2mm]{fast cap}{fast cap}
                  myrule[line width = 2mm]{fast cap reversed}{fast cap reversed}

                  end{document}


                  But you can also use more powerful features:



                  Other resources



                  And to generate the image above:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{decorations.markings}
                  usetikzlibrary{decorations.shapes}
                  usetikzlibrary{shapes.geometric}
                  usetikzlibrary{decorations.fractals}
                  usetikzlibrary{decorations.footprints}

                  tikzset {
                  , bedknobs one/.style = {
                  decorate
                  , fill = red!50
                  , decoration = {
                  shape backgrounds
                  , shape = #1
                  , shape size = 2mm
                  }
                  }
                  , bedknobs two/.style = {
                  decorate
                  , decoration = {
                  #1
                  }
                  , fill = blue!50
                  }
                  }

                  newcommand{bedknobsone}[1]{
                  begin{center}
                  tikz draw [bedknobs one = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobstwo}[1]{
                  begin{center}
                  tikz draw [bedknobs two = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobsthree}[1]{
                  begin{center}
                  tikz [
                  decoration = #1
                  ] draw decorate{ decorate{ decorate{ (0, 0) -- (0.5linewidth, 0) }}};
                  end{center}
                  }

                  newcommand{bedknobsfour}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  newcommand{bedknobsfive}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  node[minimum size = 5mm, anchor = west] (space) at (second.east) {};
                  node[minimum size = 5mm, anchor = west] (third) at (space.east) {};
                  node[minimum size = 5mm, anchor = west] (fourth) at (third.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  draw plot [smooth] coordinates {
                  (fourth.north) (fourth.east) (fourth.south)
                  (third.north) (third.west) (third.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  section {basic}

                  bedknobstwo{crosses}
                  bedknobstwo{triangles}


                  section {shapes}

                  bedknobsone{dart}
                  bedknobsone{diamond}
                  bedknobsone{isosceles triangle}
                  bedknobsone{star}
                  bedknobstwo{shape backgrounds, shape scaled, shape start size=2.5mm,shape end size=1mm}


                  section {footprints}

                  bedknobstwo{footprints}
                  bedknobstwo{footprints, foot of = gnome}
                  bedknobstwo{footprints, foot of = bird}
                  bedknobstwo{footprints, foot of = felis silvestri}


                  section {fractals}

                  bedknobsthree {Koch curve type 1}
                  bedknobsthree {Koch curve type 2}
                  bedknobsthree {Koch snowflake}
                  bedknobsthree {Cantor set}


                  section {Others}

                  bedknobsfour
                  bedknobsfive

                  end{document}





                  share|improve this answer



















                  • 3





                    Just a note that it might be a good idea to externalize such things if you use them a lot, because TikZ is slowing the compilation a lot.

                    – yo'
                    Oct 13 '12 at 20:55
















                  24














                  Well, we can always appeal to tikz to make these graphic details.



                  Below you can see some lines with the tikz own endings.



                  Tikz arrow tips



                  And the picture above was generated from the following code:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{arrows}

                  newcommand{myrule} [3] {
                  begin{center}
                  begin{tikzpicture}
                  draw[#2-#3, ultra thick, #1] (0,0) to (0.5linewidth,0);
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  myrule{}{}
                  myrule[double]{}{}
                  myrule{to}{to}
                  myrule[double]{to}{to}
                  myrule{to reversed}{to reversed}
                  myrule[double]{to reversed}{to reversed}
                  myrule{implies}{implies}
                  myrule[double]{implies}{implies}
                  myrule{latex}{latex}
                  myrule{latex reversed}{latex reversed}
                  myrule{latex'}{latex'}
                  myrule{latex' reversed}{latex' reversed}
                  myrule{stealth}{stealth}
                  myrule{stealth reversed}{stealth reversed}
                  myrule{stealth'}{stealth'}
                  myrule{stealth' reversed}{stealth' reversed}
                  myrule{triangle 90}{triangle 90}
                  myrule{triangle 90 reversed}{triangle 90 reversed}
                  myrule{triangle 60}{triangle 60}
                  myrule{triangle 60 reversed}{triangle 60 reversed}
                  myrule{triangle 45}{triangle 45}
                  myrule{triangle 45 reversed}{triangle 45 reversed}
                  myrule{open triangle 90}{open triangle 90}
                  myrule{open triangle 90 reversed}{open triangle 90 reversed}
                  myrule{open triangle 60}{open triangle 60}
                  myrule{open triangle 60 reversed}{open triangle 60 reversed}
                  myrule{open triangle 45}{open triangle 45}
                  myrule{open triangle 45 reversed}{open triangle 45 reversed}
                  myrule{angle 90}{angle 90}
                  myrule{angle 90 reversed}{angle 90 reversed}
                  myrule{angle 60}{angle 60}
                  myrule{angle 60 reversed}{angle 60 reversed}
                  myrule{angle 45}{angle 45}
                  myrule{angle 45 reversed}{angle 45 reversed}
                  myrule{hooks}{hooks}
                  myrule{hooks reversed}{hooks reversed}
                  myrule{(}{)}
                  myrule{)}{(}
                  myrule{|}{|}
                  myrule{o}{o}
                  myrule{*}{*}
                  myrule{diamond}{diamond}
                  myrule{open diamond}{open diamond}
                  myrule{square}{square}
                  myrule{open square}{open square}
                  myrule{serif cm}{serif cm}
                  myrule{left to}{left to}
                  myrule{left to reversed}{left to reversed}
                  myrule{right to}{right to}
                  myrule{right to reversed}{right to reversed}
                  myrule{left hook}{left hook}
                  myrule{left hook reversed}{left hook reversed}
                  myrule{right hook}{right hook}
                  myrule{right hook reversed}{right hook reversed}
                  myrule[line width = 2mm]{round cap}{round cap}
                  myrule[line width = 2mm]{butt cap}{butt cap}
                  myrule[line width = 2mm]{triangle 90 cap}{triangle 90 cap}
                  myrule[line width = 2mm]{triangle 90 cap reversed}{triangle 90 cap reversed}
                  myrule[line width = 2mm]{fast cap}{fast cap}
                  myrule[line width = 2mm]{fast cap reversed}{fast cap reversed}

                  end{document}


                  But you can also use more powerful features:



                  Other resources



                  And to generate the image above:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{decorations.markings}
                  usetikzlibrary{decorations.shapes}
                  usetikzlibrary{shapes.geometric}
                  usetikzlibrary{decorations.fractals}
                  usetikzlibrary{decorations.footprints}

                  tikzset {
                  , bedknobs one/.style = {
                  decorate
                  , fill = red!50
                  , decoration = {
                  shape backgrounds
                  , shape = #1
                  , shape size = 2mm
                  }
                  }
                  , bedknobs two/.style = {
                  decorate
                  , decoration = {
                  #1
                  }
                  , fill = blue!50
                  }
                  }

                  newcommand{bedknobsone}[1]{
                  begin{center}
                  tikz draw [bedknobs one = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobstwo}[1]{
                  begin{center}
                  tikz draw [bedknobs two = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobsthree}[1]{
                  begin{center}
                  tikz [
                  decoration = #1
                  ] draw decorate{ decorate{ decorate{ (0, 0) -- (0.5linewidth, 0) }}};
                  end{center}
                  }

                  newcommand{bedknobsfour}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  newcommand{bedknobsfive}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  node[minimum size = 5mm, anchor = west] (space) at (second.east) {};
                  node[minimum size = 5mm, anchor = west] (third) at (space.east) {};
                  node[minimum size = 5mm, anchor = west] (fourth) at (third.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  draw plot [smooth] coordinates {
                  (fourth.north) (fourth.east) (fourth.south)
                  (third.north) (third.west) (third.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  section {basic}

                  bedknobstwo{crosses}
                  bedknobstwo{triangles}


                  section {shapes}

                  bedknobsone{dart}
                  bedknobsone{diamond}
                  bedknobsone{isosceles triangle}
                  bedknobsone{star}
                  bedknobstwo{shape backgrounds, shape scaled, shape start size=2.5mm,shape end size=1mm}


                  section {footprints}

                  bedknobstwo{footprints}
                  bedknobstwo{footprints, foot of = gnome}
                  bedknobstwo{footprints, foot of = bird}
                  bedknobstwo{footprints, foot of = felis silvestri}


                  section {fractals}

                  bedknobsthree {Koch curve type 1}
                  bedknobsthree {Koch curve type 2}
                  bedknobsthree {Koch snowflake}
                  bedknobsthree {Cantor set}


                  section {Others}

                  bedknobsfour
                  bedknobsfive

                  end{document}





                  share|improve this answer



















                  • 3





                    Just a note that it might be a good idea to externalize such things if you use them a lot, because TikZ is slowing the compilation a lot.

                    – yo'
                    Oct 13 '12 at 20:55














                  24












                  24








                  24







                  Well, we can always appeal to tikz to make these graphic details.



                  Below you can see some lines with the tikz own endings.



                  Tikz arrow tips



                  And the picture above was generated from the following code:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{arrows}

                  newcommand{myrule} [3] {
                  begin{center}
                  begin{tikzpicture}
                  draw[#2-#3, ultra thick, #1] (0,0) to (0.5linewidth,0);
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  myrule{}{}
                  myrule[double]{}{}
                  myrule{to}{to}
                  myrule[double]{to}{to}
                  myrule{to reversed}{to reversed}
                  myrule[double]{to reversed}{to reversed}
                  myrule{implies}{implies}
                  myrule[double]{implies}{implies}
                  myrule{latex}{latex}
                  myrule{latex reversed}{latex reversed}
                  myrule{latex'}{latex'}
                  myrule{latex' reversed}{latex' reversed}
                  myrule{stealth}{stealth}
                  myrule{stealth reversed}{stealth reversed}
                  myrule{stealth'}{stealth'}
                  myrule{stealth' reversed}{stealth' reversed}
                  myrule{triangle 90}{triangle 90}
                  myrule{triangle 90 reversed}{triangle 90 reversed}
                  myrule{triangle 60}{triangle 60}
                  myrule{triangle 60 reversed}{triangle 60 reversed}
                  myrule{triangle 45}{triangle 45}
                  myrule{triangle 45 reversed}{triangle 45 reversed}
                  myrule{open triangle 90}{open triangle 90}
                  myrule{open triangle 90 reversed}{open triangle 90 reversed}
                  myrule{open triangle 60}{open triangle 60}
                  myrule{open triangle 60 reversed}{open triangle 60 reversed}
                  myrule{open triangle 45}{open triangle 45}
                  myrule{open triangle 45 reversed}{open triangle 45 reversed}
                  myrule{angle 90}{angle 90}
                  myrule{angle 90 reversed}{angle 90 reversed}
                  myrule{angle 60}{angle 60}
                  myrule{angle 60 reversed}{angle 60 reversed}
                  myrule{angle 45}{angle 45}
                  myrule{angle 45 reversed}{angle 45 reversed}
                  myrule{hooks}{hooks}
                  myrule{hooks reversed}{hooks reversed}
                  myrule{(}{)}
                  myrule{)}{(}
                  myrule{|}{|}
                  myrule{o}{o}
                  myrule{*}{*}
                  myrule{diamond}{diamond}
                  myrule{open diamond}{open diamond}
                  myrule{square}{square}
                  myrule{open square}{open square}
                  myrule{serif cm}{serif cm}
                  myrule{left to}{left to}
                  myrule{left to reversed}{left to reversed}
                  myrule{right to}{right to}
                  myrule{right to reversed}{right to reversed}
                  myrule{left hook}{left hook}
                  myrule{left hook reversed}{left hook reversed}
                  myrule{right hook}{right hook}
                  myrule{right hook reversed}{right hook reversed}
                  myrule[line width = 2mm]{round cap}{round cap}
                  myrule[line width = 2mm]{butt cap}{butt cap}
                  myrule[line width = 2mm]{triangle 90 cap}{triangle 90 cap}
                  myrule[line width = 2mm]{triangle 90 cap reversed}{triangle 90 cap reversed}
                  myrule[line width = 2mm]{fast cap}{fast cap}
                  myrule[line width = 2mm]{fast cap reversed}{fast cap reversed}

                  end{document}


                  But you can also use more powerful features:



                  Other resources



                  And to generate the image above:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{decorations.markings}
                  usetikzlibrary{decorations.shapes}
                  usetikzlibrary{shapes.geometric}
                  usetikzlibrary{decorations.fractals}
                  usetikzlibrary{decorations.footprints}

                  tikzset {
                  , bedknobs one/.style = {
                  decorate
                  , fill = red!50
                  , decoration = {
                  shape backgrounds
                  , shape = #1
                  , shape size = 2mm
                  }
                  }
                  , bedknobs two/.style = {
                  decorate
                  , decoration = {
                  #1
                  }
                  , fill = blue!50
                  }
                  }

                  newcommand{bedknobsone}[1]{
                  begin{center}
                  tikz draw [bedknobs one = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobstwo}[1]{
                  begin{center}
                  tikz draw [bedknobs two = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobsthree}[1]{
                  begin{center}
                  tikz [
                  decoration = #1
                  ] draw decorate{ decorate{ decorate{ (0, 0) -- (0.5linewidth, 0) }}};
                  end{center}
                  }

                  newcommand{bedknobsfour}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  newcommand{bedknobsfive}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  node[minimum size = 5mm, anchor = west] (space) at (second.east) {};
                  node[minimum size = 5mm, anchor = west] (third) at (space.east) {};
                  node[minimum size = 5mm, anchor = west] (fourth) at (third.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  draw plot [smooth] coordinates {
                  (fourth.north) (fourth.east) (fourth.south)
                  (third.north) (third.west) (third.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  section {basic}

                  bedknobstwo{crosses}
                  bedknobstwo{triangles}


                  section {shapes}

                  bedknobsone{dart}
                  bedknobsone{diamond}
                  bedknobsone{isosceles triangle}
                  bedknobsone{star}
                  bedknobstwo{shape backgrounds, shape scaled, shape start size=2.5mm,shape end size=1mm}


                  section {footprints}

                  bedknobstwo{footprints}
                  bedknobstwo{footprints, foot of = gnome}
                  bedknobstwo{footprints, foot of = bird}
                  bedknobstwo{footprints, foot of = felis silvestri}


                  section {fractals}

                  bedknobsthree {Koch curve type 1}
                  bedknobsthree {Koch curve type 2}
                  bedknobsthree {Koch snowflake}
                  bedknobsthree {Cantor set}


                  section {Others}

                  bedknobsfour
                  bedknobsfive

                  end{document}





                  share|improve this answer













                  Well, we can always appeal to tikz to make these graphic details.



                  Below you can see some lines with the tikz own endings.



                  Tikz arrow tips



                  And the picture above was generated from the following code:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{arrows}

                  newcommand{myrule} [3] {
                  begin{center}
                  begin{tikzpicture}
                  draw[#2-#3, ultra thick, #1] (0,0) to (0.5linewidth,0);
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  myrule{}{}
                  myrule[double]{}{}
                  myrule{to}{to}
                  myrule[double]{to}{to}
                  myrule{to reversed}{to reversed}
                  myrule[double]{to reversed}{to reversed}
                  myrule{implies}{implies}
                  myrule[double]{implies}{implies}
                  myrule{latex}{latex}
                  myrule{latex reversed}{latex reversed}
                  myrule{latex'}{latex'}
                  myrule{latex' reversed}{latex' reversed}
                  myrule{stealth}{stealth}
                  myrule{stealth reversed}{stealth reversed}
                  myrule{stealth'}{stealth'}
                  myrule{stealth' reversed}{stealth' reversed}
                  myrule{triangle 90}{triangle 90}
                  myrule{triangle 90 reversed}{triangle 90 reversed}
                  myrule{triangle 60}{triangle 60}
                  myrule{triangle 60 reversed}{triangle 60 reversed}
                  myrule{triangle 45}{triangle 45}
                  myrule{triangle 45 reversed}{triangle 45 reversed}
                  myrule{open triangle 90}{open triangle 90}
                  myrule{open triangle 90 reversed}{open triangle 90 reversed}
                  myrule{open triangle 60}{open triangle 60}
                  myrule{open triangle 60 reversed}{open triangle 60 reversed}
                  myrule{open triangle 45}{open triangle 45}
                  myrule{open triangle 45 reversed}{open triangle 45 reversed}
                  myrule{angle 90}{angle 90}
                  myrule{angle 90 reversed}{angle 90 reversed}
                  myrule{angle 60}{angle 60}
                  myrule{angle 60 reversed}{angle 60 reversed}
                  myrule{angle 45}{angle 45}
                  myrule{angle 45 reversed}{angle 45 reversed}
                  myrule{hooks}{hooks}
                  myrule{hooks reversed}{hooks reversed}
                  myrule{(}{)}
                  myrule{)}{(}
                  myrule{|}{|}
                  myrule{o}{o}
                  myrule{*}{*}
                  myrule{diamond}{diamond}
                  myrule{open diamond}{open diamond}
                  myrule{square}{square}
                  myrule{open square}{open square}
                  myrule{serif cm}{serif cm}
                  myrule{left to}{left to}
                  myrule{left to reversed}{left to reversed}
                  myrule{right to}{right to}
                  myrule{right to reversed}{right to reversed}
                  myrule{left hook}{left hook}
                  myrule{left hook reversed}{left hook reversed}
                  myrule{right hook}{right hook}
                  myrule{right hook reversed}{right hook reversed}
                  myrule[line width = 2mm]{round cap}{round cap}
                  myrule[line width = 2mm]{butt cap}{butt cap}
                  myrule[line width = 2mm]{triangle 90 cap}{triangle 90 cap}
                  myrule[line width = 2mm]{triangle 90 cap reversed}{triangle 90 cap reversed}
                  myrule[line width = 2mm]{fast cap}{fast cap}
                  myrule[line width = 2mm]{fast cap reversed}{fast cap reversed}

                  end{document}


                  But you can also use more powerful features:



                  Other resources



                  And to generate the image above:



                  documentclass[a4paper, twocolumn]{article}

                  usepackage{tikz}
                  usetikzlibrary{decorations.markings}
                  usetikzlibrary{decorations.shapes}
                  usetikzlibrary{shapes.geometric}
                  usetikzlibrary{decorations.fractals}
                  usetikzlibrary{decorations.footprints}

                  tikzset {
                  , bedknobs one/.style = {
                  decorate
                  , fill = red!50
                  , decoration = {
                  shape backgrounds
                  , shape = #1
                  , shape size = 2mm
                  }
                  }
                  , bedknobs two/.style = {
                  decorate
                  , decoration = {
                  #1
                  }
                  , fill = blue!50
                  }
                  }

                  newcommand{bedknobsone}[1]{
                  begin{center}
                  tikz draw [bedknobs one = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobstwo}[1]{
                  begin{center}
                  tikz draw [bedknobs two = {#1}] (0,0) to (0.5linewidth, 0);
                  end{center}
                  }

                  newcommand{bedknobsthree}[1]{
                  begin{center}
                  tikz [
                  decoration = #1
                  ] draw decorate{ decorate{ decorate{ (0, 0) -- (0.5linewidth, 0) }}};
                  end{center}
                  }

                  newcommand{bedknobsfour}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  newcommand{bedknobsfive}{
                  begin{center}
                  begin{tikzpicture} [thick]
                  node[minimum size = 5mm] (first) {};
                  node[minimum size = 5mm, anchor = west] (second) at (first.east) {};
                  node[minimum size = 5mm, anchor = west] (space) at (second.east) {};
                  node[minimum size = 5mm, anchor = west] (third) at (space.east) {};
                  node[minimum size = 5mm, anchor = west] (fourth) at (third.east) {};
                  draw plot [smooth] coordinates {
                  (first.north) (first.west) (first.south)
                  (second.north) (second.east) (second.south)
                  };
                  draw plot [smooth] coordinates {
                  (fourth.north) (fourth.east) (fourth.south)
                  (third.north) (third.west) (third.south)
                  };
                  end{tikzpicture}
                  end{center}
                  }

                  begin{document}

                  section {basic}

                  bedknobstwo{crosses}
                  bedknobstwo{triangles}


                  section {shapes}

                  bedknobsone{dart}
                  bedknobsone{diamond}
                  bedknobsone{isosceles triangle}
                  bedknobsone{star}
                  bedknobstwo{shape backgrounds, shape scaled, shape start size=2.5mm,shape end size=1mm}


                  section {footprints}

                  bedknobstwo{footprints}
                  bedknobstwo{footprints, foot of = gnome}
                  bedknobstwo{footprints, foot of = bird}
                  bedknobstwo{footprints, foot of = felis silvestri}


                  section {fractals}

                  bedknobsthree {Koch curve type 1}
                  bedknobsthree {Koch curve type 2}
                  bedknobsthree {Koch snowflake}
                  bedknobsthree {Cantor set}


                  section {Others}

                  bedknobsfour
                  bedknobsfive

                  end{document}






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Oct 13 '12 at 16:00









                  tecepetecepe

                  1,8771016




                  1,8771016








                  • 3





                    Just a note that it might be a good idea to externalize such things if you use them a lot, because TikZ is slowing the compilation a lot.

                    – yo'
                    Oct 13 '12 at 20:55














                  • 3





                    Just a note that it might be a good idea to externalize such things if you use them a lot, because TikZ is slowing the compilation a lot.

                    – yo'
                    Oct 13 '12 at 20:55








                  3




                  3





                  Just a note that it might be a good idea to externalize such things if you use them a lot, because TikZ is slowing the compilation a lot.

                  – yo'
                  Oct 13 '12 at 20:55





                  Just a note that it might be a good idea to externalize such things if you use them a lot, because TikZ is slowing the compilation a lot.

                  – yo'
                  Oct 13 '12 at 20:55











                  23














                  memoir document class has facilities to draw these "totally sweet" anonymous breaks. See section 6.7 Fancy anonymous breaks (page 109-111) of the manual for details.






                  share|improve this answer


























                  • Hi @Seamus, I looked at the Memoir class and it does seem to have beautiful separators. How would I go about importing some of these if I were to use another document class?

                    – tchakravarty
                    Nov 5 '11 at 23:47






                  • 2





                    @FgNu That sounds like a new question...

                    – Seamus
                    Nov 6 '11 at 21:26






                  • 1





                    I changed the manual reference to include the section name, as the page count had changed a little in newer version (the one I have is dated 2011/03/06). I assume that was the section you were referring to.

                    – Torbjørn T.
                    Oct 13 '12 at 7:25
















                  23














                  memoir document class has facilities to draw these "totally sweet" anonymous breaks. See section 6.7 Fancy anonymous breaks (page 109-111) of the manual for details.






                  share|improve this answer


























                  • Hi @Seamus, I looked at the Memoir class and it does seem to have beautiful separators. How would I go about importing some of these if I were to use another document class?

                    – tchakravarty
                    Nov 5 '11 at 23:47






                  • 2





                    @FgNu That sounds like a new question...

                    – Seamus
                    Nov 6 '11 at 21:26






                  • 1





                    I changed the manual reference to include the section name, as the page count had changed a little in newer version (the one I have is dated 2011/03/06). I assume that was the section you were referring to.

                    – Torbjørn T.
                    Oct 13 '12 at 7:25














                  23












                  23








                  23







                  memoir document class has facilities to draw these "totally sweet" anonymous breaks. See section 6.7 Fancy anonymous breaks (page 109-111) of the manual for details.






                  share|improve this answer















                  memoir document class has facilities to draw these "totally sweet" anonymous breaks. See section 6.7 Fancy anonymous breaks (page 109-111) of the manual for details.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Oct 13 '12 at 7:23









                  Torbjørn T.

                  156k13251439




                  156k13251439










                  answered Nov 26 '09 at 12:17









                  SeamusSeamus

                  45.3k35217332




                  45.3k35217332













                  • Hi @Seamus, I looked at the Memoir class and it does seem to have beautiful separators. How would I go about importing some of these if I were to use another document class?

                    – tchakravarty
                    Nov 5 '11 at 23:47






                  • 2





                    @FgNu That sounds like a new question...

                    – Seamus
                    Nov 6 '11 at 21:26






                  • 1





                    I changed the manual reference to include the section name, as the page count had changed a little in newer version (the one I have is dated 2011/03/06). I assume that was the section you were referring to.

                    – Torbjørn T.
                    Oct 13 '12 at 7:25



















                  • Hi @Seamus, I looked at the Memoir class and it does seem to have beautiful separators. How would I go about importing some of these if I were to use another document class?

                    – tchakravarty
                    Nov 5 '11 at 23:47






                  • 2





                    @FgNu That sounds like a new question...

                    – Seamus
                    Nov 6 '11 at 21:26






                  • 1





                    I changed the manual reference to include the section name, as the page count had changed a little in newer version (the one I have is dated 2011/03/06). I assume that was the section you were referring to.

                    – Torbjørn T.
                    Oct 13 '12 at 7:25

















                  Hi @Seamus, I looked at the Memoir class and it does seem to have beautiful separators. How would I go about importing some of these if I were to use another document class?

                  – tchakravarty
                  Nov 5 '11 at 23:47





                  Hi @Seamus, I looked at the Memoir class and it does seem to have beautiful separators. How would I go about importing some of these if I were to use another document class?

                  – tchakravarty
                  Nov 5 '11 at 23:47




                  2




                  2





                  @FgNu That sounds like a new question...

                  – Seamus
                  Nov 6 '11 at 21:26





                  @FgNu That sounds like a new question...

                  – Seamus
                  Nov 6 '11 at 21:26




                  1




                  1





                  I changed the manual reference to include the section name, as the page count had changed a little in newer version (the one I have is dated 2011/03/06). I assume that was the section you were referring to.

                  – Torbjørn T.
                  Oct 13 '12 at 7:25





                  I changed the manual reference to include the section name, as the page count had changed a little in newer version (the one I have is dated 2011/03/06). I assume that was the section you were referring to.

                  – Torbjørn T.
                  Oct 13 '12 at 7:25











                  20














                  I used this image and then this code:



                  enter image description here



                  In header:



                  newcommand{parasep}{
                  begin{center}
                  includegraphics[scale=.5]{hrule.png}
                  end{center}}


                  In body where you want the image:



                  parasep


                  Oh and remember to:



                  usepackage{graphicx}





                  share|improve this answer


























                  • Cf. my comment on dreamlax's post, below.

                    – Charles Stewart
                    Dec 7 '09 at 9:49











                  • i get this error: ! Missing endcsname inserted. <to be read again> unhbox ? I have no idea why?

                    – Andreas
                    Dec 17 '09 at 10:13











                  • In which implementation you can provide the filename with the extension on?

                    – souser12345
                    Sep 2 '10 at 17:32
















                  20














                  I used this image and then this code:



                  enter image description here



                  In header:



                  newcommand{parasep}{
                  begin{center}
                  includegraphics[scale=.5]{hrule.png}
                  end{center}}


                  In body where you want the image:



                  parasep


                  Oh and remember to:



                  usepackage{graphicx}





                  share|improve this answer


























                  • Cf. my comment on dreamlax's post, below.

                    – Charles Stewart
                    Dec 7 '09 at 9:49











                  • i get this error: ! Missing endcsname inserted. <to be read again> unhbox ? I have no idea why?

                    – Andreas
                    Dec 17 '09 at 10:13











                  • In which implementation you can provide the filename with the extension on?

                    – souser12345
                    Sep 2 '10 at 17:32














                  20












                  20








                  20







                  I used this image and then this code:



                  enter image description here



                  In header:



                  newcommand{parasep}{
                  begin{center}
                  includegraphics[scale=.5]{hrule.png}
                  end{center}}


                  In body where you want the image:



                  parasep


                  Oh and remember to:



                  usepackage{graphicx}





                  share|improve this answer















                  I used this image and then this code:



                  enter image description here



                  In header:



                  newcommand{parasep}{
                  begin{center}
                  includegraphics[scale=.5]{hrule.png}
                  end{center}}


                  In body where you want the image:



                  parasep


                  Oh and remember to:



                  usepackage{graphicx}






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Oct 13 '12 at 5:16









                  Werner

                  443k679781675




                  443k679781675










                  answered May 14 '09 at 10:19









                  Mike SpeedMike Speed

                  38133




                  38133













                  • Cf. my comment on dreamlax's post, below.

                    – Charles Stewart
                    Dec 7 '09 at 9:49











                  • i get this error: ! Missing endcsname inserted. <to be read again> unhbox ? I have no idea why?

                    – Andreas
                    Dec 17 '09 at 10:13











                  • In which implementation you can provide the filename with the extension on?

                    – souser12345
                    Sep 2 '10 at 17:32



















                  • Cf. my comment on dreamlax's post, below.

                    – Charles Stewart
                    Dec 7 '09 at 9:49











                  • i get this error: ! Missing endcsname inserted. <to be read again> unhbox ? I have no idea why?

                    – Andreas
                    Dec 17 '09 at 10:13











                  • In which implementation you can provide the filename with the extension on?

                    – souser12345
                    Sep 2 '10 at 17:32

















                  Cf. my comment on dreamlax's post, below.

                  – Charles Stewart
                  Dec 7 '09 at 9:49





                  Cf. my comment on dreamlax's post, below.

                  – Charles Stewart
                  Dec 7 '09 at 9:49













                  i get this error: ! Missing endcsname inserted. <to be read again> unhbox ? I have no idea why?

                  – Andreas
                  Dec 17 '09 at 10:13





                  i get this error: ! Missing endcsname inserted. <to be read again> unhbox ? I have no idea why?

                  – Andreas
                  Dec 17 '09 at 10:13













                  In which implementation you can provide the filename with the extension on?

                  – souser12345
                  Sep 2 '10 at 17:32





                  In which implementation you can provide the filename with the extension on?

                  – souser12345
                  Sep 2 '10 at 17:32











                  13














                  The xhfill package provides an array of leaders and colours to create straight-forward, sweet rules. The following is taken mostly from the xhfill documentation:



                  enter image description here



                  documentclass{article}
                  usepackage{listings}% http://ctan.org/pkg/listings
                  lstset{language=[LaTeX]TeX,
                  basicstyle=smallttfamily}
                  %usepackage{xcolor}% http://ctan.org/pkg/xcolor | Loaded by listings
                  usepackage{xhfill}% http://ctan.org/pkg/xhfill

                  setlength{parindent}{0pt}% Just for this example
                  newcommand{xfill}[2][1ex]{{%
                  dimen0=#2advancedimen0 by #1
                  leadershrule height dimen0 depth -#1hfill%
                  }}
                  newcommand{xfilll}[2][1ex]{%
                  dimen0=#2advancedimen0 by #1%
                  leadershrule height dimen0 depth -#1hfill%
                  }

                  begin{document}
                  blahxfilll{1pt}blub
                  begin{lstlisting}
                  blahxfilll{1pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[0pt]{4pt}blub
                  begin{lstlisting}
                  blahxfilll[0pt]{4pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[-12pt]{12pt}blub
                  begin{lstlisting}
                  blahxfilll[-12pt]{12pt}blub
                  end{lstlisting}
                  bigskip

                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  begin{lstlisting}
                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  end{lstlisting}
                  bigskip

                  laberxrfill[0pt]{4pt}[green]blub blub
                  begin{lstlisting}
                  laberxrfill[0pt]{4pt}[green]blub blub
                  end{lstlisting}
                  bigskip

                  blahxrfill[-1ex]{1pt}[red]blub
                  begin{lstlisting}
                  blahxrfill[-1ex]{1pt}[red]blub
                  end{lstlisting}
                  bigskip

                  blah xhrulefill{cyan}{1cm} blub
                  begin{lstlisting}
                  blah xhrulefill{cyan}{1cm} blub
                  end{lstlisting}
                  bigskip

                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  begin{lstlisting}
                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  end{lstlisting}
                  bigskip

                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  begin{lstlisting}
                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  end{lstlisting}
                  end{document}





                  share|improve this answer
























                  • This works for me, but not with the command shown (xfilll) nor with the one in the package's documentation (xfill). What worked was what's given as a comment under Usage in xhfill.sty: xhrulefill{blue}{5pt}.

                    – Liam
                    Dec 26 '15 at 20:55
















                  13














                  The xhfill package provides an array of leaders and colours to create straight-forward, sweet rules. The following is taken mostly from the xhfill documentation:



                  enter image description here



                  documentclass{article}
                  usepackage{listings}% http://ctan.org/pkg/listings
                  lstset{language=[LaTeX]TeX,
                  basicstyle=smallttfamily}
                  %usepackage{xcolor}% http://ctan.org/pkg/xcolor | Loaded by listings
                  usepackage{xhfill}% http://ctan.org/pkg/xhfill

                  setlength{parindent}{0pt}% Just for this example
                  newcommand{xfill}[2][1ex]{{%
                  dimen0=#2advancedimen0 by #1
                  leadershrule height dimen0 depth -#1hfill%
                  }}
                  newcommand{xfilll}[2][1ex]{%
                  dimen0=#2advancedimen0 by #1%
                  leadershrule height dimen0 depth -#1hfill%
                  }

                  begin{document}
                  blahxfilll{1pt}blub
                  begin{lstlisting}
                  blahxfilll{1pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[0pt]{4pt}blub
                  begin{lstlisting}
                  blahxfilll[0pt]{4pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[-12pt]{12pt}blub
                  begin{lstlisting}
                  blahxfilll[-12pt]{12pt}blub
                  end{lstlisting}
                  bigskip

                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  begin{lstlisting}
                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  end{lstlisting}
                  bigskip

                  laberxrfill[0pt]{4pt}[green]blub blub
                  begin{lstlisting}
                  laberxrfill[0pt]{4pt}[green]blub blub
                  end{lstlisting}
                  bigskip

                  blahxrfill[-1ex]{1pt}[red]blub
                  begin{lstlisting}
                  blahxrfill[-1ex]{1pt}[red]blub
                  end{lstlisting}
                  bigskip

                  blah xhrulefill{cyan}{1cm} blub
                  begin{lstlisting}
                  blah xhrulefill{cyan}{1cm} blub
                  end{lstlisting}
                  bigskip

                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  begin{lstlisting}
                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  end{lstlisting}
                  bigskip

                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  begin{lstlisting}
                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  end{lstlisting}
                  end{document}





                  share|improve this answer
























                  • This works for me, but not with the command shown (xfilll) nor with the one in the package's documentation (xfill). What worked was what's given as a comment under Usage in xhfill.sty: xhrulefill{blue}{5pt}.

                    – Liam
                    Dec 26 '15 at 20:55














                  13












                  13








                  13







                  The xhfill package provides an array of leaders and colours to create straight-forward, sweet rules. The following is taken mostly from the xhfill documentation:



                  enter image description here



                  documentclass{article}
                  usepackage{listings}% http://ctan.org/pkg/listings
                  lstset{language=[LaTeX]TeX,
                  basicstyle=smallttfamily}
                  %usepackage{xcolor}% http://ctan.org/pkg/xcolor | Loaded by listings
                  usepackage{xhfill}% http://ctan.org/pkg/xhfill

                  setlength{parindent}{0pt}% Just for this example
                  newcommand{xfill}[2][1ex]{{%
                  dimen0=#2advancedimen0 by #1
                  leadershrule height dimen0 depth -#1hfill%
                  }}
                  newcommand{xfilll}[2][1ex]{%
                  dimen0=#2advancedimen0 by #1%
                  leadershrule height dimen0 depth -#1hfill%
                  }

                  begin{document}
                  blahxfilll{1pt}blub
                  begin{lstlisting}
                  blahxfilll{1pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[0pt]{4pt}blub
                  begin{lstlisting}
                  blahxfilll[0pt]{4pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[-12pt]{12pt}blub
                  begin{lstlisting}
                  blahxfilll[-12pt]{12pt}blub
                  end{lstlisting}
                  bigskip

                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  begin{lstlisting}
                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  end{lstlisting}
                  bigskip

                  laberxrfill[0pt]{4pt}[green]blub blub
                  begin{lstlisting}
                  laberxrfill[0pt]{4pt}[green]blub blub
                  end{lstlisting}
                  bigskip

                  blahxrfill[-1ex]{1pt}[red]blub
                  begin{lstlisting}
                  blahxrfill[-1ex]{1pt}[red]blub
                  end{lstlisting}
                  bigskip

                  blah xhrulefill{cyan}{1cm} blub
                  begin{lstlisting}
                  blah xhrulefill{cyan}{1cm} blub
                  end{lstlisting}
                  bigskip

                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  begin{lstlisting}
                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  end{lstlisting}
                  bigskip

                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  begin{lstlisting}
                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  end{lstlisting}
                  end{document}





                  share|improve this answer













                  The xhfill package provides an array of leaders and colours to create straight-forward, sweet rules. The following is taken mostly from the xhfill documentation:



                  enter image description here



                  documentclass{article}
                  usepackage{listings}% http://ctan.org/pkg/listings
                  lstset{language=[LaTeX]TeX,
                  basicstyle=smallttfamily}
                  %usepackage{xcolor}% http://ctan.org/pkg/xcolor | Loaded by listings
                  usepackage{xhfill}% http://ctan.org/pkg/xhfill

                  setlength{parindent}{0pt}% Just for this example
                  newcommand{xfill}[2][1ex]{{%
                  dimen0=#2advancedimen0 by #1
                  leadershrule height dimen0 depth -#1hfill%
                  }}
                  newcommand{xfilll}[2][1ex]{%
                  dimen0=#2advancedimen0 by #1%
                  leadershrule height dimen0 depth -#1hfill%
                  }

                  begin{document}
                  blahxfilll{1pt}blub
                  begin{lstlisting}
                  blahxfilll{1pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[0pt]{4pt}blub
                  begin{lstlisting}
                  blahxfilll[0pt]{4pt}blub
                  end{lstlisting}
                  bigskip

                  blahxfilll[-12pt]{12pt}blub
                  begin{lstlisting}
                  blahxfilll[-12pt]{12pt}blub
                  end{lstlisting}
                  bigskip

                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  begin{lstlisting}
                  blahxrfill{1pt}[blue]blub blahxrfill{2pt}[cyan]blub
                  end{lstlisting}
                  bigskip

                  laberxrfill[0pt]{4pt}[green]blub blub
                  begin{lstlisting}
                  laberxrfill[0pt]{4pt}[green]blub blub
                  end{lstlisting}
                  bigskip

                  blahxrfill[-1ex]{1pt}[red]blub
                  begin{lstlisting}
                  blahxrfill[-1ex]{1pt}[red]blub
                  end{lstlisting}
                  bigskip

                  blah xhrulefill{cyan}{1cm} blub
                  begin{lstlisting}
                  blah xhrulefill{cyan}{1cm} blub
                  end{lstlisting}
                  bigskip

                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  begin{lstlisting}
                  blah xhrectanglefill{0.5cm}{1pt} blubber
                  end{lstlisting}
                  bigskip

                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  begin{lstlisting}
                  blahxdotfill{1pt}[blue]blahxdotfill{2pt}[red]blub
                  end{lstlisting}
                  end{document}






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Oct 13 '12 at 5:16









                  WernerWerner

                  443k679781675




                  443k679781675













                  • This works for me, but not with the command shown (xfilll) nor with the one in the package's documentation (xfill). What worked was what's given as a comment under Usage in xhfill.sty: xhrulefill{blue}{5pt}.

                    – Liam
                    Dec 26 '15 at 20:55



















                  • This works for me, but not with the command shown (xfilll) nor with the one in the package's documentation (xfill). What worked was what's given as a comment under Usage in xhfill.sty: xhrulefill{blue}{5pt}.

                    – Liam
                    Dec 26 '15 at 20:55

















                  This works for me, but not with the command shown (xfilll) nor with the one in the package's documentation (xfill). What worked was what's given as a comment under Usage in xhfill.sty: xhrulefill{blue}{5pt}.

                  – Liam
                  Dec 26 '15 at 20:55





                  This works for me, but not with the command shown (xfilll) nor with the one in the package's documentation (xfill). What worked was what's given as a comment under Usage in xhfill.sty: xhrulefill{blue}{5pt}.

                  – Liam
                  Dec 26 '15 at 20:55











                  11














                  You might want to install the webomint fonsts from CTAN. There are a lot of ornaments in this font. Then one possibility would be:



                  documentclass[11pt]{article}
                  usepackage{graphicx}
                  usepackage{lipsum}

                  makeatletter
                  newcommand{EnglischeLinie}{%
                  @afterindentfalse
                  {begin{center}
                  resizebox{0.8linewidth}{0.4ex}{{%
                  fontsize{20}{24}usefont{U}{webo}{xl}{n}{4}}}%
                  end{center}}@afterheading}
                  makeatother

                  begin{document}
                  lipsum[1]
                  EnglischeLinie
                  lipsum[1]
                  end{document}


                  This will look like this:



                  enter image description here



                  You may play around with this.






                  share|improve this answer




























                    11














                    You might want to install the webomint fonsts from CTAN. There are a lot of ornaments in this font. Then one possibility would be:



                    documentclass[11pt]{article}
                    usepackage{graphicx}
                    usepackage{lipsum}

                    makeatletter
                    newcommand{EnglischeLinie}{%
                    @afterindentfalse
                    {begin{center}
                    resizebox{0.8linewidth}{0.4ex}{{%
                    fontsize{20}{24}usefont{U}{webo}{xl}{n}{4}}}%
                    end{center}}@afterheading}
                    makeatother

                    begin{document}
                    lipsum[1]
                    EnglischeLinie
                    lipsum[1]
                    end{document}


                    This will look like this:



                    enter image description here



                    You may play around with this.






                    share|improve this answer


























                      11












                      11








                      11







                      You might want to install the webomint fonsts from CTAN. There are a lot of ornaments in this font. Then one possibility would be:



                      documentclass[11pt]{article}
                      usepackage{graphicx}
                      usepackage{lipsum}

                      makeatletter
                      newcommand{EnglischeLinie}{%
                      @afterindentfalse
                      {begin{center}
                      resizebox{0.8linewidth}{0.4ex}{{%
                      fontsize{20}{24}usefont{U}{webo}{xl}{n}{4}}}%
                      end{center}}@afterheading}
                      makeatother

                      begin{document}
                      lipsum[1]
                      EnglischeLinie
                      lipsum[1]
                      end{document}


                      This will look like this:



                      enter image description here



                      You may play around with this.






                      share|improve this answer













                      You might want to install the webomint fonsts from CTAN. There are a lot of ornaments in this font. Then one possibility would be:



                      documentclass[11pt]{article}
                      usepackage{graphicx}
                      usepackage{lipsum}

                      makeatletter
                      newcommand{EnglischeLinie}{%
                      @afterindentfalse
                      {begin{center}
                      resizebox{0.8linewidth}{0.4ex}{{%
                      fontsize{20}{24}usefont{U}{webo}{xl}{n}{4}}}%
                      end{center}}@afterheading}
                      makeatother

                      begin{document}
                      lipsum[1]
                      EnglischeLinie
                      lipsum[1]
                      end{document}


                      This will look like this:



                      enter image description here



                      You may play around with this.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Oct 13 '12 at 15:05









                      Peter BreitfeldPeter Breitfeld

                      2,99111212




                      2,99111212























                          9














                          In TeX, there is a primitive command leaders which is able to take an hbox and replicate it as many times as necessary to fill a specific amount of glue (which can be the entire with of the page if necessary). Each box that it lays down will stick to a vertical grid, so that boxes laid directly below will be in-line with the ones above (so they don't appear out of sync). This technique is commonly used for tables of contents.



                          You can supply your own custom graphic and box to have a repeating pattern used as a line.



                          usepackage{graphicx}

                          newcommand{nicehline}{%
                          parnoindent
                          leadershbox to 1in{includegraphics{somethingnice.png}}hfill
                          par
                          }

                          Lorem ipsum dolor sit amet.

                          nicehline

                          Lorem ipsum dolor sit amet.


                          Of course, you'll need to supply your own somethingnice.png, or alternatively use a dingbat. Perhaps it may be better to save the graphic into its own box register if it will mean the graphics are only included once and referenced thereafter (as opposed to included each time it is to be displayed).






                          share|improve this answer
























                          • This is basically the right way to do it, but using metafont/metapost pictures as fonts may give better results than embedding png/eps/&c graphics, since they will scale well.

                            – Charles Stewart
                            Dec 7 '09 at 9:45
















                          9














                          In TeX, there is a primitive command leaders which is able to take an hbox and replicate it as many times as necessary to fill a specific amount of glue (which can be the entire with of the page if necessary). Each box that it lays down will stick to a vertical grid, so that boxes laid directly below will be in-line with the ones above (so they don't appear out of sync). This technique is commonly used for tables of contents.



                          You can supply your own custom graphic and box to have a repeating pattern used as a line.



                          usepackage{graphicx}

                          newcommand{nicehline}{%
                          parnoindent
                          leadershbox to 1in{includegraphics{somethingnice.png}}hfill
                          par
                          }

                          Lorem ipsum dolor sit amet.

                          nicehline

                          Lorem ipsum dolor sit amet.


                          Of course, you'll need to supply your own somethingnice.png, or alternatively use a dingbat. Perhaps it may be better to save the graphic into its own box register if it will mean the graphics are only included once and referenced thereafter (as opposed to included each time it is to be displayed).






                          share|improve this answer
























                          • This is basically the right way to do it, but using metafont/metapost pictures as fonts may give better results than embedding png/eps/&c graphics, since they will scale well.

                            – Charles Stewart
                            Dec 7 '09 at 9:45














                          9












                          9








                          9







                          In TeX, there is a primitive command leaders which is able to take an hbox and replicate it as many times as necessary to fill a specific amount of glue (which can be the entire with of the page if necessary). Each box that it lays down will stick to a vertical grid, so that boxes laid directly below will be in-line with the ones above (so they don't appear out of sync). This technique is commonly used for tables of contents.



                          You can supply your own custom graphic and box to have a repeating pattern used as a line.



                          usepackage{graphicx}

                          newcommand{nicehline}{%
                          parnoindent
                          leadershbox to 1in{includegraphics{somethingnice.png}}hfill
                          par
                          }

                          Lorem ipsum dolor sit amet.

                          nicehline

                          Lorem ipsum dolor sit amet.


                          Of course, you'll need to supply your own somethingnice.png, or alternatively use a dingbat. Perhaps it may be better to save the graphic into its own box register if it will mean the graphics are only included once and referenced thereafter (as opposed to included each time it is to be displayed).






                          share|improve this answer













                          In TeX, there is a primitive command leaders which is able to take an hbox and replicate it as many times as necessary to fill a specific amount of glue (which can be the entire with of the page if necessary). Each box that it lays down will stick to a vertical grid, so that boxes laid directly below will be in-line with the ones above (so they don't appear out of sync). This technique is commonly used for tables of contents.



                          You can supply your own custom graphic and box to have a repeating pattern used as a line.



                          usepackage{graphicx}

                          newcommand{nicehline}{%
                          parnoindent
                          leadershbox to 1in{includegraphics{somethingnice.png}}hfill
                          par
                          }

                          Lorem ipsum dolor sit amet.

                          nicehline

                          Lorem ipsum dolor sit amet.


                          Of course, you'll need to supply your own somethingnice.png, or alternatively use a dingbat. Perhaps it may be better to save the graphic into its own box register if it will mean the graphics are only included once and referenced thereafter (as opposed to included each time it is to be displayed).







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jun 7 '09 at 11:39









                          dreamlaxdreamlax

                          359213




                          359213













                          • This is basically the right way to do it, but using metafont/metapost pictures as fonts may give better results than embedding png/eps/&c graphics, since they will scale well.

                            – Charles Stewart
                            Dec 7 '09 at 9:45



















                          • This is basically the right way to do it, but using metafont/metapost pictures as fonts may give better results than embedding png/eps/&c graphics, since they will scale well.

                            – Charles Stewart
                            Dec 7 '09 at 9:45

















                          This is basically the right way to do it, but using metafont/metapost pictures as fonts may give better results than embedding png/eps/&c graphics, since they will scale well.

                          – Charles Stewart
                          Dec 7 '09 at 9:45





                          This is basically the right way to do it, but using metafont/metapost pictures as fonts may give better results than embedding png/eps/&c graphics, since they will scale well.

                          – Charles Stewart
                          Dec 7 '09 at 9:45











                          8














                          Everything I've ever read defines a custom command for fancy graphical paragraph separators. Nothing in latex adds bedknobs or any fancy decorations, and I can't find any packages which add such functionality.



                          The example I've seen is typically:



                          newcommand{parasep}{begin{center}*hspace{6em}*hspace{6em}*end{center}}


                          Obviously from here you could replace the asterisks with something more visually appealing.






                          share|improve this answer
























                          • @jasedit I tried to resolve the bedknobs issue, but realized my hands were handcuffed to them.

                            – Nicholas Hamilton
                            May 22 '13 at 20:23


















                          8














                          Everything I've ever read defines a custom command for fancy graphical paragraph separators. Nothing in latex adds bedknobs or any fancy decorations, and I can't find any packages which add such functionality.



                          The example I've seen is typically:



                          newcommand{parasep}{begin{center}*hspace{6em}*hspace{6em}*end{center}}


                          Obviously from here you could replace the asterisks with something more visually appealing.






                          share|improve this answer
























                          • @jasedit I tried to resolve the bedknobs issue, but realized my hands were handcuffed to them.

                            – Nicholas Hamilton
                            May 22 '13 at 20:23
















                          8












                          8








                          8







                          Everything I've ever read defines a custom command for fancy graphical paragraph separators. Nothing in latex adds bedknobs or any fancy decorations, and I can't find any packages which add such functionality.



                          The example I've seen is typically:



                          newcommand{parasep}{begin{center}*hspace{6em}*hspace{6em}*end{center}}


                          Obviously from here you could replace the asterisks with something more visually appealing.






                          share|improve this answer













                          Everything I've ever read defines a custom command for fancy graphical paragraph separators. Nothing in latex adds bedknobs or any fancy decorations, and I can't find any packages which add such functionality.



                          The example I've seen is typically:



                          newcommand{parasep}{begin{center}*hspace{6em}*hspace{6em}*end{center}}


                          Obviously from here you could replace the asterisks with something more visually appealing.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Feb 6 '09 at 16:50









                          jaseditjasedit

                          1813




                          1813













                          • @jasedit I tried to resolve the bedknobs issue, but realized my hands were handcuffed to them.

                            – Nicholas Hamilton
                            May 22 '13 at 20:23





















                          • @jasedit I tried to resolve the bedknobs issue, but realized my hands were handcuffed to them.

                            – Nicholas Hamilton
                            May 22 '13 at 20:23



















                          @jasedit I tried to resolve the bedknobs issue, but realized my hands were handcuffed to them.

                          – Nicholas Hamilton
                          May 22 '13 at 20:23







                          @jasedit I tried to resolve the bedknobs issue, but realized my hands were handcuffed to them.

                          – Nicholas Hamilton
                          May 22 '13 at 20:23













                          7














                          Just to reiterate: you can get better results with fonts than embedded images, and better results with TeX-native font representations (e.g., MetaFont), than with TrueType fonts.



                          Noah, above, linked to typoasis, which has some mouthwateringly beautiful fonts, but they are alien to TeX, so you might not get ideal results with them.



                          Zapfino, Hermann Zapf's calligraphic font, is worth a look: Zapf worked with Knuth on this, and some other, fonts, so it is all done The Right Way.



                          If you do make use of TeX-alien fonts, it is best to import tham as MetaType1 fonts using, say, the pf2mt1 utility; cf. the CTAN metatype1 package's README for some info.






                          share|improve this answer


























                          • 1) Couldn't you use a vector-image for nice results? I know that LaTeX doesn't support actual image formats like SVG, but you can put a vector image in a PDF then import that. 2) An alternative to non-TeX fonts would be LuaTeX or XeTeX, wouldn't it? I'm not a user of either, but I've heard good things about LuaTeX.

                            – Canageek
                            Oct 25 '11 at 21:28
















                          7














                          Just to reiterate: you can get better results with fonts than embedded images, and better results with TeX-native font representations (e.g., MetaFont), than with TrueType fonts.



                          Noah, above, linked to typoasis, which has some mouthwateringly beautiful fonts, but they are alien to TeX, so you might not get ideal results with them.



                          Zapfino, Hermann Zapf's calligraphic font, is worth a look: Zapf worked with Knuth on this, and some other, fonts, so it is all done The Right Way.



                          If you do make use of TeX-alien fonts, it is best to import tham as MetaType1 fonts using, say, the pf2mt1 utility; cf. the CTAN metatype1 package's README for some info.






                          share|improve this answer


























                          • 1) Couldn't you use a vector-image for nice results? I know that LaTeX doesn't support actual image formats like SVG, but you can put a vector image in a PDF then import that. 2) An alternative to non-TeX fonts would be LuaTeX or XeTeX, wouldn't it? I'm not a user of either, but I've heard good things about LuaTeX.

                            – Canageek
                            Oct 25 '11 at 21:28














                          7












                          7








                          7







                          Just to reiterate: you can get better results with fonts than embedded images, and better results with TeX-native font representations (e.g., MetaFont), than with TrueType fonts.



                          Noah, above, linked to typoasis, which has some mouthwateringly beautiful fonts, but they are alien to TeX, so you might not get ideal results with them.



                          Zapfino, Hermann Zapf's calligraphic font, is worth a look: Zapf worked with Knuth on this, and some other, fonts, so it is all done The Right Way.



                          If you do make use of TeX-alien fonts, it is best to import tham as MetaType1 fonts using, say, the pf2mt1 utility; cf. the CTAN metatype1 package's README for some info.






                          share|improve this answer















                          Just to reiterate: you can get better results with fonts than embedded images, and better results with TeX-native font representations (e.g., MetaFont), than with TrueType fonts.



                          Noah, above, linked to typoasis, which has some mouthwateringly beautiful fonts, but they are alien to TeX, so you might not get ideal results with them.



                          Zapfino, Hermann Zapf's calligraphic font, is worth a look: Zapf worked with Knuth on this, and some other, fonts, so it is all done The Right Way.



                          If you do make use of TeX-alien fonts, it is best to import tham as MetaType1 fonts using, say, the pf2mt1 utility; cf. the CTAN metatype1 package's README for some info.







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited May 23 '17 at 12:39









                          Community

                          1




                          1










                          answered Dec 7 '09 at 10:15









                          Charles StewartCharles Stewart

                          17.3k355110




                          17.3k355110













                          • 1) Couldn't you use a vector-image for nice results? I know that LaTeX doesn't support actual image formats like SVG, but you can put a vector image in a PDF then import that. 2) An alternative to non-TeX fonts would be LuaTeX or XeTeX, wouldn't it? I'm not a user of either, but I've heard good things about LuaTeX.

                            – Canageek
                            Oct 25 '11 at 21:28



















                          • 1) Couldn't you use a vector-image for nice results? I know that LaTeX doesn't support actual image formats like SVG, but you can put a vector image in a PDF then import that. 2) An alternative to non-TeX fonts would be LuaTeX or XeTeX, wouldn't it? I'm not a user of either, but I've heard good things about LuaTeX.

                            – Canageek
                            Oct 25 '11 at 21:28

















                          1) Couldn't you use a vector-image for nice results? I know that LaTeX doesn't support actual image formats like SVG, but you can put a vector image in a PDF then import that. 2) An alternative to non-TeX fonts would be LuaTeX or XeTeX, wouldn't it? I'm not a user of either, but I've heard good things about LuaTeX.

                          – Canageek
                          Oct 25 '11 at 21:28





                          1) Couldn't you use a vector-image for nice results? I know that LaTeX doesn't support actual image formats like SVG, but you can put a vector image in a PDF then import that. 2) An alternative to non-TeX fonts would be LuaTeX or XeTeX, wouldn't it? I'm not a user of either, but I've heard good things about LuaTeX.

                          – Canageek
                          Oct 25 '11 at 21:28











                          7














                          Just to chime in with a font suggestion: if you do go down that path, the fourier-orns package loads a lot of nice ornaments that, as the name suggests, are designed to go with Fourier. See the fourier documentation for details.






                          share|improve this answer




























                            7














                            Just to chime in with a font suggestion: if you do go down that path, the fourier-orns package loads a lot of nice ornaments that, as the name suggests, are designed to go with Fourier. See the fourier documentation for details.






                            share|improve this answer


























                              7












                              7








                              7







                              Just to chime in with a font suggestion: if you do go down that path, the fourier-orns package loads a lot of nice ornaments that, as the name suggests, are designed to go with Fourier. See the fourier documentation for details.






                              share|improve this answer













                              Just to chime in with a font suggestion: if you do go down that path, the fourier-orns package loads a lot of nice ornaments that, as the name suggests, are designed to go with Fourier. See the fourier documentation for details.







                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Oct 25 '11 at 21:53









                              AntAnt

                              5,32322634




                              5,32322634























                                  4














                                  I use the dingbats that come with Minion like so:



                                  newcommandanonbreak{fancybreak{reflectbox{char"E0B6} quad char"E0BE quad char"E0B6}vspace{baselineskip}}






                                  share|improve this answer




























                                    4














                                    I use the dingbats that come with Minion like so:



                                    newcommandanonbreak{fancybreak{reflectbox{char"E0B6} quad char"E0BE quad char"E0B6}vspace{baselineskip}}






                                    share|improve this answer


























                                      4












                                      4








                                      4







                                      I use the dingbats that come with Minion like so:



                                      newcommandanonbreak{fancybreak{reflectbox{char"E0B6} quad char"E0BE quad char"E0B6}vspace{baselineskip}}






                                      share|improve this answer













                                      I use the dingbats that come with Minion like so:



                                      newcommandanonbreak{fancybreak{reflectbox{char"E0B6} quad char"E0BE quad char"E0B6}vspace{baselineskip}}







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered Oct 26 '11 at 0:57









                                      EmreEmre

                                      4,04032629




                                      4,04032629























                                          4














                                          You might try perusing some font collections. Here are some free examples; if you're willing to pay a little money or do some work on your own, you can get some really nice ones.









                                          share|improve this answer


























                                          • Fonts are the way to go, but the typoasis fonts are just raw foundries, and so don't integrate very well with tex. See my comment below.

                                            – Charles Stewart
                                            Dec 7 '09 at 9:48






                                          • 2





                                            The link is dead, making the answer completely useless. Flagging as “not an answer”.

                                            – Henri Menke
                                            2 hours ago
















                                          4














                                          You might try perusing some font collections. Here are some free examples; if you're willing to pay a little money or do some work on your own, you can get some really nice ones.









                                          share|improve this answer


























                                          • Fonts are the way to go, but the typoasis fonts are just raw foundries, and so don't integrate very well with tex. See my comment below.

                                            – Charles Stewart
                                            Dec 7 '09 at 9:48






                                          • 2





                                            The link is dead, making the answer completely useless. Flagging as “not an answer”.

                                            – Henri Menke
                                            2 hours ago














                                          4












                                          4








                                          4







                                          You might try perusing some font collections. Here are some free examples; if you're willing to pay a little money or do some work on your own, you can get some really nice ones.









                                          share|improve this answer















                                          You might try perusing some font collections. Here are some free examples; if you're willing to pay a little money or do some work on your own, you can get some really nice ones.










                                          share|improve this answer














                                          share|improve this answer



                                          share|improve this answer








                                          edited 3 mins ago









                                          Werner

                                          443k679781675




                                          443k679781675










                                          answered Feb 7 '09 at 16:47









                                          NoahNoah

                                          22529




                                          22529













                                          • Fonts are the way to go, but the typoasis fonts are just raw foundries, and so don't integrate very well with tex. See my comment below.

                                            – Charles Stewart
                                            Dec 7 '09 at 9:48






                                          • 2





                                            The link is dead, making the answer completely useless. Flagging as “not an answer”.

                                            – Henri Menke
                                            2 hours ago



















                                          • Fonts are the way to go, but the typoasis fonts are just raw foundries, and so don't integrate very well with tex. See my comment below.

                                            – Charles Stewart
                                            Dec 7 '09 at 9:48






                                          • 2





                                            The link is dead, making the answer completely useless. Flagging as “not an answer”.

                                            – Henri Menke
                                            2 hours ago

















                                          Fonts are the way to go, but the typoasis fonts are just raw foundries, and so don't integrate very well with tex. See my comment below.

                                          – Charles Stewart
                                          Dec 7 '09 at 9:48





                                          Fonts are the way to go, but the typoasis fonts are just raw foundries, and so don't integrate very well with tex. See my comment below.

                                          – Charles Stewart
                                          Dec 7 '09 at 9:48




                                          2




                                          2





                                          The link is dead, making the answer completely useless. Flagging as “not an answer”.

                                          – Henri Menke
                                          2 hours ago





                                          The link is dead, making the answer completely useless. Flagging as “not an answer”.

                                          – Henri Menke
                                          2 hours ago


















                                          draft saved

                                          draft discarded




















































                                          Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                                          • Please be sure to answer the question. Provide details and share your research!

                                          But avoid



                                          • Asking for help, clarification, or responding to other answers.

                                          • Making statements based on opinion; back them up with references or personal experience.


                                          To learn more, see our tips on writing great answers.




                                          draft saved


                                          draft discarded














                                          StackExchange.ready(
                                          function () {
                                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f32711%2ftotally-sweet-horizontal-rules-in-latex%23new-answer', 'question_page');
                                          }
                                          );

                                          Post as a guest















                                          Required, but never shown





















































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown

































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown







                                          Popular posts from this blog

                                          Accessing regular linux commands in Huawei's Dopra Linux

                                          Can't connect RFCOMM socket: Host is down

                                          Kernel panic - not syncing: Fatal Exception in Interrupt