![英國法律報告風格案件索引](https://rvso.com/image/405362/%E8%8B%B1%E5%9C%8B%E6%B3%95%E5%BE%8B%E5%A0%B1%E5%91%8A%E9%A2%A8%E6%A0%BC%E6%A1%88%E4%BB%B6%E7%B4%A2%E5%BC%95.png)
答案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,
]
.
每個圍脖項目末尾的通常由\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):
- 賽拉泰克斯
- 比伯
- splitindex -- -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
package 定義自訂清單:
微量元素
\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
可以進行排序(按標題)。
我需要探索。