我正在写一篇关于语音学的论文,其中包含大量示例,通常以表格形式组织。我希望在页边空白处列出这些示例。具体来说,我需要一个名为 的环境example
,这样无论我写什么
\begin{example}
some examples
\end{example}
LaTeX 会将此文本连同边注一起打印出来,例如“示例 2.7”。它应该有点像这本书。
我确实尝试了以下代码:
\newenvironment{example}
{
\marginpar{\begin{center}Examples\\ \refstepcounter{examples}\theexamples\end{center}}
\medskip\begin{center}
}
{
\end{center}\medskip
}
但数字并不总是与边距中的示例正确对齐。
关于如何实现这一点,您有什么好的想法吗?:-)
更新:应 cmhughes 的要求,我现在添加了我的整个序言,以便他可以看到问题。:-)
\documentclass[a4paper]{memoir}
%Memoir settings
\setlrmarginsandblock{*}{3.5cm}{0.75}
\setulmarginsandblock{3cm}{*}{1.2}
\checkandfixthelayout[nearest]
\usepackage{amsmath,amssymb,geometry,graphicx,amstext,enumerate,multirow,color,multicol,comment,xcolor}
\usepackage[hidelinks]{hyperref}
\usepackage{cleveref}
\usepackage[ansinew]{inputenc}
\usepackage{wasysym}
\usepackage{tipa,vowel,textcomp}
\chapterstyle{veelo}
\pagestyle{headings}
\usepackage[amsmath]{ntheorem} % for theorem-like environments
% margin theorem
\makeatletter
\newtheoremstyle{mymargin}%
{\item[\theorem@headerfont \llap{##1 ##2}]}%
{\item[\theorem@headerfont \llap{##1 ##2}| ##3\theorem@separator\hskip\labelsep]}%
\makeatother
% my example
\theoremstyle{mymargin}
\theorembodyfont{} % customize these to suit your tastes
\theoremsymbol{}
\theoremprework{}
\theorempostwork{}
\theoremseparator{}
\newtheorem{example}{example}
\numberwithin{example}{section}
%\usepackage{subcaption}
\begin{document}
但是,使用这个前言会导致示例枚举看起来像这样:
看到,数字出现在正确的的边缘。
您知道问题可能是什么吗?:-)
答案1
有几种方法可以做到这一点。就我个人而言,我赞成ntheorem
包裹
我已经加载了geometry
包装showframe=true
只是为了突出页面边界,和lipsum
仅用于示例文本。
\documentclass{report}
\usepackage[showframe=true]{geometry}
\usepackage{lipsum} % for sample text
\usepackage{amsmath}
\usepackage[amsmath]{ntheorem} % for theorem-like environments
% margin theorem
\makeatletter
\newtheoremstyle{mymargin}%
{\item[\theorem@headerfont \llap{##1 ##2}]}%
{\item[\theorem@headerfont \llap{##1 ##2}| ##3\theorem@separator\hskip\labelsep]}%
\makeatother
% my example
\theoremstyle{mymargin}
\theorembodyfont{} % customize these to suit your tastes
\theoremsymbol{}
\theoremprework{}
\theorempostwork{}
\theoremseparator{}
\newtheorem{myexample}{example}
\numberwithin{myexample}{section}
\begin{document}
\begin{myexample}
\lipsum[2]
\end{myexample}
\end{document}
您可以使用简单列表实现相同的输出,使用enumitem
包,但我认为定理包在这里最合适。