Visualizador de Citações
O visualizador de citações é uma página web local que mostra o rascunho do usuário (ou uma seção dele). Cada citação é um link, sublinhado em uma cor de acordo com seu status. Clicar em uma citação exibe a página citada da fonte, com o idioma citado ou no qual se confia destacado, uma nota sobre se a passagem apoia a frase, um link que abre a fonte completa naquela página e uma caixa de anotações onde o usuário pode digitar uma correção.
O visualizador não substitui a leitura dos casos e não substitui um citador (KeyCite ou Shepard's). Ele torna a leitura rápida e registra se cada passagem apoia a frase que a cita.
Duas regras que nunca mudam
- Nunca publique o visualizador nem o hospede em lugar nenhum. Ele contém o rascunho do usuário e, com links de registro, aponta para material do registro. Ele permanece no computador do usuário como um arquivo que ele abre clicando duas vezes. Nunca se ofereça para transformá-lo em um link compartilhável. Se o usuário pedir para publicá-lo mesmo assim, avise-o primeiro sobre a confidencialidade do cliente.
- Nunca altere o rascunho. O visualizador relata problemas; não os corrige. Altere o rascunho apenas quando o usuário pedir separadamente.
Onde se encaixa
Funciona melhor em um rascunho cujo texto está definido e cujas citações já passaram por uma verificação de citações e um citador, e antes da revisão final. Se o usuário pedir antes, diga isso em uma linha, depois construa-o se ele ainda assim quiser.
Antes de começar
Pergunte, em um bloco curto, apenas o que o usuário ainda não disse:
- Qual rascunho. Peça para anexá-lo ou para nomear o arquivo.
- Escopo: o documento inteiro ou seções nomeadas. Pergunte isso mesmo quando o rascunho for curto; nunca decida o escopo sozinho.
- Fontes: "Devo buscar os casos no Westlaw para você, ou você colocará os PDFs em uma pasta?" (Usuários do Westlaw: veja o passo 3. Usuários do Lexis ou outros: passo 3a.)
- Citações de registro: "Você quer que as citações de registro também sejam vinculadas? Se sim, qual pasta no seu computador contém o registro e como você o cita? Dê-me um exemplo de citação do seu rascunho (por exemplo, 12 R.R. 41, ROA.1234, Dkt. 52 at 3, ou JA 123)." Qualquer pasta funciona (Dropbox, OneDrive ou uma pasta simples), porque o visualizador vincula os arquivos onde eles estão e não copia nada. Se o usuário disser não, as citações de registro aparecem como "Fonte não carregada."
Pedir o visualizador é o sinal verde para salvar a pasta do visualizador e, após o aviso de custo no passo 3, buscar as fontes.
Passos
1. Construir a tabela de citações
Converta o rascunho para texto. Percorra o escopo em ordem e liste cada citação: citações completas, citações curtas, id., supra, estatutos, fontes secundárias e citações de registro. Para cada uma, registre:
- um id (c1, c2 e assim por diante) e a citação exatamente como escrita;
- a autoridade à qual ela se resolve (resolva id. e citações curtas para a autoridade completa);
- o pincite ou pincites;
- a proposição, e qualquer idioma citado, da frase que ela apoia;
- se a citação depende de material específico na fonte (uma decisão, um teste, uma citação) ou apenas nomeia o caso como um todo (veja o passo 6).
Anote qualquer declaração legal no escopo que não tenha citação. A página também marca essas.
Se o rascunho usar uma citação curta ou supra sem nenhuma citação completa em lugar nenhum, não adivinhe silenciosamente. Ou forneça a citação e rotule-a como "conhecimento geral, não verificado" ou deixe-a de fora e sinalize-a.
2. Construir a lista de fontes
Uma entrada por autoridade: a citação do relator ("466 U.S. 668"), a citação WL para opiniões não publicadas, o código e seção para estatutos, e "abreviatura do volume primeira página" para artigos. Separe as entradas com ponto e vírgula, até 100. Deixe de fora as citações de registro e qualquer coisa que o Westlaw não carregue; liste-as para o relatório.
3. Buscar as fontes do Westlaw (Find & Print)
- Antes de buscar qualquer coisa, avise o usuário uma vez que as solicitações de Find & Print podem ser cobradas de acordo com o plano Westlaw dele e só prossiga após a confirmação.
- Abra o Westlaw no navegador e peça ao usuário para fazer login da maneira que ele costuma: um login corporativo, um portal de faculdade de direito ou um ID Thomson Reuters. Diga a ele que, se a página que você abriu não for a que ele normalmente usa, ele pode ir para a página de login habitual dele na mesma janela do navegador. Nunca insira senhas; depois que ele fizer login, faça o resto.
- Vá para Find & Print e cole a lista.
- Configurações: Casos → apenas opinião (sem ementas); Estatutos → apenas texto estatutário; deixe "Substituir por imagens do relator" desmarcado, porque a paginação com estrela deve ser texto; Entrega → Download; Formato → PDF; Como → Vários arquivos (ZIP); desligue o layout de duas colunas.
- Envie. Se o Westlaw rejeitar algumas citações, retire-as, continue e relate-as.
- Quando o download estiver pronto, clique no botão Download do Westlaw. O navegador então mostra sua própria janela de salvar, que você não pode pressionar. Diga ao usuário que está chegando e peça a ele para clicar em Salvar (ou Download) nessa janela. O ZIP cai na pasta Downloads dele.
3a. Fontes fornecidas pelo usuário
Peça ao usuário para colocar um PDF por autoridade em uma pasta e diga qual pasta. Apenas PDFs com texto; se um PDF for uma digitalização sem texto, peça uma versão com texto.
4. Obter os PDFs
Peça acesso à pasta onde o download caiu (ou à pasta do passo 3a). Descompacte em uma pasta de trabalho fora da pasta de downloads. Combine cada PDF com sua autoridade e sinalize qualquer um que não tenha retornado.
5. Extrair as passagens citadas
PDFs do Westlaw marcam páginas com estrela no texto: *688 para o relator primário, **2055 e *** para relatores paralelos, e *1, *2 para citações WL. Remova os marcadores paralelos, divida o texto nos marcadores de estrela simples e pegue o texto de cada página pinada, mais os últimos centenas de caracteres da página anterior, para que uma frase que comece na página anterior seja lida por inteiro. Encontre a página do PDF onde cada marcador aparece, para o link "abrir fonte completa" (#page=N). Remova cabeçalhos e rodapés de página. Use o script no final deste arquivo. Quando um pino não for uma página com estrela (páginas de law review, subseções de estatutos ou PDFs de outro serviço), encontre a passagem pesquisando o idioma citado ou no qual se confia.
5a. Citações de registro (apenas se o usuário escolher)
- A partir do exemplo de citação do usuário, descubra qual parte de uma citação nomeia o arquivo (um volume, um número de documento ou docket, um apêndice) e qual número nomeia a página (uma página de transcrição impressa, uma página de registro carimbada como ROA.1234, uma página de cabeçalho do tribunal ou uma página de apêndice). O registro pode ser um arquivo ou vários.
- Liste os arquivos de registro na pasta do usuário e combine cada citação com seu arquivo (por exemplo, "Vol. 39" ou "RR39" para 39 R.R.; "ECF 52" para Dkt. 52; um registro carimbado consecutivamente para citações ROA). Se a correspondência não for clara, mostre ao usuário seu mapeamento e pergunte antes de continuar.
- Leia apenas as páginas citadas. Encontre cada página citada pelo número que a citação usa, conforme aparece na própria página, nunca pela contagem de páginas do PDF; os dois raramente coincidem. Quando uma página carregar dois números (um número de cabeçalho do tribunal e o número da própria página do documento, por exemplo), e o exemplo do usuário não resolver qual a citação significa, pergunte. Se você não conseguir encontrar o número, marque a citação como "verificar" e informe.
- Para cada citação de registro, registre ambos os números: o número da página que a citação usa e a página do PDF em que ela cai.
- Vincule cada citação de registro ao arquivo onde ela está, com um link relativo do arquivo HTML do visualizador para o arquivo de registro no computador do usuário, na página do PDF. Por exemplo, quando a pasta do visualizador e o registro estiverem ambos em Downloads: ../volume.pdf#page=N. Construa o link a partir dos caminhos reais no computador do usuário (conforme mostrado na listagem de pastas), nunca a partir de caminhos em seu próprio espaço de trabalho. Não use endereços completos file:///; os navegadores geralmente os recusam. Não copie nada para a pasta do visualizador.
- O registro deve ser PDFs pesquisáveis por texto no computador do usuário. Um arquivo armazenado apenas online (um arquivo na nuvem não baixado ou um cofre de documentos acessado por meio de um site) não pode ser vinculado; informe quais.
6. Verificar cada citação
Leia cada passagem comparando com a frase que ela apoia. Atribua um status:
- ok — Apoiado. A passagem diz o que a frase diz. Qualquer citação corresponde exatamente, ou os colchetes explicam cada alteração. Use ok, sem trecho, apenas para uma citação que nomeia um caso como um todo em uma frase textual, como parte da própria frase, sem depender de nenhuma passagem específica (Bluebook R. 3.2(a)). Uma frase de citação ou oração que apoie uma proposição sempre depende de material específico e precisa de um pin, mesmo quando cita vários casos de uma vez. A nota de uma citação de caso inteiro diz "Nomeia o caso como um todo; nenhum pin necessário (Bluebook R. 3.2(a))."
- check — Verificar. A citação não corresponde, a passagem apoia apenas parte da frase, o pin está errado ou a frase descreve a fonte de forma imprecisa. Diga exatamente o que está errado e forneça a correção (o pin correto ou a correção entre colchetes).
- pin — Sem pincite. Uma citação a material específico sem pin. Mostre a página em que o texto próximo se baseia. Quando não estiver claro se a frase depende de material específico, use check e informe, para que o usuário decida.
- none — Fonte não carregada. Qualquer coisa que não esteja nos PDFs ou na pasta de registro. Nomeie o que o usuário precisaria adicionar.
As notas dizem apenas o que a fonte diz. Coloque "Inferência:" antes de qualquer coisa além disso. Sinalize apenas problemas substantivos: uma citação incorreta, um pin errado, uma decisão exagerada ou mal caracterizada, um fato que a página do registro não apoia. Ignore erros de digitação puros. Destaque as palavras exatamente nas quais se confia em cada trecho.
7. Construir a página
Salve uma pasta na pasta Downloads do usuário (ou onde ele pedir), nomeada com o rascunho mais "cite-viewer" e a data. Ela contém:
- o arquivo HTML;
- uma pasta sources/ com os PDFs dos casos. (Os arquivos de registro permanecem onde estão.)
Regras da página:
- Rascunho à esquerda, painel de passagens à direita; em uma tela estreita, eles empilham.
- Uma legenda no topo fornece a contagem para cada status, mais "Texto vermelho pontilhado = declaração legal sem citação."
- Mostre o texto do rascunho exatamente como escrito.
- Destaque as passagens em azul claro. Texto alinhado à esquerda, fonte serifada.
- Funciona em modo claro e escuro.
- Clicar em uma citação mostra o selo de status, a citação como escrita, a nota, cada trecho com seu cabeçalho de página e um link "Abrir fonte completa ↗" e, em seguida, a caixa de anotações.
- Cada cabeçalho de trecho nomeia a página em ambas as numerações, para que o usuário possa confirmar a página sem abrir o arquivo: para um caso, "466 U.S. at 694 · Página do PDF 7"; para o registro, "12 R.R. 45 · Página do PDF 10."
- Declarações legais não citadas também são clicáveis. Clicar em uma mostra um selo "Sem citação", a declaração como escrita, uma nota de uma linha (por exemplo, "Declara uma regra legal; adicione uma citação ou corte-a") e a caixa de anotações.
Caixa de anotações. Abaixo do painel de cada sinalização (citações e declarações não citadas), uma caixa de texto rotulada "Sua anotação (por exemplo, a correção que você deseja)." As anotações são salvas automaticamente no navegador para este arquivo. Envolva cada salvamento e carregamento em try/catch, para que a página ainda funcione se o navegador bloquear o armazenamento. Uma sinalização com uma anotação recebe um pequeno ponto no rascunho. Um botão "Copiar todas as anotações" no topo copia cada anotação como uma lista numerada na ordem do rascunho, cada linha começando com a citação como escrita (ou "Não citado:" e as primeiras palavras da declaração), para que o usuário possa colar a lista no Claude ou mantê-la ao lado do Word. Avise o usuário uma vez que as anotações vivem apenas naquele navegador, naquele computador; a lista copiada é a cópia segura.
8. Verificar a página
Abra a página e clique em pelo menos uma citação de cada status e uma declaração não citada. Confirme que os trechos mostram o idioma destacado e ambos os números de página, a nota está no topo do painel, cada sinalização tem uma caixa de anotações e "Copiar todas as anotações" funciona.
Os links de registro precisam de uma verificação separada, porque você não pode clicar em um link no computador do usuário. Para cada link de registro, descubra para onde ele aponta a partir do arquivo HTML do visualizador no computador do usuário e confirme, listando essa pasta, que o arquivo está lá. Em seguida, peça ao usuário para clicar em um link de registro e dizer se ele abriu na página correta. Até que ele confirme, não relate os links de registro como funcionando; relate-os como "vinculados, ainda não confirmados."
9. Relatar
Curto, ponto mais forte primeiro:
- Onde está a pasta e como abrir o visualizador: "Abra o visualizador no Google Chrome (clique com o botão direito no arquivo HTML, escolha Abrir com, depois Google Chrome). O autor testou em um Mac com Chrome e funciona lá. O Safari bloqueia os links de registro. O autor testou links de registro com citações de registro do estilo do Texas (12 R.R. 41), mas ainda não com outros formatos. O autor não testou em um PC com Windows. Chrome deve funcionar lá também, e o Microsoft Edge pode, mas o autor não tentou nenhum dos dois."
- Contagens por status.
- Cada item "verificar" em uma ou duas linhas, com sua correção.
- As citações "sem pincite", declarações não citadas, fontes não carregadas ou rejeitadas e quaisquer arquivos de registro que não puderam ser vinculados.
- Se os links de registro estão confirmados (veja o passo 8).
- Duas maneiras de trabalhar: discutir cada sinalização com Claude, que mantém uma lista e faz as alterações após o usuário aprová-las; ou trabalhar no Word com o visualizador aberto ao lado, digitando correções nas caixas de anotações. Diga que "Copiar todas as anotações" é um botão no visualizador que apenas o usuário pode pressionar e que ele pode colar a lista copiada de volta neste chat.
Script
star_extract.py: dado um PDF e uma lista de páginas com estrela, ele retorna o texto de cada página, o final da página anterior e a página do PDF onde cada marcador aparece.
import re, subprocess, sys, json
def pdf_pages(pdf):
info = subprocess.run(['pdfinfo', pdf], capture_output=True, text=True).stdout
n = int(re.search(r'Pages:\s+(\d+)', info).group(1))
return [subprocess.run(['pdftotext', '-f', str(i), '-l', str(i), pdf, '-'],
capture_output=True, text=True).stdout for i in range(1, n + 1)]
def clean(t):
t = re.sub(r'WESTLAW\s*©.*?For Educational Use Only[^\n]*\n', '', t, flags=re.S)
t = re.sub(r'\*\*\*?\d+\s?', '', t) # drop parallel-reporter markers
t = re.sub(r'-\n(?=[a-z])', '', t)
return re.sub(r'\s+', ' ', t)
def segments(pages):
parts
…
[truncado para tradução]