使用中文括号而不是拉丁括号

使用中文括号而不是拉丁括号

我想用中文括号替换普通括号()这个问题有一个解决方案,即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的定义,并用方括号替换了括号。为什么是中文?好的,我使用了而不是,因为方括号会干扰对案例中可选参数的扫描。plainbreak(##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}

为什么我提出两种解决方案?看图就知道了。

在此处输入图片描述

相关内容