Индекс случаев в стиле британского юридического отчета

Индекс случаев в стиле британского юридического отчета

В отчетах UK Law в начале приводится список дел, упомянутых в решении, в алфавитном порядке, но без номеров страниц, и органично вписанных в текст (т. е. в середину заголовка). Это видно на изображении ниже:

Прошу прощения за простой вопрос, но как, используя imakeidx (или аналогичный), получить аналогичный индекс, который:

  1. Отсутствует номер страницы или информация после названия дела
  2. Размещается на той же странице, что и текущий текст.
    1. Набран с такими же полями и т.п., как и весь остальной текст. изображение юридического отчета

решение1

Редактировать 3:Biblatex

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}

Только он отображается в том виде, в котором он есть — вам придется вручную расставить записи в алфавитном порядке.

с пользовательским списком

С другой стороны, oscolapackage использует 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могут позаботиться о сортировке (по названию).

Мне нужно исследовать.

Связанный контент