这是我迄今为止尝试过的 MWE
\documentclass{article}
\usepackage{chemfig}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{tikz}
\newcommand{\xuparrow}[2][]{%
\left.{#1}\right\uparrow{#2}}
\newcommand*{\threeemdash}{\rule[0.5ex]{3em}{0.55pt}}
\begin{document}
\pagenumbering{gobble}
\centering
$\left.
\begin{tabular}{llll}
&\hspace{-0.5cm} Energy && \\
High & \multirow{2}{*}{$\xuparrow[\begin{gathered}
\hfill \\
\hfill \\
\hfill \\
\end{gathered}]{}$ }
& & \threeemdash\\
& & & \threeemdash\\
& & & \threeemdash\\
& &LUMO & \threeemdash\\
\end{tabular}
\right\}$
\end{document}
答案1
一种可能的方法:
\documentclass[tikz]{standalone}
\usetikzlibrary{calc,decorations.pathreplacing,shapes}
\begin{document}\sffamily
\begin{tikzpicture}[every path/.append style={thick}]
\foreach \v in {0,...,3} {
\draw (-.5,{\v*.75+3.5}) -- (1.5,{\v*.75+3.5});
\node[circle] (aa\v) at (0,{\v*.75+3.5}) {};
\node[circle] (ab\v) at (1,{\v*.75+3.5}) {};
\draw (-.5,{\v*.75}) -- (1.5,{\v*.75});
\node[circle,draw] (ba\v) at (0,{\v*.75}) {};
\node[circle,draw] (bb\v) at (1,{\v*.75}) {};
\draw (4.5,{\v*.75+3.5}) -- (6.5,{\v*.75+3.5});
\node[circle,draw] (ca0) at (5,3.5) {};
\draw (4.5,{\v*.75}) -- (6.5,{\v*.75});
\node[circle,\ifnum\v<3 draw\fi] (da\v) at (5,{\v*.75}) {};
\node[circle,draw] (db\v) at (6,{\v*.75}) {};
}
\draw[->,shorten >=5pt,shorten <=5pt] (da3) -- node[right]{excited energy} (ca0);
\draw[decorate,decoration={brace,mirror},densely dotted] ([xshift=20]ab0.south) -- node[right,xshift=5,text width=50]{unoccu\-pied molecular orbitals} ([xshift=20]ab3.north);
\draw[decorate,decoration={brace,mirror},densely dotted] ([xshift=20]bb0.south) -- node[right,xshift=5,text width=50]{occu\-pied molecular orbitals}([xshift=20]bb3.north);
\draw[->] ([xshift=-60]ba0.south) node[left,yshift=5pt]{low} -- ([xshift=-60]aa3.north) node[left,yshift=-5pt]{high} node[above]{Energy};
\node[left] at ([xshift=-10]aa0.west) {LUMO};
\node[left] at ([xshift=-10]ba3.west) {HOMO};
\node[text depth=0pt] at (.5,-.75) {in ground state};
\node[text depth=0pt] at (5.5,-.75) {in excited state};
\node[draw,signal,signal to=east,text width=40,align=center] at (2.85,2.85) {excitation by light};
\end{tikzpicture}
\end{document}
答案2
pic
这里有一个使用一些装饰和线条的方法-o-o-
,-o---
并---o-
产生:
\documentclass[border=8mm,tikz]{standalone}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.markings, shapes.arrows, arrows.meta, matrix}
\tikzset{
-o--/.style={decoration={markings,
mark=at position 0.2 with {\draw[thick] circle (3pt);}
},
postaction={decorate}
},
--o-/.style={decoration={markings,
mark=at position 0.8 with {\draw[thick] circle (3pt);}},
postaction={decorate}
},
-oo-/.style={decoration={markings,
mark=at position 0.2 with {\draw[thick] circle (3pt);},
mark=at position 0.8 with {\draw[thick] circle (3pt);}
},
postaction={decorate}
},
pics/mylines/.style = {
code={
\foreach \style [count=\y] in {#1} {
\draw[thick,\style](0,\y/2)--++(1,0);
}
}
},
braced/.style={right,rectangle, left delimiter={\}}, minimum height=18mm, align=left},
fat arrow/.style={single arrow,draw, thick, minimum height=20mm, minimum width=2mm},
}
\begin{document}
\begin{tikzpicture}
\draw(1,2.5) pic{mylines={,,,}};
\draw(1,0) pic{mylines={-oo-,-oo-,-oo-,-oo-}};
\draw(5,2.5) pic{mylines={-o--,,,}};
\draw(5,0) pic{mylines={-oo-,-oo-,-oo-,--o-}};
\draw[thick, -Latex](-0.5,0.5)node[left, label=west:Low]{}
--++(0,4)node[left, label=south west:\quad High, above]{Energy};
\node[braced] at (2.4,3.75){Unoccupied \\ molecular \\ orbitals};
\node[braced] at (2.4,1.25){Occupied \\ molecular \\ orbitals};
\node[font=\small] at (0.3,2.0){HOMO};
\node[font=\small] at (0.3,3.0){LUMO};
\node at (3.5,2.5) [fat arrow]{\scriptsize excitation by light};
\draw[-Latex](5.2,2.2)--node[right]{excited energy}++(0,0.6);
\end{tikzpicture}
\end{document}