答案1
编辑3:Biblatex
Biblatex 可以进行过滤。
将列表视为参考书目,明智地使用 biblatex 可定制类别可以实现预期结果:
平均能量损失
\documentclass[12pt]{article}
\begin{filecontents}{\jobname.bib}
@jurisdiction{antaios85,
title = {Antaios Compania Naviera S.A. v.
Salen Rederierna A.B. (The Nema)},
shorttitle = {The Nema},
date = {1985},
reporter = {A.C.},
pages = {191},
court = {H.L.},
additionalreports = {[1984] 3 WLR 592 and (1984) 128 SJ 564
and [1984] 3 All ER 229 and
[1984] 2 Lloyd’s Rep 235},
keywords = {gb},
}
@jurisdiction{corr08,
title = {Corr v. I.B.C. Vehicles Ltd.},
keywords = {gb},
date = {2008},
number = {[2008] UKHL 13},
journaltitle = {A.C.},
volume = {1},
pages = {884},
options = {year-essential=true},
institution = {HL},
shorttitle = {Corr},
pagination = {[]},
}
@jurisdiction{page96,
title = {Page v Smith},
keywords = {gb},
date = {1996},
journaltitle = {AC},
pages = {155},
institution = {HL},
}
@jurisdiction{barrett01a,
title = {Barrett v Enfield LBC},
keywords = {en},
date = {2001},
journaltitle = {BMLR},
volume = {49},
pages = {1},
institution = {HL},
}
@jurisdiction{stubbs90,
title = {Stubbs v Sayer},
institution = {CA},
date = {1990-11-08},
keywords = {en},
}
@jurisdiction{calvert02,
title = {Calvert v Gardiner},
keywords = {en},
number = {[2002] EWHC 1394 (QB)},
institution = {QB},
date = {2002-01-01},
tabulate={caselistarg},
}
@jurisdiction{henly28,
title = {Henly v Mayor of Lyme},
date = {1828},
volume = {5},
reporter = {Bing},
pages = {91},
keywords = {en},
parvolume = {130},
parreporter= {ER},
parpages = {995},
tabulate={caselistarg},
}
@jurisdiction{churchnom,
title = {Church v Brownewick},
date = {1667},
volume = {1},
reporter = {Syd},
pages = {334},
keywords = {en},
tabulate={caselistarg},
}
@jurisdiction{churcher,
title = {Church v Brownewick},
date = {1667},
volume = {1},
reporter = {Syd},
pages = {334},
keywords = {en},
parvolume = {82},
parreporter= {ER},
parpages = {1140},
}
@jurisdiction{thom93,
title = {The Queen v. Thomson},
keywords = {gb},
date = {1893},
journaltitle = {Q.B.D.},
volume = {2},
pages = {12},
options = {year-essential=true},
institution = {Crown Case Reserved},
shorttitle = {Thomson},
pagination = {[]},
}
@jurisdiction{mills,
title = {Mills v Mills},
date = {1938},
reporter = {C.L.R.},
pages = {150},
keywords = {au},
}
\end{filecontents}
\newcommand\mybibfilename{\jobname.bib}
\usepackage[style=british]{csquotes}
\usepackage[style=oscola,
refsegment=section,
citetracker=false, %just for this example
% ibidtracker=true,
indexing=cite,
backend=biber,
sorting=nty,
]{biblatex}
\addbibresource{\mybibfilename}
\DeclareBibliographyCategory{arguendo}
\DeclareBibliographyCategory{judgment}
\DeclareBibliographyCategory{fllwd}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\usepackage[splitindex, nonewpage, noautomatic]{imakeidx}
\makeindex[name=arg, title={\ }, columns=1]
\makeindex[name=caselistarg, title={}, columns=1]
\defbibnote{injdgmnt}{The following cases are referred to in the judgment:}
\defbibnote{inarg}{The following cases were additionally referred to in argument:}
%remove full stop at end of an entry in the bibliography
\renewcommand*\finentrypunct{}
%==================================
\begin{document}
\textit{Companies} -- a director may act against the interests of a class of shareholders.
{
\renewcommand*\finentrypunct{, followed.}
\printbibliography[
category=fllwd,
heading=none,
]
}
%\fullcite{mills}, followed.
%\smallskip
\printbibliography[
category=judgment,
heading=none,
prenote=injdgmnt,
]
\printbibliography[
category=arguendo,
notcategory=judgment,
heading=none,
prenote=inarg,
]
\section*{Argument}
x\autocite{page96}
x\autocite{corr08}
x\autocite{antaios85}
x\autocite{barrett01a}
x\autocite{stubbs90}
x\autocite{calvert02}
x\autocite{henly28}
\addtocategory{arguendo}{page96, corr08, antaios85, barrett01a, stubbs90, calvert02, henly28}
\section*{Judgment}
y\autocite{churcher}
y\autocite{henly28}
z\nocite{mills}
\addtocategory{judgment}{calvert02, henly28}
\addtocategory{fllwd}{mills}
\end{document}
正如所有组合事物一样,多种路径可能导致相同的结果。
这里定义了三个类别
\DeclareBibliographyCategory{arguendo}
\DeclareBibliographyCategory{judgment}
\DeclareBibliographyCategory{fllwd}
所有有争议的案例均被添加到以下arguendo
类别中:
\addtocategory{arguendo}{page96, corr08, antaios85, barrett01a, stubbs90, calvert02, henly28}
在该判决中,所跟踪的案件被添加到以下fllwd
类别中:
\addtocategory{fllwd}{mills}
并将所提及的案件添加到以下judgment
类别:
\addtocategory{judgment}{calvert02, henly28}
为了排版列表(最终这就是参考书目),附加案例论证参考书目有一个预注,inarg
定义为:
\defbibnote{inarg}{The following cases were additionally referred to in argument:}
并将参考书目设置为无标题打印,带有预注,并进行筛选以包括论证类别中的案例并排除判断类别中的案例:
\printbibliography[
category=arguendo,
notcategory=judgment,
heading=none,
prenote=inarg,
]
.
由命令控制的每个 bib 项目末尾的通常内容\finentrypunct
被定义为无:
\renewcommand*\finentrypunct{}
对于判决中提及的案件,也采用了类似的技术(category=judgment
)。
对于单项参考书目,在跟随类别(category=fllwd
)中,最后的“标点符号”被重新定义为“,跟随。”,内容如下:
\renewcommand*\finentrypunct{, followed.}
{
并且重新定义的范围仅被一对括号和所包围的参考书目所限制}
:
{
\renewcommand*\finentrypunct{, followed.}
\printbibliography[
category=fllwd,
heading=none,
]
}
就是这样。
编译流程是:xelatex/biber/xelatex。比涉及索引文件时简单得多。
如果要求在标题中列出案例而不在正文中引用,则\nocite{
參考}
命令将会把參考进入处理流,而文本中没有引用,并且参考书目/列表将会拾取它(假设类别和过滤器被正确定义、分配和适当)。
出于历史兴趣,先前的回应
编辑 2:自定义列表和索引文件
使用imakeidx
,每个列表都有一个命名的索引文件,您可以以arg
以下名称为例:
不给索引添加标题,并将其设为一列,而不是通常的两列
\makeindex[name=arg, title={\ }, columns=1]
titlesec
使用包命令删除所有标题间距等
\titleformat{\section}[runin]{}{}{}{}
\titlespacing{\section}{0pt}{0pt}{0pt}
\renewcommand\indexspace{\vspace{0pt}}
趁此机会,给列表添加一个序言:
\indexprologue[\medskip]{The following cases were referred to in argument:}
使用以下方式打印命名索引
\printindex[arg]
定义一个空的样式文件(本质上,不打印逗号或点),称之为
oscolaplain.mst
,包括:
delim_0 ""
delim_1 ""
delim_2 ""
delim_n ""
delim_r ""
delim_t ""
(我们稍后会回到该文件)
- 定义命令
mygobble
\usepackage{etoolbox}
\makeatletter
\let\mygobble\@gobble
\makeatother
- 当将其应用于将条目发送到命名索引的索引命令中时,它将吞掉页码:
\index[arg]{\cite{corr08}|mygobble}
- 添加其余
\index
命令;由于页码无关紧要,因此命令可以放在任何地方 - 然后按以下顺序进行编译(我使用 xelatex):
- 赛莱特
- 比伯
- 拆分索引 -- -s oscolaplain.mst -c
- 赛莱特
- 比伯
- 赛莱特
平均能量损失
\documentclass[12pt]{article}
\begin{filecontents}{\jobname.bib}
@jurisdiction{antaios85,
title = {Antaios Compania Naviera S.A. v.
Salen Rederierna A.B. (The Nema)},
shorttitle = {The Nema},
date = {1985},
reporter = {A.C.},
pages = {191},
court = {H.L.},
additionalreports = {[1984] 3 WLR 592 and (1984) 128 SJ 564
and [1984] 3 All ER 229 and
[1984] 2 Lloyd’s Rep 235},
keywords = {gb},
}
@jurisdiction{corr08,
title = {Corr v. I.B.C. Vehicles Ltd.},
keywords = {gb},
date = {2008},
number = {[2008] UKHL 13},
journaltitle = {A.C.},
volume = {1},
pages = {884},
options = {year-essential=true},
institution = {HL},
shorttitle = {Corr},
pagination = {[]},
}
@jurisdiction{page96,
title = {Page v Smith},
keywords = {gb},
date = {1996},
journaltitle = {AC},
pages = {155},
institution = {HL},
}
@jurisdiction{barrett01a,
title = {Barrett v Enfield LBC},
keywords = {en},
date = {2001},
journaltitle = {BMLR},
volume = {49},
pages = {1},
institution = {HL},
}
@jurisdiction{stubbs90,
title = {Stubbs v Sayer},
institution = {CA},
date = {1990-11-08},
keywords = {en},
}
@jurisdiction{calvert02,
title = {Calvert v Gardiner},
keywords = {en},
number = {[2002] EWHC 1394 (QB)},
institution = {QB},
date = {2002-01-01},
tabulate={caselistarg},
}
@jurisdiction{henly28,
title = {Henly v Mayor of Lyme},
date = {1828},
volume = {5},
reporter = {Bing},
pages = {91},
keywords = {en},
parvolume = {130},
parreporter= {ER},
parpages = {995},
tabulate={caselistarg},
}
@jurisdiction{churchnom,
title = {Church v Brownewick},
date = {1667},
volume = {1},
reporter = {Syd},
pages = {334},
keywords = {en},
tabulate={caselistarg},
}
@jurisdiction{churcher,
title = {Church v Brownewick},
date = {1667},
volume = {1},
reporter = {Syd},
pages = {334},
keywords = {en},
parvolume = {82},
parreporter= {ER},
parpages = {1140},
}
@jurisdiction{thom93,
title = {The Queen v. Thomson},
keywords = {gb},
date = {1893},
journaltitle = {Q.B.D.},
volume = {2},
pages = {12},
options = {year-essential=true},
institution = {Crown Case Reserved},
shorttitle = {Thomson},
pagination = {[]},
}
@jurisdiction{mills,
title = {Mills v Mills},
date = {1938},
reporter = {C.L.R.},
pages = {150},
keywords = {au},
}
\end{filecontents}
\newcommand\mybibfilename{\jobname.bib}
\usepackage[style=british]{csquotes}
\usepackage[style=oscola,
citetracker=false, %just for this example
% ibidtracker=true,
indexing=cite,
backend=biber,
]{biblatex}
\addbibresource{\mybibfilename}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\setmonofont{Noto Sans Mono}[Colour=blue]
\usepackage[splitindex, nonewpage, noautomatic]{imakeidx}
\makeindex[name=arg, title={\ }, columns=1]
\makeindex[name=caselistarg, title={}, columns=1]
\usepackage{titlesec}
\usepackage{etoolbox}
\makeatletter
\let\mygobble\@gobble
\makeatother
\newcommand\mystart{%
\vspace{12pt}
\noindent\textit{Start}
\vspace{0.5ex}
\hrule
\vspace{12pt}}
\newcommand\myend{%
\vspace{12pt}
\hrule
\vspace{0.5ex}\noindent\textit{End}
\vspace{12pt}}
%==================================
\begin{document}
\lipsum[5-7]
{
\titleformat{\section}[runin]{}{}{}{}
\titlespacing{\section}{0pt}{0pt}{0pt}
\renewcommand\indexspace{\vspace{0pt}}
\indexprologue[\medskip]{The following cases were referred to in argument:}
\printindex[arg]
}
\textit{arguendo}\index[arg]{\cite{churcher}|mygobble}
y\index[arg]{\cite{page96}|mygobble}
y\index[arg]{\cite{corr08}|mygobble}
y\index[arg]{\cite{antaios85}|mygobble}
y\index[arg]{\cite{barrett01a}|mygobble}
y\index[arg]{\cite{stubbs90}|mygobble}
y\index[arg]{\cite{calvert02}|mygobble}
y\index[arg]{\cite{henly28}|mygobble}
$\leftarrow$ text with index entries attached.
\end{document}
<>><><><><><><><><><><><><><><><><>><>
如果列表相当短,则手动方法将在序言中定义自定义列表,并使用合适的布局设置:
\usepackage{enumitem}
\newlist{hncaselist}{enumerate}{1}
\setlist[hncaselist,1]{label=,
noitemsep,
%labelindent=1em,
leftmargin=2em,
%labelsep=\itemindent+2em,
itemindent=-2em,
}
像这样使用它:
\noindent The following cases were referred to in argument:
\begin{hncaselist}
\item \cite{page96}
\item \cite{corr08}
\item \cite{antaios85}
\item \cite{barrett01a}
\item \cite{stubbs90}
\item \cite{calvert02}
\item \cite{henly28}
\end{hncaselist}
只是,它会按原样显示 - 您必须手动按字母顺序排列条目。
另一方面,oscola
包利用tabulate=
bibentry 中的键将项目直接发送到命名索引,但在该级别,输出实际上是格式化的案例表,并且斜体不会显示(这是意图)。
Biblatex
允许编程,因此可以编写按要求执行的代码块 - 这将是下一步。
初始响应:
抱歉,这不是答案。这只是答案的开始。
标题包含大量信息,基本问题需要用最多的文字来回答,但对于第一步,如果要使用列表,内联列表将与段落设置一起流动,并且其项目标签是换行符命令,布局就可以正常工作。
例如,使用enumitem
包定义自定义列表:
平均能量损失
\documentclass{article}
\usepackage{enumitem}
\newlist{hncaselist}{enumerate*}{1}
\setlist[hncaselist,1]{label=\ \\}
\newcommand\longtext{text text text text text text text text text text text text text text text more text more text more text more text more text more text more text more text. }
\begin{document}
\noindent Cases referred to in X:
\begin{hncaselist}
\item Case A \longtext
\item Case B \longtext
\item Case C \longtext
\item Case D \longtext
\item Case E \longtext
\end{hncaselist}
\end{document}
下一步(或部分替代方案)是:biblatex
可以将项目放入(自定义)列表中,因此标题案例列表实际上是迷你书目,通过关键字(也许是在引用期间添加的??)进行过滤。由于书目只是一个列表,因此其边距、项目缩进等都是可调整的,并且biblatex
可以进行排序(按标题)。
我需要探索。