我愿意做这样的事情。但无法弄清楚如何将花括号和箭头与文本放在一起。
% !TEX program = xelatex
\documentclass[a4paper,12pt]{article}
\setcounter{secnumdepth}{0}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[version=4]{mhchem}
\usepackage{framed}
\usepackage{mathtools}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{polyglossia}
\setmainlanguage[numerals=Devanagari]{bengali}
\setotherlanguage{english}
\newfontfamily\englishfont{Times New Roman}
\newfontfamily\bengalifont[Script=Bengali,BoldFont={Kalpurush},BoldFeatures={FakeBold=2.5},ItalicFont={Kalpurush}, ItalicFeatures={FakeSlant=0.3}]{Kalpurush}
\begin{document}
\begin{align*}
\ce{H2SO4} + \ce{H2O &-> H2SO4} \qquad \qquad \Delta H = -30.5 \text{Kj}\\
\ce{H2SO4} + 10\ce{H2O &-> H2SO4} \qquad \qquad \Delta H = -68 \text{Kj}\\
\ce{H2SO4} + 19\ce{H2O &-> H2SO4} \qquad \qquad \Delta H = -70.7 \text{Kj}\\
\ce{H2SO4} + 450\ce{H2O &-> H2SO4} \qquad \qquad \Delta H = -84.52 \text{Kj}\\
\ce{H2SO4} + 451\ce{H2O &-> H2SO4} \qquad \qquad \Delta H = -84.52 \text{Kj}
\end{align*}
\end{document}
答案1
我提出了这个解决方案,基于alignat*
环境和pstricks
。我mhchem
用chemformula
包替换了它,因为它在方程中使用时语法更简单。我\pnode
在相关位置定义了空节点(命令)并用箭头或括号连接它们。唯一的限制是这些节点不能包含在命令的参数中\ch
。
\documentclass{article}
\setcounter{secnumdepth}{0}
\usepackage{amsmath, amssymb}
\usepackage{chemformula}
\usepackage{siunitx}
\usepackage{tikz}
\usepackage{pbox}
\usepackage{pstricks-add}
\begin{document}
\begin{alignat*}{5}
& & \ch{H2SO4 & + & H2O &-> H2SO4} & \qquad \qquad ΔH & = \SI{-30.5}{\kJ} & & \pnode[1ex, 2ex]{BrT}\\
& & \ch{ H2SO4 & + & 10 H2O &-> H2SO4} & ΔH & = \SI{-68}{\kJ} & \\
& & \ch{H2SO4 & + & 19 H2O &-> H2SO4} & ΔH & = \SI{-70.7}{\kJ}\\
& & \ch{H2SO4} & + & \pnode[1.55em, -2pt]{L1} \ch{450 H2O& -> H2SO4} & ΔH & =\SI{-84.52}{\kJ} & & \pnode[1ex, -0.5ex]{BrB} \pnode[5em, 0pt]{C}\\
\rnode{L2}{\parbox[t]{1in}{\centering Some text on several lines}}& \qquad & \ch{H2SO4 & + & 451 H2O &-> H2SO4} & ΔH & = \SI{-84.52}{\kJ}\\
\psset{linewidth=0.5pt, linejoin=1, arrows=->, arrowinset=0.15}
\ncangle[angleA=-90, offsetB=2pt]{L1}{L2}
\psbrace[singleline, linewidth=0.6pt, braceWidthInner=3pt, braceWidthOuter=2pt, nodesep=0.5ex](BrB)(BrT){\text{Some other text}}
\ncline[offsetA=0.5ex, nodesepA=3pt]{BrB}{C}\uput[r](C){\text{A last text}}
\end{alignat*}
\end{document}