6

How does one typeset quadruple bonds in LaTeX? I've tried several things: Vertically stacking equal signs, putting lines in tables, etc.

Single up to tripple bonds is easy (by using the chemfig package, https://www.sharelatex.com/learn/Chemistry_formulae), but quadruple bonds seem to be different.

I've created a "quadruple bond" this way:

 \begin{table}
\resizebox{5mm}{!}{
\begin{tabular}{c}
 \rule[0mm]{22mm}{1pt} \\
 \rule[0mm]{22mm}{1pt} \\
  \rule[0mm]{22mm}{1pt} \\
  \rule[0mm]{22mm}{1pt}
\end{tabular}
}
\end{table}

Still trying to figure a way of placing it in-line..

  • It would seem that what is trying to be done is not covered in the chemfig, chemtex, or xymtex documents. – Leucippus Aug 8 '15 at 19:02
  • Are you drawing a full structure diagram or just putting a bond “inline”? – Ant Aug 8 '15 at 19:14
  • @ant don't know how to answer the question. I want: Ti (quadruple bond) Ti. as part of a line of text. in a numbered list. so sure, full structure diagram, but there isn't much structure. – juggler Aug 8 '15 at 19:22
6

If, as per your comment, you just want to draw the bond as part of a line of text, I’d go straight for the Tikz that underlies chemfig:

\newcommand{\quadruplebond}[2]{
  \begin{tikzpicture}[x=3em, y=0.2ex]
    \node (a1) at (0,0) {#1}; 
    \node (a2) at (1,0) {#2};
    \foreach \i in {-3,-1,1,3} {
      \path (a2.west) +(0,\i) node[coordinate] (t\i) {};
      \draw (a1.east) +(0,\i) -- (t\i);
    }
  \end{tikzpicture}
}

will allow you to write \quadruplebond{Ti}{Ti} and get Ti-quadruple bond-Ti. Change the x and y values to adjust the bond length and spacing. This is not the most sophisticated code imaginable but will at least scale with text sizes.

(To use this code in general you will need \usepackage{tikz}, but if you are already loading chemfig this will have been done for you.)

  • sweet. perfection itself.. – juggler Aug 8 '15 at 19:57
3

If you want this for an inline formula I suggest using chemformula which easily allows you to define a new bond type. As explained in the manual this uses TikZ and the nodes (chemformula-bond-start) and (chemformula-bond-end). Here is an example for a possible quadruple bond definition:

\NewChemBond{quadruple}{
  \foreach \i in {-.15em,-.05em,.05em,.15em}{
    \draw[chembond]
      ([yshift=\i]chemformula-bond-start) -- ([yshift=\i]chemformula-bond-end) ;
  }
}

One can then use \bond{quadruple} in chemformula's \ch for the bond (\ch{Ti\bond{quadruple}Ti}). For convenience it is also possible to add a replacement symbol for the bond, especially when that bond is going to be used more than once:

\NewChemCompoundProperty{\#}{\bond{quadruple}}

Then this symbol can be used instead (\ch{Ti\#Ti}) for getting the quadruple bond.

A complete example:

\documentclass{article}
\usepackage{chemformula}
% define the bond:
\NewChemBond{quadruple}{
  \foreach \i in {-.15em,-.05em,.05em,.15em}{
    \draw[chembond]
      ([yshift=\i]chemformula-bond-start) -- ([yshift=\i]chemformula-bond-end) ;
  }
}
% define the replacement symbol for the new bond:
\NewChemCompoundProperty{\#}{\bond{quadruple}}

\begin{document}

\ch{Ti\bond{quadruple}Ti}

\ch{Ti\#Ti}

\end{document}

enter image description here

2

Here is another way to achieve quadruple bonds:

\documentclass{article}
\usepackage{chemfig}
\def\fourbondsep{1pt}
\usetikzlibrary{decorations}
\pgfdeclaredecoration{ddddb}{initial}{
    \state{initial}[width=\pgfdecoratedremainingdistance]
        {\foreach\i in{1.5,0.5,-0.5,-1.5}{%
            \pgfpathmoveto{\pgfpoint{0pt}{\i*\fourbondsep}}\pgfpathlineto{\pgfpoint{\pgfdecoratedremainingdistance}{\i*\fourbondsep}}}
        }
    \state{final}
        {}
}
\tikzset{4bond/.style={decorate,decoration=ddddb}}
\begin{document}
\chemfig{Ti-[,,,,4bond]Ti}
\end{document}

enter image description here

  • wow.. popular question!.. not sure what to do with all these extra answers.. I guess others will come along and vote them up based on which ones they like best? :-D – juggler Aug 11 '15 at 22:34
  • @juggler Re: »not sure what to do with all these extra answers« you choose the one solution that fits your needs best and mark it as accepted. You (and everybody else) vote for every answer which you think is a good answer and/or which you learned something new from and/or which you/they think is an useful answer (following stackexchange's vote-often-policy if you like). Pretty much like with every Q&A on this site. :) – clemens Aug 12 '15 at 11:16

Your Answer

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

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