我想用中文括号替换普通括号(
。)
这个问题有一个解决方案,即amsthm
(https://tex.stackexchange.com/a/371022/18561),但我无法加载这个包,因为存在已经定义的问题\openbox
。
\documentclass{article}
\usepackage{theorem}
{\theoremstyle{break}
\newtheorem{principle}{Principle}
}
\begin{document}
\begin{principle}[Theta-Criterion]
\begin{itemize}
\item Each theta-role is assigned to exactly one argument position.
\item Every phrase in an argument position receives exactly one theta"=role.
\end{itemize}
\end{principle}
\end{document}
答案1
如果你不想使用amsthm
,我建议至少使用ntheorem
。该theorem
软件包很大程度上已经过时,而且灵活性较差。
为 定义新样式并不困难ntheorem
,尽管需要摆弄。我只是复制了和样式\makeatletter
的定义,并用方括号替换了括号。为什么是中文?好的,我使用了而不是,因为方括号会干扰对案例中可选参数的扫描。plain
break
(##3)
{[##3]}
plain
\documentclass{article}
\usepackage{ntheorem}
\makeatletter
\newtheoremstyle{plain-brackets}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ {[##3]}\theorem@separator]}
\newtheoremstyle{break-brackets}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\theorem@separator}\hbox{\strut}}}]}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\ {[##3]}\theorem@separator}\hbox{\strut}}}]}
\makeatother
\theoremstyle{plain-brackets}
\newtheorem{principleA}{Principle}
\theoremstyle{break-brackets}
\newtheorem{principleB}{Principle}
\begin{document}
\section{Plain style}
\begin{principleA}[Theta-Criterion]\mbox{}
\begin{itemize}
\item Each theta-role is assigned to exactly one argument position.
\item Every phrase in an argument position receives exactly one theta-role.
\end{itemize}
\end{principleA}
\section{Break style}
\begin{principleB}[Theta-Criterion]
\begin{itemize}
\item Each theta-role is assigned to exactly one argument position.
\item Every phrase in an argument position receives exactly one theta-role.
\end{itemize}
\end{principleB}
\end{document}
为什么我提出两种解决方案?看图就知道了。