我之前曾看到过关于同一问题的讨论(见定理名称和编号在页边,正文中有注释),然而这并没有像我希望的那样清楚地解决任何问题。
基本上,我希望在页面左侧有一个可见的边距(即:一条垂直线)。在边距内,我希望显示章节编号(但不是名称)、方程编号、定理名称及其各自的编号,但我对 LaTeX 还不太熟悉,不知道该怎么做。
使用符号“|”表示边距位置的示例如下:
3.1. | Continuous Groups
|
Definition 3.1 | Lie Group:.....
(3.1.1.)| [SOME EQUATION HERE]
Definition 3.2 | Lie Algebra:....
先感谢您。
仅需澄清几点(根据评论更新)1. 文档是单面的,因此只有左侧边距相关。2. 欢迎提出有关哪个定理包更合适的建议。
答案1
我认为以下内容可以满足您的要求。
我使用过的软件包是
esopic
在页边空白处添加灰色竖线titlesec
使用以下方式自定义章节编号\llap
ntheorem
创建一个自定义定义环境-你可以等效地使用amsthm
,但我更熟悉ntheorem
我借用了一些代码/想法
代码:
% arara: pdflatex
% !arara: indent: {overwrite: on}
\documentclass{report}
\usepackage{xcolor} % to have colors
\usepackage{eso-pic} % put things into background
\usepackage{lipsum} % for sample text
\usepackage{titlesec} % for customizing sections
\usepackage[leqno]{amsmath} % for mathematical content
\usepackage[amsmath]{ntheorem} % for theorem-like environments
% customize the tag form of the equations
\makeatletter
\let\mytagform@=\tagform@
\def\tagform@#1{\maketag@@@{\hbox{\llap{(\ignorespaces#1\unskip\@@italiccorr)\hspace{1mm}}}}\kern1sp}
\renewcommand{\eqref}[1]{{\mytagform@{\ref{#1}}}}
\makeatother
% customize section
\titleformat{\section}%
{\Large\bfseries}% format
{\llap{% label
\thesection\hskip 9pt}}%
{0pt}% horizontal sep
{}% before
% customize subsection
\titleformat{\subsection}%
{\bfseries}% format
{\llap{% label
\thesubsection\hskip 9pt}}%
{0pt}% horizontal sep
{}% before
% add vertical bar- change colour and thickness as desired
\AddToShipoutPicture{% from package eso-pic: put something to the background
% 3. Text area
\AtTextLowerLeft{% put it at the left bottom of the text area
\llap{\color{gray}\rule{.1cm}{\LenToUnit\textheight}% can put spacing here, e.g \hspace{.25cm}
}%
}%
}
% margin theorem
\makeatletter
\newtheoremstyle{mymargin}%
{\item[\theorem@headerfont \llap{##1 ##2}]}%
{\item[\theorem@headerfont \llap{##1 ##2}| ##3\theorem@separator\hskip\labelsep]}%
\makeatother
% my definition
\theoremstyle{mymargin}
\theorembodyfont{} % customize these to suit your tastes
\theoremsymbol{}
\theoremprework{}
\theorempostwork{}
\theoremseparator{}
\newtheorem{mydefinition}{Definition}
\numberwithin{mydefinition}{section}
\begin{document}
\chapter{My chapter}
\section{First section}
\lipsum[1]
\begin{mydefinition}
\lipsum[2]
\begin{equation}\label{eq:myequation}
f(x)=x^2
\end{equation}
Test reference: \eqref{eq:myequation}
\end{mydefinition}
\end{document}