Nice curved brackets (in the shape of \prec and \succ)

Does anyone know how I can use the following style of angled brackets?

• For what its worth, the bottom ones are hand-drawn. – percusse Jan 5 '15 at 13:47
• Sorry, \LEFTRIGHT internally uses \left and \right, so you can't use \prec and \succ. I'll find another solution. – Astrinus Jan 5 '15 at 14:03
• do these have a meaning different from \langle and \rangle, or is it just a variation in appearance? also, this scan is obviously from a published source; if you can provide a bibliographic reference, that would be much appreciated. – barbara beeton Jan 5 '15 at 18:17
• @barbarabeeton The book is Advanced Calculus by Loomis and Sternberg. – Randy Randerson Jan 11 '15 at 3:04
• @fctaylor25 -- thanks. excellent reference. they're already in unicode, U+29FC and U+29FD, so they should be in the stix/xits fonts, presumably with names \lcurvyangle and \rcurvyangle. the angle is a bit shallower, but these are definitely intended to be the same as used in that book. i haven't checked whether the stix fonts contain multiple sizes, but i will do so and use your reference to demonstrate that they are needed. – barbara beeton Jan 11 '15 at 13:52

With just pdflatex you can use the STIX fonts and build the big version with picture:

\documentclass{article}
\usepackage{amsmath,pict2e}

\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareSymbolFont{symbols2}{LS1}{stixfrak}{m}{n}

