Creating a legal style of case with line at bottom and in the middle

In legal pleadings, there is the style of the case. This includes the plantiff, defendant and case number.

Where I practice, I use the following

PLAINTIFF

VS

DEFENDANT

There is a line in the middle and a line at the bottome that covers half the page up to the middle line. I can’t recreate it here, but here is the code I have so far. I can’t get the middle line or bottome line right.

#set page(
paper: “us-letter”,
margin: 1.5in,
numbering: “1”
)

#set text(
font: “Libertinus Serif”,
size: 12pt,
)

#set align(center)
#show “In The”: smallcaps
#show “United States District Court”: smallcaps
#show “For the Eastern District of Virginia”: smallcaps
In The\
United States District Court
For the Eastern District of Virginia\

#show “Plaintiff”: smallcaps
#show “Defendant”: smallcaps

#grid(
columns: auto,
rows: (auto, 12pt),
gutter: 1em,
)
// LEFT: Plaintiff block
#align(left)[
INSERT NAME OF PLAINTIFF,
Plaintiff,

vs. #h(1fr) C A. No: CV-xxxxxx=xx]

//#grid.vline(
//x: autoint,
//start: int,
//end: noneint,
//position: alignment,
//)

#curve(
curve.line((0pt, 90pt)),
)

// MIDDLE: vertical line
//#rect(
//width: 1pt, // thickness of the line
//height: 100%, // match the height of this grid row)
//)

// RIGHT: Defendant block
#align(left)[
INSERT NAME OF DEFENDANT,
Defendant.
]
#line(horzonal, length: 50%)

#set align(center)

Complaint
Introduction\

#set enum(numbering: “1.”, body-indent: 1em)
#set align(left)

  • this is a test of numbering paragraphs of a complaint and of using single spacing for the text.
  • also need to make the line longer to see how it looks and if it wraps,and it does wrap. if you type enough.
  • This is test

I believe this should be a rather easy task.

Before continuing, I recommend you:

  • Format this post, see How to post in the Questions category.
  • For a visual question like this, it’s helpful to attach images.
  • Add whether what you have so far is able to compile.
    • Or, if you for some reason can’t check that, mention this was made by AI, if it’s the case. I bring that up because it’s not the first time wrong quotes were used. Though I could be wrong and it’s automatically formatted like that by the forum.

Using a grid should achieve what I assume is what you’re asking for:

#set par(justify: true)
#show heading.where(level: 1): set align(center)

#let field(name) = grid(
  columns: 1fr,
  align: right,
  v(2em),
  line(length: 100%),
  smallcaps(name),
)

#grid(
  columns: (1fr, 1fr),
  inset: 1em,
  align: center + horizon,
  grid.cell(
    stroke: (right: 1pt, bottom: 1pt)
  )[
    #field[Plaintiff]
    vs.
    #field[Defendant]
  ],
  [
    C A. No: CV-xxxxxx=xx
  ],
)

= Complaint introduction

#lorem(50)
Output

1 Like

Thank you for this. I did try to upload an image but it would not let me because I was a new user.

It looks like you cracked it. I’ll let you know how it works in the morning.