您好,我正在嘗試編寫一些 NMR 數據,並且希望能夠使某些格式設定更簡單一些。
正在看這個這個鏈接這裡我能夠將耦合常數更改為斜體,但我認為這可能是一個混亂的解決方案,因為它似乎對我的字體以及 \emph 命令如何與標籤一起工作產生了一些影響\ce
。
例如,在新的 [ NMR2
] 環境中,我希望能夠識別單一質子訊號,例如。\ce{CH2C\emp{H}3}
。當我嘗試提出 MWE 時,這似乎工作正常,但是當我嘗試在實際文件中使用它時,它就無法工作。
\documentclass[11 pt]{report}
\usepackage[T1]{fontenc}
\usepackage{bera}
\usepackage[scaled]{berasans}
\usepackage[scaled]{beramono}
\usepackage{textcomp}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[left=1in, right=1in, top=0.75in, bottom=0.5in, includeheadfoot, headheight=13.6pt]{geometry}
\usepackage{setspace}
\usepackage[compact]{titlesec}
\usepackage{balance}
\usepackage{lastpage}
\usepackage[toc, page, header]{appendix}
\usepackage{fancyhdr}
\usepackage[plain]{fancyref}
\usepackage{achemso}
\usepackage[version=3]{mhchem}
\usepackage[runs=2]{auto-pst-pdf}
\usepackage{chemstyle}
\usepackage{chemnum}
%%
%This Section Taken from linked%
\usepackage{regexpatch,environ}
\NewEnviron{NMR2}{%
\xpatchcmd*\BODY{J}{\textit{J}}{}{}%
\BODY}
%%
\usepackage{graphicx}
\usepackage{mathptmx} \usepackage[scaled=.95]{helvet} \usepackage{courier}
\begin{document}
\begin{NMR2}
\ce{^1H} (\SI{600}{\MHz}; \ce{DMSO-d6}) 4.14 (2H, q, J 7.1 Hz, \ce{C\emph{H}2CH3}), 1.22 (3H, t, J 7.1 Hz, \ce{CH2CH3}).
\end{NMR2}
\end{document}
這裡有更好的方法來做我想做的事嗎?
以下是錯誤訊息:
?逃跑的爭論? !段落在 \emph 完成之前結束。 \par l.45 \end{NMR2}
? !缺少 $ 插入。 $ l.45 \end{NMR2}
? !缺少 } 插入。 } l.45 \end{NMR2}
? !缺少 } 插入。 } l.45 \end{NMR2}
? !缺少 } 插入。 } l.45 \end{NMR2}
? !未定義的控制序列。 \mhchem@cf@i ...tect #1\else \if \mhchem@cf@state e\mhchem@cf@sup =\expandaf... l.45 \end{NMR2}
答案1
將 .tex 檔案的副本複製到新目錄中似乎已經解決了問題。看起來我有一些額外的 .sty 檔案可能導致了這個問題。不太確定它是哪一個,但現在編譯得很好。
謝謝。