\DeclareMathSymbol{\lcurvyangle}{\mathopen}{symbols2}{"E9}
\DeclareMathSymbol{\rcurvyangle}{\mathclose}{symbols2}{"EA}

\DeclareRobustCommand{\biglcurvyangle}{\mathopen{\makebiglcurvy}}
\DeclareRobustCommand{\bigrcurvyangle}{\mathclose{\makebigrcurvy}}

\newcommand{\makebiglcurvy}{%
\vcenter{\hbox{%
\sbox0{$\bigg|$}%
\setlength{\unitlength}{.5\ht0}%
\begin{picture}(1,2)
\linethickness{0.6pt}\roundcap
\put(0,0){\arc[0,90]{1}}
\put(0,2){\arc[270,360]{1}}
\end{picture}%
}}%
}

\newcommand{\makebigrcurvy}{%
\vcenter{\hbox{%
\sbox0{$\bigg|$}%
\setlength{\unitlength}{.5\ht0}%
\begin{picture}(1,2)
\linethickness{0.6pt}\roundcap
\put(1,0){\arc[90,180]{1}}
\put(1,2){\arc[180,270]{1}}
\end{picture}%
}}%
}

\begin{document}
$dF^1_{\lcurvyangle\alpha,\beta\rcurvyangle}(\xi)$

if $\lVert\lcurvyangle\zeta,\eta\rcurvyangle\rVert<1$
$\biglcurvyangle q_1,\dots,q_n, \frac{\partial V}{\partial q_1},\dots,\frac{\partial V}{\partial q_n}, t \bigrcurvyangle$
\end{document}


An implementation with only curves drawn in picture mode that also adds larger variants.

\documentclass{article}
\usepackage{amsmath,pict2e}

\DeclareRobustCommand{\lcurvyangle}{%
\mathopen{%
\nonscript\mskip2mu
\text{\makelcurvy}%
\nonscript\mskip2mu
}%
}
\DeclareRobustCommand{\rcurvyangle}{%
\mathclose{%
\nonscript\mskip2mu
\text{\makercurvy}%
\nonscript\mskip2mu
}%
}
\DeclareRobustCommand{\biglcurvyangle}{\mathopen{\makebiglcurvy{0}}}
\DeclareRobustCommand{\bigrcurvyangle}{\mathclose{\makebigrcurvy{0}}}
\DeclareRobustCommand{\Biglcurvyangle}{\mathopen{\makebiglcurvy{1}}}
\DeclareRobustCommand{\Bigrcurvyangle}{\mathclose{\makebigrcurvy{1}}}
\DeclareRobustCommand{\bigglcurvyangle}{\mathopen{\makebiglcurvy{2}}}
\DeclareRobustCommand{\biggrcurvyangle}{\mathclose{\makebigrcurvy{2}}}

\newcommand{\makelcurvy}{%
\sbox0{$\langle$}%
\setlength{\unitlength}{.4\ht0}%
\begin{picture}(2,2)
\linethickness{0.5pt}\roundcap
\put(0,-1){\arc[26.5,90]{2}}
\put(0,3){\arc[270,333.5]{2}}
\end{picture}%
}

\newcommand{\makercurvy}{%
\sbox0{$\langle$}%
\setlength{\unitlength}{.4\ht0}%
\begin{picture}(2,2)
\linethickness{0.5pt}\roundcap
\put(2,-1){\arc[90,153,5]{2}}
\put(2,3){\arc[206.5,270]{2}}
\end{picture}%
}

\newcommand{\makebiglcurvy}[1]{%
\vcenter{\hbox{%
\sbox0{$\bigg|$}%
\setlength{\unitlength}{.25\ht0}%
\begin{picture}(2,\numexpr4+2*#1\relax)
\linethickness{0.6pt}\roundcap
\put(0,\numexpr#1\relax){\arc[0,90]{2}}
\put(0,\numexpr4+#1\relax){\arc[270,360]{2}}
\put(2,0){\line(0,1){#1}}
\put(2,\numexpr4+#1\relax){\line(0,1){#1}}
\end{picture}%
}}%
}

\newcommand{\makebigrcurvy}[1]{%
\vcenter{\hbox{%
\sbox0{$\bigg|$}%
\setlength{\unitlength}{.25\ht0}%
\begin{picture}(2,\numexpr4+2*#1\relax)
\linethickness{0.6pt}\roundcap
\put(2,\numexpr#1\relax){\arc[90,180]{2}}
\put(2,\numexpr4+#1\relax){\arc[180,270]{2}}
\put(0,0){\line(0,1){#1}}
\put(0,\numexpr4+#1\relax){\line(0,1){#1}}
\end{picture}%
}}%
}

\begin{document}
$dF^1_{\lcurvyangle\alpha,\beta\rcurvyangle}(\xi)$

if $\lVert\lcurvyangle\zeta,\eta\rcurvyangle\rVert<1$
$\biglcurvyangle q_1,\dots,q_n, \frac{\partial V}{\partial q_1},\dots,\frac{\partial V}{\partial q_n}, t \bigrcurvyangle$

$\Biglcurvyangle \begin{bmatrix}1\\2\\3\end{bmatrix} \Bigrcurvyangle \qquad \bigglcurvyangle \begin{bmatrix}1\\2\\3\\4\end{bmatrix} \biggrcurvyangle$

\end{document}


• What do these mean "E9 and "EA? Where did you get them? – azetina Jan 5 '15 at 16:11
• @azetina Tricks of the trade. ;-) I looked in stix.sty for \lcurvyangle; they denote the slot in the font. – egreg Jan 5 '15 at 16:14
• Well well. I can't imagine the cost to buy a pass to learn the trade :-) Thanks for the tip. – azetina Jan 5 '15 at 16:20
• @azetina Admission to the guild of TeX wizards just costs work on the TeXbook and exercise. ;-) – egreg Jan 5 '15 at 17:30
• Thanks for the very nice solution. Unfortunately, I haven't been able to use it because I get the error "This NFSS system isn't set up properly." How can I fix it? Also, if you will tweak the normal-sized brackets to make them match the picture more closely, I'll change the accepted answer to yours. – Randy Randerson Jan 11 '15 at 3:03

Sorry, the code is far away from beautiful but it shows which unicodes you may use for this and how do define your brackets with those. In the end, you see 4 different fonts, which you may choose. You can find more of them here.

% arara: lualatex

\documentclass{article}
\usepackage{fontspec}
\newcommand*{\myL}{\symbol{"29FC}}
\newcommand*{\myR}{\symbol{"29FD}}
\newcommand*{\mySmallL}{\symbol{"227A}}
\newcommand*{\mySmallR}{\symbol{"227B}}

\usepackage{mathtools}
\DeclarePairedDelimiter\myBrak{\text{{\fontspec{stix-regular.otf}\symbol{"227A}}}}{{\text{\fontspec{stix-regular.otf}\symbol{"227B}}}}
\DeclarePairedDelimiter\myBigBrak{\text{{\fontspec{stix-regular.otf}\symbol{"29FC}}}}{{\text{\fontspec{stix-regular.otf}\symbol{"29FD}}}}
% note: you wont be able to use the starred version of these commands.

\begin{document}
$-dF^1_{\myBrak{\alpha,\beta}}(\zeta)$,

$\in\qquad\text{if}\quad\left\|\myBrak{\zeta,\eta}\right\|$

$=\myBigBrak{q_1, \dots, q_n, \frac{\partial V}{\partial q_1}, \dots, \frac{\partial V}{\partial q_n}, t}$

\bigskip
{\fontspec{quivira.otf}\myL{\fontspec{code2000.ttf}\myL{\fontspec{stix-regular.otf}\myL{\fontspec{Cambria Math}\myL\myR}\myR}\myR}\myR}

{\fontspec{quivira.otf}\mySmallL{\fontspec{code2000.ttf}\mySmallL{\fontspec{stix-regular.otf}\mySmallL{\fontspec{Cambria Math}\mySmallL\mySmallR}\mySmallR}\mySmallR}\mySmallR}
\end{document}


• Thanks! Those look great. I noticed that the large brackets (in the original) look like they're made from two quarter circles. Do you think you could make some like that? – Randy Randerson Jan 5 '15 at 14:56
• You could do such thing with TikZ but I am not the right person to ask. But if you draw your own symbol, it will not fit visually to the smaller version. I understood, that their meaning is the same here. If it isn't, you should delete that part from your question, as it is distracting from your desired result. – LaRiFaRi Jan 5 '15 at 14:58
• Also, I just have regular LaTeX. – Randy Randerson Jan 5 '15 at 14:58
• @fctaylor25 I just needed Lua (or Xe) in order to load various fonts. When you find your symbol in one of the PDFLaTeX packages or draw it by your self with TikZ or alike, you can still use my code in order to use it. – LaRiFaRi Jan 5 '15 at 15:02