Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wangsen
MinerU
Commits
85a4750d
Unverified
Commit
85a4750d
authored
Jul 16, 2025
by
Xiaomeng Zhao
Committed by
GitHub
Jul 16, 2025
Browse files
Merge pull request #3026 from Sidney233/dev
Dev
parents
206ed770
a7e75dc0
Changes
71
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
80 additions
and
471 deletions
+80
-471
.github/workflows/cli.yml
.github/workflows/cli.yml
+14
-10
.github/workflows/huigui.yml
.github/workflows/huigui.yml
+18
-15
mkdocs.yml
mkdocs.yml
+3
-0
pyproject.toml
pyproject.toml
+45
-2
tests/retry_env.sh
tests/retry_env.sh
+0
-28
tests/test_cli/conf/__init__py
tests/test_cli/conf/__init__py
+0
-0
tests/test_cli/conf/conf.py
tests/test_cli/conf/conf.py
+0
-10
tests/test_cli/conftest.py
tests/test_cli/conftest.py
+0
-10
tests/test_cli/lib/__init__.py
tests/test_cli/lib/__init__.py
+0
-0
tests/test_cli/lib/calculate_score.py
tests/test_cli/lib/calculate_score.py
+0
-116
tests/test_cli/lib/common.py
tests/test_cli/lib/common.py
+0
-90
tests/test_cli/lib/pre_clean.py
tests/test_cli/lib/pre_clean.py
+0
-128
tests/test_cli/lib/scoring.py
tests/test_cli/lib/scoring.py
+0
-51
tests/test_cli/magic-pdf.json
tests/test_cli/magic-pdf.json
+0
-9
tests/test_cli/pdf_dev/doc/test_mineru.docx
tests/test_cli/pdf_dev/doc/test_mineru.docx
+0
-0
tests/test_cli/pdf_dev/images/docstructbench.jpg
tests/test_cli/pdf_dev/images/docstructbench.jpg
+0
-0
tests/test_cli/pdf_dev/line1.jsonl
tests/test_cli/pdf_dev/line1.jsonl
+0
-1
tests/test_cli/pdf_dev/pdf/test_rearch_report.pdf
tests/test_cli/pdf_dev/pdf/test_rearch_report.pdf
+0
-0
tests/test_cli/pdf_dev/ppt/small.pptx
tests/test_cli/pdf_dev/ppt/small.pptx
+0
-0
tests/test_cli/pdf_dev/result.json
tests/test_cli/pdf_dev/result.json
+0
-1
No files found.
.github/workflows/cli.yml
View file @
85a4750d
...
...
@@ -14,27 +14,31 @@ on:
jobs
:
cli-test
:
if
:
github.repository == 'opendatalab/MinerU'
runs-on
:
pdf
runs-on
:
ubuntu-latest
timeout-minutes
:
240
strategy
:
fail-fast
:
true
steps
:
-
name
:
PDF cli
uses
:
actions/checkout@v
3
uses
:
actions/checkout@v
4
with
:
ref
:
dev
fetch-depth
:
2
-
name
:
install uv
uses
:
astral-sh/setup-uv@v5
-
name
:
install&test
run
:
|
source activate mineru
conda env list
pip show coverag
e
cd $GITHUB_WORKSPACE && sh tests/retry_env.sh
#
cd $GITHUB_WORKSPACE && python tests/clean_coverage.py
#
cd $GITHUB_WORKSPACE && coverage run
-m pytest tests/unittest/ --cov=magic_pdf/ --cov-report html --cov-report term-missing
#
cd $GITHUB_WORKSPACE && python tests/get_coverage.py
cd $GITHUB_WORKSPACE && pytest -m P0 -s -v tests/test_cli/test_cli_sdk.py
uv --version
uv venv --python 3.12
source .venv/bin/activat
e
uv pip install .[test]
cd $GITHUB_WORKSPACE && python tests/clean_coverage.py
cd $GITHUB_WORKSPACE && coverage run
cd $GITHUB_WORKSPACE && python tests/get_coverage.py
notify_to_feishu
:
if
:
${{ always() && !cancelled() && contains(needs.*.result, 'failure')}}
...
...
.github/workflows/huigui.yml
View file @
85a4750d
...
...
@@ -12,33 +12,36 @@ on:
-
"
**.md"
jobs
:
cli-test
:
if
:
github.repository == 'opendatalab/MinerU'
runs-on
:
pdf
#
if: github.repository == 'opendatalab/MinerU'
runs-on
:
ubuntu-latest
timeout-minutes
:
240
strategy
:
fail-fast
:
true
steps
:
-
name
:
PDF cli
uses
:
actions/checkout@v
3
uses
:
actions/checkout@v
4
with
:
ref
:
dev
fetch-depth
:
2
-
name
:
install uv
uses
:
astral-sh/setup-uv@v5
-
name
:
install&test
run
:
|
source activate mineru
conda env list
pip show coverage
cd $GITHUB_WORKSPACE && sh tests/retry_env.sh
# cd $GITHUB_WORKSPACE && python tests/clean_coverage.py
# cd $GITHUB_WORKSPACE && coverage run -m pytest tests/unittest/ --cov=magic_pdf/ --cov-report html --cov-report term-missing
# cd $GITHUB_WORKSPACE && python tests/get_coverage.py
cd $GITHUB_WORKSPACE && pytest -s -v tests/test_cli/test_cli_sdk.py
uv --version
uv venv --python 3.12
source .venv/bin/activate
uv pip install .[test]
cd $GITHUB_WORKSPACE && python tests/clean_coverage.py
cd $GITHUB_WORKSPACE && coverage run
cd $GITHUB_WORKSPACE && python tests/get_coverage.py
notify_to_feishu
:
if
:
${{ always() && !cancelled() && contains(needs.*.result, 'failure')}}
#
if: ${{ always() && !cancelled() && contains(needs.*.result, 'failure')}}
needs
:
cli-test
runs-on
:
pdf
runs-on
:
ubuntu-latest
steps
:
-
name
:
get_actor
run
:
|
...
...
@@ -57,5 +60,5 @@ jobs:
-
name
:
notify
run
:
|
#
echo ${{ secrets.USER_ID }}
curl -X POST -H "Content-Type: application/json" -d '{"msg_type":"post","content":{"post":{"zh_cn":{"title":"'${{ github.repository }}' GitHubAction Failed","content":[[{"tag":"text","text":""},{"tag":"a","text":"Please click here for details ","href":"https://github.com/'${{ github.repository }}'/actions/runs/'${GITHUB_RUN_ID}'"}
,{"tag":"at","user_id":"'$USER_ID'"}
]]}}}}' $WEBHOOK_URL
echo ${{ secrets.USER_ID }}
curl -X POST -H "Content-Type: application/json" -d '{"msg_type":"post","content":{"post":{"zh_cn":{"title":"'${{ github.repository }}' GitHubAction Failed","content":[[{"tag":"text","text":""},{"tag":"a","text":"Please click here for details ","href":"https://github.com/'${{ github.repository }}'/actions/runs/'${GITHUB_RUN_ID}'"}]]}}}}' $WEBHOOK_URL
mkdocs.yml
View file @
85a4750d
...
...
@@ -100,6 +100,9 @@ plugins:
-
search
-
i18n
:
docs_structure
:
folder
fallback_to_default
:
true
reconfigure_material
:
true
reconfigure_search
:
true
languages
:
-
locale
:
en
default
:
true
...
...
pyproject.toml
View file @
85a4750d
...
...
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
[project]
name
=
"mineru"
dynamic
=
["version"]
license
=
{
text
=
"AGPL-3.0"
}
license
=
{
text
=
"AGPL-3.0"
}
description
=
"A practical tool for converting PDF to Markdown"
readme
=
"README.md"
requires-python
=
">=3.10,<3.14"
...
...
@@ -38,6 +38,14 @@ dependencies = [
]
[project.optional-dependencies]
test
=
[
"mineru[core]"
,
"pytest"
,
"pytest-cov"
,
"coverage"
,
"beautifulsoup4"
,
"fuzzywuzzy"
]
vlm
=
[
"transformers>=4.51.1"
,
"torch>=2.6.0"
,
...
...
@@ -112,7 +120,7 @@ mineru-api = "mineru.cli.fast_api:main"
mineru-gradio
=
"mineru.cli.gradio_app:main"
[tool.setuptools.dynamic]
version
=
{
attr
=
"mineru.version.__version__"
}
version
=
{
attr
=
"mineru.version.__version__"
}
[tool.setuptools.packages.find]
include
=
["mineru*"]
...
...
@@ -125,3 +133,38 @@ namespaces = false
[tool.setuptools]
include-package-data
=
true
zip-safe
=
false
[tool.pytest.ini_options]
addopts
=
"-s --cov=mineru --cov-report html"
[tool.coverage.run]
command_line
=
"-m pytest tests/unittest/test_e2e.py"
source
=
["mineru/"]
omit
=
[
"*/vlm_sglang_model/*"
,
"*/gradio_app.py"
,
"*/models_download.py"
,
"*/fast_api.py"
,
"*/cli/client.py"
,
"*/sglang_engine_predictor.py"
,
"*/vlm_sglang_server.py"
,
"*/cli_parser.py"
,
"*/run_async.py"
]
[tool.coverage.html]
directory
=
"htmlcov"
[tool.coverage.report]
exclude_also
=
[
'def __repr__'
,
'if self.debug:'
,
'if settings.DEBUG'
,
'raise AssertionError'
,
'raise NotImplementedError'
,
'if 0:'
,
'if __name__ == .__main__.:'
,
'if TYPE_CHECKING:'
,
'class .*\bProtocol\):'
,
'@(abc\.)?abstractmethod'
,
]
\ No newline at end of file
tests/retry_env.sh
deleted
100644 → 0
View file @
206ed770
#!/bin/bash
max_retries
=
5
retry_count
=
0
while
true
;
do
# prepare env
#python -m pip install -r requirements-qa.txt
#python -m pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple
pip
install
-e
.
python
-m
pip
install
paddlepaddle-gpu
==
3.0.0b1
-i
https://www.paddlepaddle.org.cn/packages/stable/cu118/
pip
install
modelscope
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py
-O
download_models.py
python download_models.py
exit_code
=
$?
if
[
$exit_code
-eq
0
]
;
then
echo
"test.sh 成功执行!"
break
else
let
retry_count+
=
1
if
[
$retry_count
-ge
$max_retries
]
;
then
echo
"达到最大重试次数 (
$max_retries
),放弃重试。"
exit
1
fi
echo
"test.sh 执行失败 (退出码:
$exit_code
)。尝试第
$retry_count
次重试..."
sleep
5
fi
done
tests/test_cli/conf/__init__py
deleted
100644 → 0
View file @
206ed770
tests/test_cli/conf/conf.py
deleted
100644 → 0
View file @
206ed770
import
os
conf
=
{
"code_path"
:
os
.
environ
.
get
(
'GITHUB_WORKSPACE'
),
"pdf_dev_path"
:
os
.
environ
.
get
(
'GITHUB_WORKSPACE'
)
+
"/tests/test_cli/pdf_dev"
,
#"code_path": "/home/quyuan/ci/actions-runner/MinerU",
#"pdf_dev_path": "/home/quyuan/ci/actions-runner/MinerU/tests/test_cli/pdf_dev",
"pdf_res_path"
:
"/tmp/magic-pdf"
,
"jsonl_path"
:
"s3://llm-qatest-pnorm/mineru/test/line1.jsonl"
,
"s3_pdf_path"
:
"s3://llm-qatest-pnorm/mineru/test/test_rearch_report.pdf"
}
tests/test_cli/conftest.py
deleted
100644 → 0
View file @
206ed770
import
pytest
import
torch
def
clear_gpu_memory
():
'''
clear GPU memory
'''
torch
.
cuda
.
empty_cache
()
print
(
"GPU memory cleared."
)
tests/test_cli/lib/__init__.py
deleted
100644 → 0
View file @
206ed770
tests/test_cli/lib/calculate_score.py
deleted
100644 → 0
View file @
206ed770
"""
calculate_score
"""
import
os
import
re
import
json
from
Levenshtein
import
distance
from
lib
import
scoring
from
nltk.translate.bleu_score
import
sentence_bleu
,
SmoothingFunction
from
nltk.tokenize
import
word_tokenize
import
nltk
nltk
.
download
(
'punkt'
)
class
Scoring
:
"""
calculate_score
"""
def
__init__
(
self
,
result_path
):
"""
init
"""
self
.
edit_distances
=
[]
self
.
bleu_scores
=
[]
self
.
sim_scores
=
[]
self
.
filenames
=
[]
self
.
score_dict
=
{}
self
.
anntion_cnt
=
0
self
.
fw
=
open
(
result_path
,
"w+"
,
encoding
=
'utf-8'
)
def
simple_bleu_score
(
self
,
candidate
,
reference
):
"""
get bleu score
"""
candidate_tokens
=
word_tokenize
(
candidate
)
reference_tokens
=
word_tokenize
(
reference
)
return
sentence_bleu
([
reference_tokens
],
candidate_tokens
,
smoothing_function
=
SmoothingFunction
().
method1
)
def
preprocess_string
(
self
,
s
):
"""
preprocess_string
"""
sub_enter
=
re
.
sub
(
r
'\n+'
,
'
\n
'
,
s
)
return
re
.
sub
(
r
' '
,
' '
,
sub_enter
)
def
calculate_similarity
(
self
,
annotion
,
actual
,
tool_type
):
"""
calculate_similarity
"""
class_dict
=
{}
edit_distances
=
[]
bleu_scores
=
[]
sim_scores
=
list
()
total_file
=
0
for
filename
in
os
.
listdir
(
annotion
):
if
filename
.
endswith
(
'.md'
)
and
not
filename
.
startswith
(
'.'
):
total_file
=
total_file
+
1
with
open
(
os
.
path
.
join
(
annotion
,
filename
),
'r'
,
encoding
=
'utf-8'
)
as
file_a
:
content_a
=
file_a
.
read
()
self
.
anntion_cnt
=
self
.
anntion_cnt
+
1
filepath_b
=
os
.
path
.
join
(
actual
,
filename
)
if
os
.
path
.
exists
(
filepath_b
):
with
open
(
filepath_b
,
'r'
,
encoding
=
'utf-8'
)
as
file_b
:
content_b
=
file_b
.
read
()
self
.
filenames
.
append
(
filename
)
edit_dist
=
distance
(
self
.
preprocess_string
(
content_b
),
self
.
preprocess_string
(
content_a
))
/
max
(
len
(
content_a
),
len
(
content_b
))
self
.
edit_distances
.
append
(
edit_dist
)
edit_distances
.
append
(
edit_dist
)
bleu_score
=
self
.
simple_bleu_score
(
content_b
,
content_a
)
bleu_scores
.
append
(
bleu_score
)
self
.
bleu_scores
.
append
(
bleu_score
)
score
=
scoring
.
score_text
(
content_b
,
content_a
)
sim_scores
.
append
(
score
)
self
.
sim_scores
.
append
(
score
)
class_dict
[
filename
]
=
{
"edit_dist"
:
edit_dist
,
"bleu_score"
:
bleu_score
,
"sim_score"
:
score
}
self
.
score_dict
[
filename
]
=
{
"edit_dist"
:
edit_dist
,
"bleu_score"
:
bleu_score
,
"sim_score"
:
score
}
else
:
print
(
f
"File
{
filename
}
not found in actual directory."
)
class_average_edit_distance
=
sum
(
edit_distances
)
/
len
(
edit_distances
)
if
edit_distances
else
0
class_average_bleu_score
=
sum
(
bleu_scores
)
/
len
(
bleu_scores
)
if
bleu_scores
else
0
class_average_sim_score
=
sum
(
sim_scores
)
/
len
(
sim_scores
)
if
sim_scores
else
0
self
.
fw
.
write
(
json
.
dumps
(
class_dict
,
ensure_ascii
=
False
)
+
"
\n
"
)
ratio
=
len
(
class_dict
)
/
total_file
self
.
fw
.
write
(
f
"
{
tool_type
}
extract ratio:
{
ratio
}
"
+
"
\n
"
)
self
.
fw
.
write
(
f
"
{
tool_type
}
Average Levenshtein Distance:
{
class_average_edit_distance
}
"
+
"
\n
"
)
self
.
fw
.
write
(
f
"
{
tool_type
}
Average BLEU Score:
{
class_average_bleu_score
}
"
+
"
\n
"
)
self
.
fw
.
write
(
f
"
{
tool_type
}
Average Sim Score:
{
class_average_sim_score
}
"
+
"
\n
"
)
print
(
f
"
{
tool_type
}
extract ratio:
{
ratio
}
"
)
print
(
f
"
{
tool_type
}
Average Levenshtein Distance:
{
class_average_edit_distance
}
"
)
print
(
f
"
{
tool_type
}
Average BLEU Score:
{
class_average_bleu_score
}
"
)
print
(
f
"
{
tool_type
}
Average Sim Score:
{
class_average_sim_score
}
"
)
return
self
.
score_dict
def
summary_scores
(
self
):
"""
calculate the average of edit distance, bleu score and sim score
"""
over_all_dict
=
dict
()
average_edit_distance
=
sum
(
self
.
edit_distances
)
/
len
(
self
.
edit_distances
)
if
self
.
edit_distances
else
0
average_bleu_score
=
sum
(
self
.
bleu_scores
)
/
len
(
self
.
bleu_scores
)
if
self
.
bleu_scores
else
0
average_sim_score
=
sum
(
self
.
sim_scores
)
/
len
(
self
.
sim_scores
)
if
self
.
sim_scores
else
0
over_all_dict
[
"average_edit_distance"
]
=
average_edit_distance
over_all_dict
[
"average_bleu_score"
]
=
average_bleu_score
over_all_dict
[
"average_sim_score"
]
=
average_sim_score
self
.
fw
.
write
(
json
.
dumps
(
over_all_dict
,
ensure_ascii
=
False
)
+
"
\n
"
)
return
over_all_dict
def
calculate_similarity_total
(
self
,
tool_type
,
download_dir
):
"""
calculate the average of edit distance, bleu score and sim score
"""
annotion
=
os
.
path
.
join
(
download_dir
,
"annotations"
,
"cleaned"
)
actual
=
os
.
path
.
join
(
download_dir
,
tool_type
,
"cleaned"
)
score
=
self
.
calculate_similarity
(
annotion
,
actual
,
tool_type
)
return
score
tests/test_cli/lib/common.py
deleted
100644 → 0
View file @
206ed770
"""common definitions."""
import
os
import
shutil
import
re
import
json
import
torch
def
clear_gpu_memory
():
'''
clear GPU memory
'''
torch
.
cuda
.
empty_cache
()
print
(
"GPU memory cleared."
)
def
check_shell
(
cmd
):
"""shell successful."""
res
=
os
.
system
(
cmd
)
assert
res
==
0
def
update_config_file
(
file_path
,
key
,
value
):
"""update config file."""
with
open
(
file_path
,
'r'
,
encoding
=
"utf-8"
)
as
fr
:
config
=
json
.
loads
(
fr
.
read
())
config
[
key
]
=
value
# 保存修改后的内容
with
open
(
file_path
,
'w'
,
encoding
=
'utf-8'
)
as
fw
:
json
.
dump
(
config
,
fw
,
ensure_ascii
=
False
,
indent
=
4
)
def
cli_count_folders_and_check_contents
(
file_path
):
"""" count cli files."""
if
os
.
path
.
exists
(
file_path
):
for
files
in
os
.
listdir
(
file_path
):
folder_count
=
os
.
path
.
getsize
(
os
.
path
.
join
(
file_path
,
files
))
assert
folder_count
>
0
assert
len
(
os
.
listdir
(
file_path
))
>
5
def
sdk_count_folders_and_check_contents
(
file_path
):
"""count folders."""
if
os
.
path
.
exists
(
file_path
):
file_count
=
os
.
path
.
getsize
(
file_path
)
assert
file_count
>
0
else
:
exit
(
1
)
def
delete_file
(
path
):
"""delete file."""
if
not
os
.
path
.
exists
(
path
):
if
os
.
path
.
isfile
(
path
):
try
:
os
.
remove
(
path
)
print
(
f
"File '
{
path
}
' deleted."
)
except
TypeError
as
e
:
print
(
f
"Error deleting file '
{
path
}
':
{
e
}
"
)
elif
os
.
path
.
isdir
(
path
):
try
:
shutil
.
rmtree
(
path
)
print
(
f
"Directory '
{
path
}
' and its contents deleted."
)
except
TypeError
as
e
:
print
(
f
"Error deleting directory '
{
path
}
':
{
e
}
"
)
def
check_latex_table_exists
(
file_path
):
"""check latex table exists."""
pattern
=
r
'\\begin\{tabular\}.*?\\end\{tabular\}'
with
open
(
file_path
,
'r'
,
encoding
=
'utf-8'
)
as
file
:
content
=
file
.
read
()
matches
=
re
.
findall
(
pattern
,
content
,
re
.
DOTALL
)
return
len
(
matches
)
>
0
def
check_html_table_exists
(
file_path
):
"""check html table exists."""
pattern
=
r
'<table.*?>.*?</table>'
with
open
(
file_path
,
'r'
,
encoding
=
'utf-8'
)
as
file
:
content
=
file
.
read
()
matches
=
re
.
findall
(
pattern
,
content
,
re
.
DOTALL
)
return
len
(
matches
)
>
0
def
check_close_tables
(
file_path
):
"""delete no tables."""
latex_pattern
=
r
'\\begin\{tabular\}.*?\\end\{tabular\}'
html_pattern
=
r
'<table.*?>.*?</table>'
with
open
(
file_path
,
'r'
,
encoding
=
'utf-8'
)
as
file
:
content
=
file
.
read
()
latex_matches
=
re
.
findall
(
latex_pattern
,
content
,
re
.
DOTALL
)
html_matches
=
re
.
findall
(
html_pattern
,
content
,
re
.
DOTALL
)
if
len
(
latex_matches
)
==
0
and
len
(
html_matches
)
==
0
:
return
True
else
:
return
False
\ No newline at end of file
tests/test_cli/lib/pre_clean.py
deleted
100644 → 0
View file @
206ed770
"""
clean data
"""
import
argparse
import
os
import
re
import
htmltabletomd
# type: ignore
import
pypandoc
import
argparse
parser
=
argparse
.
ArgumentParser
(
description
=
"get tool type"
)
parser
.
add_argument
(
"--tool_name"
,
type
=
str
,
required
=
True
,
help
=
"input tool name"
,
)
parser
.
add_argument
(
"--download_dir"
,
type
=
str
,
required
=
True
,
help
=
"input download dir"
,
)
args
=
parser
.
parse_args
()
def
clean_markdown_images
(
content
):
"""
clean markdown images
"""
pattern
=
re
.
compile
(
r
'!\[[^\]]*\]\([^)]*\)'
,
re
.
IGNORECASE
)
cleaned_content
=
pattern
.
sub
(
''
,
content
)
return
cleaned_content
def
clean_ocrmath_photo
(
content
):
"""
clean ocrmath photo
"""
pattern
=
re
.
compile
(
r
'\\includegraphics\[.*?\]\{.*?\}'
,
re
.
IGNORECASE
)
cleaned_content
=
pattern
.
sub
(
''
,
content
)
return
cleaned_content
def
convert_html_table_to_md
(
html_table
):
"""
convert html table to markdown table
"""
lines
=
html_table
.
strip
().
split
(
'
\n
'
)
md_table
=
''
if
lines
and
'<tr>'
in
lines
[
0
]:
in_thead
=
True
for
line
in
lines
:
if
'<th>'
in
line
:
cells
=
re
.
findall
(
r
'<th>(.*?)</th>'
,
line
)
md_table
+=
'| '
+
' | '
.
join
(
cells
)
+
' |
\n
'
in_thead
=
False
elif
'<td>'
in
line
and
not
in_thead
:
cells
=
re
.
findall
(
r
'<td>(.*?)</td>'
,
line
)
md_table
+=
'| '
+
' | '
.
join
(
cells
)
+
' |
\n
'
md_table
=
md_table
.
rstrip
()
+
'
\n
'
return
md_table
def
convert_latext_to_md
(
content
):
"""
convert latex table to markdown table
"""
tables
=
re
.
findall
(
r
'\\begin\{tabular\}(.*?)\\end\{tabular\}'
,
content
,
re
.
DOTALL
)
placeholders
=
[]
for
table
in
tables
:
placeholder
=
f
"<!-- TABLE_PLACEHOLDER_
{
len
(
placeholders
)
}
-->"
replace_str
=
f
"
\\
begin{{tabular}}
{
table
}
cl
\\
end{{tabular}}"
content
=
content
.
replace
(
replace_str
,
placeholder
)
try
:
pypandoc
.
convert_text
(
replace_str
,
format
=
"latex"
,
to
=
"md"
,
outputfile
=
"output.md"
,
encoding
=
"utf-8"
)
except
:
markdown_string
=
replace_str
else
:
markdown_string
=
open
(
'output.md'
,
'r'
,
encoding
=
'utf-8'
).
read
()
placeholders
.
append
((
placeholder
,
markdown_string
))
new_content
=
content
for
placeholder
,
md_table
in
placeholders
:
new_content
=
new_content
.
replace
(
placeholder
,
md_table
)
# 写入文件
return
new_content
def
convert_htmltale_to_md
(
content
):
"""
convert html table to markdown table
"""
tables
=
re
.
findall
(
r
'<table>(.*?)</table>'
,
content
,
re
.
DOTALL
)
placeholders
=
[]
for
table
in
tables
:
placeholder
=
f
"<!-- TABLE_PLACEHOLDER_
{
len
(
placeholders
)
}
-->"
content
=
content
.
replace
(
f
"<table>
{
table
}
</table>"
,
placeholder
)
try
:
convert_table
=
htmltabletomd
.
convert_table
(
table
)
except
:
convert_table
=
table
placeholders
.
append
((
placeholder
,
convert_table
))
new_content
=
content
for
placeholder
,
md_table
in
placeholders
:
new_content
=
new_content
.
replace
(
placeholder
,
md_table
)
# 写入文件
return
new_content
def
clean_data
(
prod_type
,
download_dir
):
"""
clean data
"""
tgt_dir
=
os
.
path
.
join
(
download_dir
,
prod_type
,
"cleaned"
)
if
not
os
.
path
.
exists
(
tgt_dir
):
os
.
makedirs
(
tgt_dir
)
source_dir
=
os
.
path
.
join
(
download_dir
,
prod_type
)
filenames
=
os
.
listdir
(
source_dir
)
for
filename
in
filenames
:
if
filename
.
endswith
(
'.md'
):
input_file
=
os
.
path
.
join
(
source_dir
,
filename
)
output_file
=
os
.
path
.
join
(
tgt_dir
,
"cleaned_"
+
filename
)
with
open
(
input_file
,
'r'
,
encoding
=
'utf-8'
)
as
fr
:
content
=
fr
.
read
()
new_content
=
clean_markdown_images
(
content
)
with
open
(
output_file
,
'w'
,
encoding
=
'utf-8'
)
as
fw
:
fw
.
write
(
new_content
)
if
__name__
==
'__main__'
:
tool_type
=
args
.
tool_name
download_dir
=
args
.
download_dir
clean_data
(
tool_type
,
download_dir
)
tests/test_cli/lib/scoring.py
deleted
100644 → 0
View file @
206ed770
"""
Calculate simscore, refer to (https://github.com/VikParuchuri/marker?tab=readme-ov-file)
"""
import
math
from
rapidfuzz
import
fuzz
import
re
import
regex
from
statistics
import
mean
CHUNK_MIN_CHARS
=
25
def
chunk_text
(
text
,
chunk_len
=
500
):
chunks
=
[
text
[
i
:
i
+
chunk_len
]
for
i
in
range
(
0
,
len
(
text
),
chunk_len
)]
chunks
=
[
c
for
c
in
chunks
if
c
.
strip
()
and
len
(
c
)
>
CHUNK_MIN_CHARS
]
return
chunks
def
overlap_score
(
hypothesis_chunks
,
reference_chunks
):
if
len
(
reference_chunks
)
>
0
:
length_modifier
=
len
(
hypothesis_chunks
)
/
len
(
reference_chunks
)
else
:
length_modifier
=
0
search_distance
=
max
(
len
(
reference_chunks
)
//
5
,
10
)
chunk_scores
=
[]
for
i
,
hyp_chunk
in
enumerate
(
hypothesis_chunks
):
max_score
=
0
total_len
=
0
i_offset
=
int
(
i
*
length_modifier
)
chunk_range
=
range
(
max
(
0
,
i_offset
-
search_distance
),
min
(
len
(
reference_chunks
),
i_offset
+
search_distance
))
for
j
in
chunk_range
:
ref_chunk
=
reference_chunks
[
j
]
score
=
fuzz
.
ratio
(
hyp_chunk
,
ref_chunk
,
score_cutoff
=
30
)
/
100
if
score
>
max_score
:
max_score
=
score
total_len
=
len
(
ref_chunk
)
chunk_scores
.
append
(
max_score
)
return
chunk_scores
def
score_text
(
hypothesis
,
reference
):
# Returns a 0-1 alignment score
hypothesis_chunks
=
chunk_text
(
hypothesis
)
reference_chunks
=
chunk_text
(
reference
)
chunk_scores
=
overlap_score
(
hypothesis_chunks
,
reference_chunks
)
if
len
(
chunk_scores
)
>
0
:
mean_score
=
mean
(
chunk_scores
)
return
mean_score
else
:
return
0
#return mean(chunk_scores)
\ No newline at end of file
tests/test_cli/magic-pdf.json
deleted
100644 → 0
View file @
206ed770
{
"bucket_info"
:{
"bucket-name-1"
:[
"ak"
,
"sk"
,
"endpoint"
],
"bucket-name-2"
:[
"ak"
,
"sk"
,
"endpoint"
]
},
"temp-output-dir"
:
"/tmp"
,
"models-dir"
:
"/tmp/models"
,
"device-mode"
:
"cpu"
}
\ No newline at end of file
tests/test_cli/pdf_dev/doc/test_mineru.docx
deleted
100644 → 0
View file @
206ed770
File deleted
tests/test_cli/pdf_dev/images/docstructbench.jpg
deleted
100644 → 0
View file @
206ed770
541 KB
tests/test_cli/pdf_dev/line1.jsonl
deleted
100644 → 0
View file @
206ed770
{"track_id": "e8824f5a-9fcb-4ee5-b2d4-6bf2c67019dc", "path": "s3://sci-hub/enbook-scimag/78800000/libgen.scimag78872000-78872999/10.1017/cbo9780511770425.012.pdf", "file_type": "pdf", "content_type": "application/pdf", "content_length": 80078, "title": "German Idealism and the Concept of Punishment || Conclusion", "remark": {"file_id": "scihub_78800000/libgen.scimag78872000-78872999.zip_10.1017/cbo9780511770425.012", "file_source_type": "paper", "original_file_id": "10.1017/cbo9780511770425.012", "file_name": "10.1017/cbo9780511770425.012.pdf", "author": "Merle, Jean-Christophe"}, "doc_layout_result": [{"layout_dets": [{"category_id": 2, "poly": [591.1976318359375, 1620.9306640625, 630.57958984375, 1620.9306640625, 630.57958984375, 1643.831787109375, 591.1976318359375, 1643.831787109375], "score": 0.9999933242797852}, {"category_id": 1, "poly": [174.7235870361328, 566.96728515625, 1048.540771484375, 566.96728515625, 1048.540771484375, 1502.302978515625, 174.7235870361328, 1502.302978515625], "score": 0.9999879598617554}, {"category_id": 2, "poly": [45.86769104003906, 1717.0513916015625, 1142.835693359375, 1717.0513916015625, 1142.835693359375, 1762.06494140625, 45.86769104003906, 1762.06494140625], "score": 0.9998946189880371}, {"category_id": 1, "poly": [175.40235900878906, 1504.3228759765625, 1044.1571044921875, 1504.3228759765625, 1044.1571044921875, 1575.264892578125, 175.40235900878906, 1575.264892578125], "score": 0.9997720718383789}, {"category_id": 0, "poly": [462.2110595703125, 220.74905395507812, 755.4266357421875, 220.74905395507812, 755.4266357421875, 257.0824279785156, 462.2110595703125, 257.0824279785156], "score": 0.8909987211227417}, {"category_id": 15, "poly": [587.0, 1616.0, 636.0, 1616.0, 636.0, 1656.0, 587.0, 1656.0], "score": 1.0, "text": "187"}, {"category_id": 15, "poly": [171.0, 568.0, 1044.0, 570.0, 1044.0, 608.0, 171.0, 606.0], "score": 0.98, "text": " In Part 1, we examined the Kantian, retributivist thesis, according to"}, {"category_id": 15, "poly": [171.0, 604.0, 1043.0, 608.0, 1042.0, 645.0, 171.0, 641.0], "score": 0.99, "text": "which the criminal is punished, because he or she merits it. Two interpret-"}, {"category_id": 15, "poly": [174.0, 647.0, 1039.0, 647.0, 1039.0, 679.0, 174.0, 679.0], "score": 0.99, "text": "ations of the Kantian concept of right are possible (see Chapter 1)."}, {"category_id": 15, "poly": [178.0, 684.0, 1039.0, 684.0, 1039.0, 711.0, 178.0, 711.0], "score": 0.99, "text": "On the one hand, according to the liberal interpretation, which does"}, {"category_id": 15, "poly": [180.0, 720.0, 1037.0, 720.0, 1037.0, 746.0, 180.0, 746.0], "score": 0.98, "text": "not refer to the internal disposition of human beings, right is defined"}, {"category_id": 15, "poly": [178.0, 756.0, 1041.0, 756.0, 1041.0, 782.0, 178.0, 782.0], "score": 0.96, "text": "merely as being the coexistence of the freedom of action of all"}, {"category_id": 15, "poly": [173.0, 784.0, 1043.0, 786.0, 1042.0, 823.0, 172.0, 821.0], "score": 0.99, "text": "human beings according to the principle of equality of right. On"}, {"category_id": 15, "poly": [174.0, 823.0, 1042.0, 823.0, 1042.0, 861.0, 174.0, 861.0], "score": 0.99, "text": "the other hand, according to the moral interpretation, which substan-"}, {"category_id": 15, "poly": [178.0, 861.0, 1041.0, 861.0, 1041.0, 892.0, 178.0, 892.0], "score": 0.98, "text": "tially refers to the internal dispositions of human beings, right"}, {"category_id": 15, "poly": [174.0, 894.0, 1043.0, 896.0, 1042.0, 930.0, 174.0, 928.0], "score": 1.0, "text": "should implement the content of the categorical imperative as far as"}, {"category_id": 15, "poly": [172.0, 932.0, 1042.0, 928.0, 1043.0, 964.0, 173.0, 968.0], "score": 1.0, "text": "possible through the application of coercion. In accordance with both"}, {"category_id": 15, "poly": [178.0, 971.0, 1039.0, 971.0, 1039.0, 998.0, 178.0, 998.0], "score": 1.0, "text": "of these interpretations, two dimensions can be distinguished in the"}, {"category_id": 15, "poly": [176.0, 1005.0, 1037.0, 1005.0, 1037.0, 1037.0, 176.0, 1037.0], "score": 0.99, "text": "Kantian retributivist thesis: one genuine dimension of legal ethics,"}, {"category_id": 15, "poly": [176.0, 1041.0, 1042.0, 1041.0, 1042.0, 1072.0, 176.0, 1072.0], "score": 0.99, "text": "which is a dimension independent of the internal dispositions of"}, {"category_id": 15, "poly": [176.0, 1076.0, 1041.0, 1076.0, 1041.0, 1108.0, 176.0, 1108.0], "score": 1.0, "text": "individuals (see Chapter 2), and a dimension of personal ethics (see"}, {"category_id": 15, "poly": [174.0, 1112.0, 1044.0, 1110.0, 1044.0, 1142.0, 174.0, 1144.0], "score": 0.99, "text": "Chapter 3). The dimension of legal ethics of the Kantian retributivist"}, {"category_id": 15, "poly": [173.0, 1144.0, 1043.0, 1146.0, 1042.0, 1183.0, 172.0, 1181.0], "score": 0.99, "text": "thesis contradicts the requirement for the coexistence of all freedoms,"}, {"category_id": 15, "poly": [176.0, 1185.0, 1044.0, 1185.0, 1044.0, 1217.0, 176.0, 1217.0], "score": 0.99, "text": "of which the freedom of the criminal is a part too, and of which it"}, {"category_id": 15, "poly": [178.0, 1221.0, 1042.0, 1221.0, 1042.0, 1252.0, 178.0, 1252.0], "score": 0.99, "text": "ought again to become a part - at least in the most direct way. The"}, {"category_id": 15, "poly": [178.0, 1256.0, 1042.0, 1256.0, 1042.0, 1288.0, 178.0, 1288.0], "score": 1.0, "text": "dimension of personal ethics contradicts the postulate of the highest"}, {"category_id": 15, "poly": [174.0, 1290.0, 1046.0, 1290.0, 1046.0, 1328.0, 174.0, 1328.0], "score": 1.0, "text": "good, which rather requires forgiveness toward the criminal as long as"}, {"category_id": 15, "poly": [176.0, 1329.0, 1042.0, 1329.0, 1042.0, 1361.0, 176.0, 1361.0], "score": 0.99, "text": "this forgiveness is compatible with the concern for the safety of the"}, {"category_id": 15, "poly": [176.0, 1365.0, 1044.0, 1365.0, 1044.0, 1397.0, 176.0, 1397.0], "score": 1.0, "text": "other citizens. Hence, Kant's concept of right as well as his concept of"}, {"category_id": 15, "poly": [176.0, 1401.0, 1042.0, 1401.0, 1042.0, 1432.0, 176.0, 1432.0], "score": 0.99, "text": "virtue require rehabilitation instead of retribution, which ought to"}, {"category_id": 15, "poly": [178.0, 1438.0, 1041.0, 1438.0, 1041.0, 1470.0, 178.0, 1470.0], "score": 0.98, "text": "occur after the shortest possible period of specific deterrence, that is,"}, {"category_id": 15, "poly": [178.0, 1476.0, 572.0, 1476.0, 572.0, 1502.0, 178.0, 1502.0], "score": 1.0, "text": "after a period of incapacitation."}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [208.0, 1508.0, 1046.0, 1508.0, 1046.0, 1539.0, 208.0, 1539.0], "score": 0.97, "text": "In Part 11, I showed how this justification of punishment as a"}, {"category_id": 15, "poly": [173.0, 1543.0, 1043.0, 1547.0, 1042.0, 1579.0, 172.0, 1575.0], "score": 0.98, "text": "rehabilitation occurring after a period of specific deterrence was"}, {"category_id": 15, "poly": [463.0, 223.0, 758.0, 223.0, 758.0, 261.0, 463.0, 261.0], "score": 1.0, "text": "CONCLUSION"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[94.38621520996094, 0.8934143414341433, 0.9166666666666667, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-18233558.pdf_664.jpg"], [96.75828552246094, 0.3755625562556255, 0.40909090909090906, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/996474.pdf_5.jpg"], [101.54622650146484, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/llm-raw-scihub-o.O-bf01324542.pdf_1.jpg"], [103.87814331054688, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/af03a51e581f58ba77807426b6fffed5f72e11d9618c38ac397c0746027f70f8.pdf_8.jpg"], [104.06207275390625, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/1012690215583482.pdf_7.jpg"], [107.45576477050781, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-21539592.pdf_279.jpg"], [109.10279846191406, 0.16666666666666666, 0.16666666666666666, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/24e03d05a7386b44b247c74e52e037c2.pdf_20.jpg"], [111.90066528320312, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-19260283.pdf_8703.jpg"], [112.17504119873047, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/cbo9780511760433.011.pdf_6.jpg"], [112.317626953125, 0.801980198019802, 0.8, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/dianzishu_zhongwenzaixian-o.O-61571679.pdf_158.jpg"]]}, "page_info": {"page_no": 0, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 1, "poly": [186.0487518310547, 160.72091674804688, 1053.1669921875, 160.72091674804688, 1053.1669921875, 1062.760009765625, 186.0487518310547, 1062.760009765625], "score": 0.9999426603317261}, {"category_id": 2, "poly": [530.0048828125, 96.8239517211914, 706.0452880859375, 96.8239517211914, 706.0452880859375, 116.67359161376953, 530.0048828125, 116.67359161376953], "score": 0.9998738765716553}, {"category_id": 2, "poly": [45.27268981933594, 1716.4654541015625, 1144.2857666015625, 1716.4654541015625, 1144.2857666015625, 1766.255859375, 45.27268981933594, 1766.255859375], "score": 0.9995562434196472}, {"category_id": 1, "poly": [183.6819305419922, 1063.69482421875, 1052.115966796875, 1063.69482421875, 1052.115966796875, 1570.769287109375, 183.6819305419922, 1570.769287109375], "score": 0.9991673231124878}, {"category_id": 2, "poly": [188.42965698242188, 93.00428771972656, 232.87054443359375, 93.00428771972656, 232.87054443359375, 116.07218933105469, 188.42965698242188, 116.07218933105469], "score": 0.9988474249839783}, {"category_id": 15, "poly": [186.0, 167.0, 1054.0, 167.0, 1054.0, 204.0, 186.0, 204.0], "score": 1.0, "text": "supported on the basis of the liberal interpretation of Kant's concept"}, {"category_id": 15, "poly": [186.0, 202.0, 1054.0, 202.0, 1054.0, 240.0, 186.0, 240.0], "score": 0.99, "text": "of right by Fichte (see Chapter 4) and Hegel (see Chapter 5): the"}, {"category_id": 15, "poly": [184.0, 240.0, 1054.0, 242.0, 1054.0, 274.0, 184.0, 272.0], "score": 0.98, "text": "criminal is punished, in order that he or she might once again become part"}, {"category_id": 15, "poly": [186.0, 278.0, 1054.0, 278.0, 1054.0, 309.0, 186.0, 309.0], "score": 0.99, "text": "of the commonwealth. Fichte begins with the question of the treatment"}, {"category_id": 15, "poly": [186.0, 313.0, 1052.0, 313.0, 1052.0, 345.0, 186.0, 345.0], "score": 0.99, "text": "of the criminal and by a thought experiment initially draws the"}, {"category_id": 15, "poly": [184.0, 347.0, 1050.0, 349.0, 1050.0, 383.0, 184.0, 381.0], "score": 0.99, "text": "logical conclusion of crime. The logically consistent consequence"}, {"category_id": 15, "poly": [186.0, 384.0, 1050.0, 384.0, 1050.0, 416.0, 186.0, 416.0], "score": 0.98, "text": "of it would not be retaliation, but instead the exclusion of the"}, {"category_id": 15, "poly": [188.0, 424.0, 1046.0, 424.0, 1046.0, 450.0, 188.0, 450.0], "score": 0.99, "text": "criminal from the commonwealth and the revocation of his or her"}, {"category_id": 15, "poly": [186.0, 458.0, 1050.0, 458.0, 1050.0, 489.0, 186.0, 489.0], "score": 0.96, "text": "legal status. The public punishment derived from right as such"}, {"category_id": 15, "poly": [184.0, 493.0, 1052.0, 489.0, 1052.0, 521.0, 184.0, 525.0], "score": 0.99, "text": "emerges as an alternative to this fate that is better for the criminal"}, {"category_id": 15, "poly": [184.0, 529.0, 1050.0, 527.0, 1050.0, 559.0, 184.0, 561.0], "score": 1.0, "text": "so long as the alternative punishment amounts neither to the death"}, {"category_id": 15, "poly": [184.0, 564.0, 1050.0, 561.0, 1050.0, 594.0, 184.0, 598.0], "score": 0.99, "text": "penalty nor to torture but rather to a sentence of incarceration. Such"}, {"category_id": 15, "poly": [182.0, 600.0, 1050.0, 598.0, 1050.0, 630.0, 182.0, 632.0], "score": 0.98, "text": "an expiation, therefore, is not an evil, but rather a chance, which"}, {"category_id": 15, "poly": [186.0, 636.0, 1052.0, 636.0, 1052.0, 667.0, 186.0, 667.0], "score": 0.99, "text": "Fichte constructs in such a way that the criminal can be reformed"}, {"category_id": 15, "poly": [184.0, 669.0, 1050.0, 673.0, 1050.0, 705.0, 184.0, 701.0], "score": 0.98, "text": "and then finally reintegrated into the commonwealth. Hegel, in turn,"}, {"category_id": 15, "poly": [188.0, 711.0, 1048.0, 711.0, 1048.0, 737.0, 188.0, 737.0], "score": 0.99, "text": "chooses as his guideline not the treatment of the criminal, but the"}, {"category_id": 15, "poly": [186.0, 744.0, 1050.0, 744.0, 1050.0, 776.0, 186.0, 776.0], "score": 0.99, "text": "reestablishment of right as the negation of the negation - in which"}, {"category_id": 15, "poly": [186.0, 780.0, 1050.0, 780.0, 1050.0, 812.0, 186.0, 812.0], "score": 0.98, "text": "crime is the negation and the punishment is the negation of the"}, {"category_id": 15, "poly": [182.0, 814.0, 1054.0, 812.0, 1054.0, 849.0, 182.0, 851.0], "score": 0.99, "text": "negation. In so doing, the “negation\" of the negation is in no case, as"}, {"category_id": 15, "poly": [180.0, 849.0, 1052.0, 847.0, 1052.0, 885.0, 180.0, 887.0], "score": 0.99, "text": "it is often mistakenly assumed to be, of the same sort as the simple"}, {"category_id": 15, "poly": [188.0, 885.0, 1050.0, 887.0, 1050.0, 921.0, 187.0, 919.0], "score": 0.99, "text": "\"negation\" is, and thus it should not be taken to be a response to the"}, {"category_id": 15, "poly": [184.0, 922.0, 1050.0, 926.0, 1050.0, 958.0, 184.0, 954.0], "score": 0.98, "text": "evil of the crime by a second evil. Contrary to many interpretations,"}, {"category_id": 15, "poly": [186.0, 960.0, 1050.0, 960.0, 1050.0, 992.0, 186.0, 992.0], "score": 0.98, "text": "Hegel is not a retributivist, even though he - like Fichte as well -"}, {"category_id": 15, "poly": [184.0, 994.0, 1052.0, 996.0, 1052.0, 1029.0, 184.0, 1027.0], "score": 1.0, "text": "assigns to retributivism a (merely) instrumental, psychological role in"}, {"category_id": 15, "poly": [186.0, 1033.0, 1048.0, 1033.0, 1048.0, 1065.0, 186.0, 1065.0], "score": 1.0, "text": "conveying to the convicted criminal the significance of the punishment."}, {"category_id": 15, "poly": [531.0, 96.0, 705.0, 96.0, 705.0, 122.0, 531.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [218.0, 1067.0, 1052.0, 1067.0, 1052.0, 1099.0, 218.0, 1099.0], "score": 0.98, "text": "In Part 111, it finally turned out that retributivism could often demand"}, {"category_id": 15, "poly": [184.0, 1101.0, 1050.0, 1099.0, 1050.0, 1136.0, 184.0, 1138.0], "score": 0.99, "text": "punishment without any respect for humanity in the person of the criminal."}, {"category_id": 15, "poly": [186.0, 1138.0, 1048.0, 1138.0, 1048.0, 1170.0, 186.0, 1170.0], "score": 0.99, "text": "Nietzsche offers a plausible account of the genesis of retaliative"}, {"category_id": 15, "poly": [182.0, 1174.0, 1054.0, 1170.0, 1054.0, 1207.0, 182.0, 1211.0], "score": 0.98, "text": "punishment (see Chapter 6), in which the motive of the institution"}, {"category_id": 15, "poly": [182.0, 1207.0, 1052.0, 1209.0, 1052.0, 1247.0, 182.0, 1245.0], "score": 1.0, "text": "of such punishments stems not from the respect for human dignity,"}, {"category_id": 15, "poly": [182.0, 1245.0, 1050.0, 1247.0, 1050.0, 1281.0, 182.0, 1279.0], "score": 0.99, "text": "but rather from a universal human cruelty toward the criminal,"}, {"category_id": 15, "poly": [184.0, 1282.0, 1052.0, 1282.0, 1052.0, 1320.0, 184.0, 1320.0], "score": 0.99, "text": "which hinders rather than awakens the emergence of bad conscience"}, {"category_id": 15, "poly": [184.0, 1320.0, 1050.0, 1320.0, 1050.0, 1352.0, 184.0, 1352.0], "score": 0.99, "text": "and remorse in the criminal. When the state establishes a monopoly"}, {"category_id": 15, "poly": [184.0, 1356.0, 1052.0, 1354.0, 1052.0, 1386.0, 184.0, 1388.0], "score": 1.0, "text": "on violence and guarantees public security, the people are deprived"}, {"category_id": 15, "poly": [184.0, 1389.0, 1050.0, 1393.0, 1050.0, 1425.0, 184.0, 1421.0], "score": 1.0, "text": "of the exercise of this cruelty and punishments become comparatively"}, {"category_id": 15, "poly": [188.0, 1431.0, 1046.0, 1431.0, 1046.0, 1457.0, 188.0, 1457.0], "score": 0.98, "text": "mild, such as those we have known since the end of the eighteenth"}, {"category_id": 15, "poly": [186.0, 1464.0, 1048.0, 1464.0, 1048.0, 1496.0, 186.0, 1496.0], "score": 0.99, "text": "century. In order to keep the promise I made in the introduction"}, {"category_id": 15, "poly": [184.0, 1500.0, 1050.0, 1500.0, 1050.0, 1532.0, 184.0, 1532.0], "score": 0.99, "text": "to draw conclusions resulting from the rehabilitative alternative to"}, {"category_id": 15, "poly": [186.0, 1539.0, 1048.0, 1539.0, 1048.0, 1566.0, 186.0, 1566.0], "score": 0.98, "text": "retributivism, I finally argue (see Chapter 7) for a treatment of even"}, {"category_id": 15, "poly": [186.0, 88.0, 238.0, 88.0, 238.0, 126.0, 186.0, 126.0], "score": 1.0, "text": "188"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[39.50499725341797, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [41.84830856323242, 0.875, 0.875, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/llm-raw-the-eye-o.O-Kularatna%20-%20Electronic%20Circuit%20Design%20-%20From%20Concept%20to%20Implementation%20%28CRC%2C%202008%29.pdf_418.jpg"], [43.40003967285156, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9781139088398.007.pdf_29.jpg"], [45.80609893798828, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/s0308-521x%2898%2900056-0.pdf_3.jpg"], [46.35636901855469, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/cbo9780511760433.011.pdf_6.jpg"], [47.62663269042969, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/9b04f5410f803df1f5f93aa3778059efe90db326c19f5d7ba85414c96739b3bd.pdf_5.jpg"], [48.572166442871094, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316090930.077.pdf_10.jpg"], [49.02326202392578, 0.8585572842998586, 0.8571428571428571, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9780511551246.006.pdf_7.jpg"], [51.011962890625, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16659265.pdf_116.jpg"], [51.50635528564453, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16579787.pdf_143.jpg"]]}, "page_info": {"page_no": 1, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 1, "poly": [175.82254028320312, 164.97610473632812, 1042.52001953125, 164.97610473632812, 1042.52001953125, 486.8489685058594, 175.82254028320312, 486.8489685058594], "score": 0.9999958872795105}, {"category_id": 1, "poly": [175.0261688232422, 488.64630126953125, 1042.31494140625, 488.64630126953125, 1042.31494140625, 630.5396728515625, 175.0261688232422, 630.5396728515625], "score": 0.9999914169311523}, {"category_id": 1, "poly": [176.41859436035156, 634.0240478515625, 1042.75146484375, 634.0240478515625, 1042.75146484375, 1133.243896484375, 176.41859436035156, 1133.243896484375], "score": 0.9999879598617554}, {"category_id": 1, "poly": [176.31527709960938, 1137.04638671875, 1043.9735107421875, 1137.04638671875, 1043.9735107421875, 1422.5234375, 176.31527709960938, 1422.5234375], "score": 0.9999839067459106}, {"category_id": 1, "poly": [175.19686889648438, 1425.6923828125, 1043.77490234375, 1425.6923828125, 1043.77490234375, 1567.9383544921875, 175.19686889648438, 1567.9383544921875], "score": 0.9999608993530273}, {"category_id": 2, "poly": [46.6263427734375, 1717.93212890625, 1142.532958984375, 1717.93212890625, 1142.532958984375, 1763.221435546875, 46.6263427734375, 1763.221435546875], "score": 0.9998235106468201}, {"category_id": 2, "poly": [522.332275390625, 97.51979064941406, 698.2937622070312, 97.51979064941406, 698.2937622070312, 115.27900695800781, 522.332275390625, 115.27900695800781], "score": 0.9945440292358398}, {"category_id": 2, "poly": [998.44140625, 93.58056640625, 1041.410400390625, 93.58056640625, 1041.410400390625, 119.96952819824219, 998.44140625, 119.96952819824219], "score": 0.37564584612846375}, {"category_id": 2, "poly": [522.0667724609375, 90.3890380859375, 1037.992431640625, 90.3890380859375, 1037.992431640625, 121.25892639160156, 522.0667724609375, 121.25892639160156], "score": 0.25465917587280273}, {"category_id": 15, "poly": [178.0, 171.0, 1041.0, 171.0, 1041.0, 197.0, 178.0, 197.0], "score": 0.97, "text": "the most serious and most inhumane criminals - in other words"}, {"category_id": 15, "poly": [174.0, 202.0, 1044.0, 202.0, 1044.0, 240.0, 174.0, 240.0], "score": 1.0, "text": "those who have perpetrated crimes against humanity - that is no"}, {"category_id": 15, "poly": [174.0, 240.0, 1042.0, 240.0, 1042.0, 272.0, 174.0, 272.0], "score": 0.98, "text": "more severe than how other criminals are treated. Even these"}, {"category_id": 15, "poly": [174.0, 277.0, 1041.0, 277.0, 1041.0, 309.0, 174.0, 309.0], "score": 0.99, "text": "cases ought to be subject to the statute of limitations: the degree"}, {"category_id": 15, "poly": [172.0, 311.0, 1046.0, 311.0, 1046.0, 349.0, 172.0, 349.0], "score": 0.99, "text": "of punishment ought not to be higher - which is to say, proportional"}, {"category_id": 15, "poly": [174.0, 349.0, 1042.0, 349.0, 1042.0, 381.0, 174.0, 381.0], "score": 0.99, "text": "to the crime - but ought, instead, to tend to become less; the"}, {"category_id": 15, "poly": [176.0, 384.0, 1041.0, 384.0, 1041.0, 416.0, 176.0, 416.0], "score": 0.99, "text": "idea ought to be abandoned that the monstrousness of such crimes"}, {"category_id": 15, "poly": [174.0, 422.0, 1044.0, 422.0, 1044.0, 454.0, 174.0, 454.0], "score": 0.98, "text": "justifies the punishment - and indeed, the most severe possible"}, {"category_id": 15, "poly": [174.0, 458.0, 321.0, 458.0, 321.0, 489.0, 174.0, 489.0], "score": 1.0, "text": "punishment."}, {"category_id": 15, "poly": [208.0, 489.0, 1043.0, 491.0, 1042.0, 523.0, 208.0, 521.0], "score": 0.97, "text": "Further conclusions can be drawn from my critique of retributivism"}, {"category_id": 15, "poly": [176.0, 531.0, 1041.0, 531.0, 1041.0, 562.0, 176.0, 562.0], "score": 0.99, "text": "as well as from my alternative proposal. At this point, I would like"}, {"category_id": 15, "poly": [174.0, 559.0, 1044.0, 563.0, 1044.0, 600.0, 174.0, 596.0], "score": 0.99, "text": "briefly to outline how the penal system should be reformed according"}, {"category_id": 15, "poly": [176.0, 602.0, 510.0, 602.0, 510.0, 634.0, 176.0, 634.0], "score": 0.99, "text": "to my alternative proposal."}, {"category_id": 15, "poly": [210.0, 636.0, 1041.0, 636.0, 1041.0, 668.0, 210.0, 668.0], "score": 1.0, "text": "1. There ought to be no fixed duration within the judgment for"}, {"category_id": 15, "poly": [178.0, 671.0, 1041.0, 671.0, 1041.0, 703.0, 178.0, 703.0], "score": 0.99, "text": "incarceration. Instead of designating a certain duration, the degree of"}, {"category_id": 15, "poly": [178.0, 709.0, 1041.0, 709.0, 1041.0, 741.0, 178.0, 741.0], "score": 0.98, "text": "punishment ought to be determined by a goal. The criminal ought to"}, {"category_id": 15, "poly": [176.0, 744.0, 1042.0, 744.0, 1042.0, 776.0, 176.0, 776.0], "score": 0.99, "text": "expiate the punishment for as long as he or she still poses more of a"}, {"category_id": 15, "poly": [174.0, 780.0, 1042.0, 778.0, 1043.0, 810.0, 174.0, 812.0], "score": 0.99, "text": "danger to the commonwealth than the other citizens do. In order for"}, {"category_id": 15, "poly": [173.0, 810.0, 1044.0, 814.0, 1044.0, 851.0, 172.0, 847.0], "score": 1.0, "text": "that to occur, the criterion employed to suspend punishment may"}, {"category_id": 15, "poly": [178.0, 851.0, 1041.0, 851.0, 1041.0, 883.0, 178.0, 883.0], "score": 0.99, "text": "not be the absolute safety of society, because every “normal\" citizen"}, {"category_id": 15, "poly": [178.0, 891.0, 1039.0, 891.0, 1039.0, 917.0, 178.0, 917.0], "score": 0.98, "text": "who consistently remains true to the law could, at any time, commit a"}, {"category_id": 15, "poly": [174.0, 922.0, 1041.0, 922.0, 1041.0, 960.0, 174.0, 960.0], "score": 1.0, "text": "crime. Even now, punishments are reduced by sentences of parole,"}, {"category_id": 15, "poly": [176.0, 958.0, 1041.0, 958.0, 1041.0, 990.0, 176.0, 990.0], "score": 0.99, "text": "and in the case of good behavior prisoners are released before their"}, {"category_id": 15, "poly": [174.0, 996.0, 1044.0, 996.0, 1044.0, 1028.0, 174.0, 1028.0], "score": 0.99, "text": "sentences are up. Others are allowed to work outside the prison"}, {"category_id": 15, "poly": [176.0, 1029.0, 1043.0, 1033.0, 1042.0, 1065.0, 176.0, 1061.0], "score": 0.99, "text": "during the day. Such leeway, already customary nowadays, ought"}, {"category_id": 15, "poly": [173.0, 1063.0, 1046.0, 1065.0, 1046.0, 1103.0, 172.0, 1101.0], "score": 0.98, "text": "to be expanded to the general abolition of every designation of"}, {"category_id": 15, "poly": [175.0, 1102.0, 293.0, 1107.0, 292.0, 1135.0, 174.0, 1130.0], "score": 1.0, "text": "duration."}, {"category_id": 15, "poly": [208.0, 1140.0, 1044.0, 1140.0, 1044.0, 1172.0, 208.0, 1172.0], "score": 0.99, "text": "2. The principle of proportionality between crime and punishment"}, {"category_id": 15, "poly": [174.0, 1174.0, 1043.0, 1178.0, 1042.0, 1209.0, 174.0, 1206.0], "score": 0.99, "text": "has to be rejected. Admittedly, it is to be expected that, on average,"}, {"category_id": 15, "poly": [176.0, 1211.0, 1042.0, 1211.0, 1042.0, 1243.0, 176.0, 1243.0], "score": 0.99, "text": "thieves can be rehabilitated in a shorter period of time than multiple"}, {"category_id": 15, "poly": [178.0, 1251.0, 1039.0, 1251.0, 1039.0, 1277.0, 178.0, 1277.0], "score": 0.99, "text": "murderers who have tortured their victims. One would, therefore,"}, {"category_id": 15, "poly": [176.0, 1284.0, 1046.0, 1284.0, 1046.0, 1316.0, 176.0, 1316.0], "score": 0.99, "text": "probably observe a clear, statistical correlation between the gravity of"}, {"category_id": 15, "poly": [176.0, 1318.0, 1042.0, 1318.0, 1042.0, 1350.0, 176.0, 1350.0], "score": 0.99, "text": "the deed and the length of the process of rehabilitation. But this link"}, {"category_id": 15, "poly": [174.0, 1356.0, 1042.0, 1356.0, 1042.0, 1388.0, 174.0, 1388.0], "score": 1.0, "text": "should not be a matter of principle, and there would certainly also be"}, {"category_id": 15, "poly": [176.0, 1393.0, 319.0, 1393.0, 319.0, 1425.0, 176.0, 1425.0], "score": 1.0, "text": "exceptions."}, {"category_id": 15, "poly": [210.0, 1427.0, 1035.0, 1427.0, 1035.0, 1459.0, 210.0, 1459.0], "score": 0.98, "text": "3. A reform of penal law ought not to involve punishments becom"}, {"category_id": 15, "poly": [176.0, 1462.0, 1041.0, 1462.0, 1041.0, 1500.0, 176.0, 1500.0], "score": 0.99, "text": "ing generally severer or generally milder. In effect, some punishments"}, {"category_id": 15, "poly": [172.0, 1498.0, 1042.0, 1498.0, 1042.0, 1536.0, 172.0, 1536.0], "score": 0.99, "text": "would become milder, others severer, all depending on the behavior"}, {"category_id": 15, "poly": [173.0, 1534.0, 489.0, 1536.0, 489.0, 1568.0, 172.0, 1566.0], "score": 0.99, "text": "of the individual convict."}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [521.0, 96.0, 698.0, 96.0, 698.0, 122.0, 521.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [997.0, 85.0, 1050.0, 93.0, 1043.0, 135.0, 990.0, 126.0], "score": 1.0, "text": "189"}, {"category_id": 15, "poly": [519.0, 96.0, 698.0, 96.0, 698.0, 120.0, 519.0, 120.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [994.0, 90.0, 1042.0, 90.0, 1042.0, 128.0, 994.0, 128.0], "score": 0.94, "text": "18c"}], "judge": {"final_judge": false, "search_judge": true, "score_judge": false, "cannot_find": false, "search_list": [[36.69752502441406, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316090930.077.pdf_10.jpg"], [40.50537109375, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [41.02143096923828, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9781139088398.007.pdf_29.jpg"], [42.51865005493164, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/9b04f5410f803df1f5f93aa3778059efe90db326c19f5d7ba85414c96739b3bd.pdf_5.jpg"], [42.62116241455078, 0.8585572842998586, 0.8571428571428571, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9780511551246.006.pdf_7.jpg"], [43.375648498535156, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-17538478.pdf_170.jpg"], [44.16658020019531, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/s0308-521x%2898%2900056-0.pdf_3.jpg"], [48.920310974121094, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16659265.pdf_116.jpg"], [53.29656982421875, 0.9763765850269237, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/56cc29cee9e859a5314952b8184da882e2482d7bc17234b4ca333bfffe5f74f3.pdf_25.jpg"], [55.937252044677734, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/cd.56.pdf_7.jpg"]]}, "page_info": {"page_no": 2, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 1, "poly": [185.3686065673828, 165.37498474121094, 1052.01220703125, 165.37498474121094, 1052.01220703125, 414.7894287109375, 185.3686065673828, 414.7894287109375], "score": 0.9999960660934448}, {"category_id": 1, "poly": [185.46505737304688, 416.8759460449219, 1052.6064453125, 416.8759460449219, 1052.6064453125, 1062.604736328125, 185.46505737304688, 1062.604736328125], "score": 0.9999892115592957}, {"category_id": 1, "poly": [213.8837127685547, 1301.325927734375, 1022.60888671875, 1301.325927734375, 1022.60888671875, 1606.255126953125, 213.8837127685547, 1606.255126953125], "score": 0.9999889135360718}, {"category_id": 1, "poly": [184.8633270263672, 1065.1739501953125, 1052.293701171875, 1065.1739501953125, 1052.293701171875, 1281.30322265625, 184.8633270263672, 1281.30322265625], "score": 0.9999887943267822}, {"category_id": 2, "poly": [529.9339599609375, 96.61219024658203, 706.3160400390625, 96.61219024658203, 706.3160400390625, 116.91444396972656, 529.9339599609375, 116.91444396972656], "score": 0.9997703433036804}, {"category_id": 2, "poly": [44.089691162109375, 1716.933837890625, 1143.9229736328125, 1716.933837890625, 1143.9229736328125, 1764.7646484375, 44.089691162109375, 1764.7646484375], "score": 0.9995508193969727}, {"category_id": 2, "poly": [188.29161071777344, 96.93939971923828, 233.20518493652344, 96.93939971923828, 233.20518493652344, 119.71417236328125, 188.29161071777344, 119.71417236328125], "score": 0.9983097910881042}, {"category_id": 15, "poly": [214.0, 167.0, 1052.0, 165.0, 1052.0, 202.0, 214.0, 204.0], "score": 0.99, "text": "4. Psychological assessments of the convicts should occur regularly"}, {"category_id": 15, "poly": [186.0, 204.0, 1052.0, 204.0, 1052.0, 236.0, 186.0, 236.0], "score": 0.98, "text": "and they should be thorough. A process such as the following is"}, {"category_id": 15, "poly": [182.0, 238.0, 1056.0, 236.0, 1056.0, 274.0, 182.0, 276.0], "score": 0.99, "text": "conceivable. At the beginning of serving a sentence the criterion for"}, {"category_id": 15, "poly": [184.0, 278.0, 1054.0, 278.0, 1054.0, 309.0, 184.0, 309.0], "score": 1.0, "text": "a discharge would be especially strong. The criterion would weaken as"}, {"category_id": 15, "poly": [186.0, 313.0, 1056.0, 313.0, 1056.0, 345.0, 186.0, 345.0], "score": 0.98, "text": "time passes and would finally reverse so that gradually the burden of"}, {"category_id": 15, "poly": [184.0, 347.0, 1054.0, 343.0, 1054.0, 381.0, 184.0, 384.0], "score": 0.99, "text": "proof might stand on the side of the commonwealth to prove that the"}, {"category_id": 15, "poly": [186.0, 382.0, 671.0, 386.0, 671.0, 418.0, 186.0, 414.0], "score": 1.0, "text": "convict must, in fact, remain in prison."}, {"category_id": 15, "poly": [212.0, 418.0, 1052.0, 416.0, 1052.0, 454.0, 212.0, 456.0], "score": 1.0, "text": " 5. Retributivism likes to contend that only retaliation is just for the"}, {"category_id": 15, "poly": [186.0, 458.0, 1050.0, 458.0, 1050.0, 489.0, 186.0, 489.0], "score": 0.98, "text": "victim and every other punishment would be unjust, for the criminal"}, {"category_id": 15, "poly": [186.0, 491.0, 1050.0, 491.0, 1050.0, 523.0, 186.0, 523.0], "score": 0.99, "text": "as well as for the victim. In the current penal system, this argument"}, {"category_id": 15, "poly": [184.0, 531.0, 1052.0, 527.0, 1052.0, 559.0, 184.0, 563.0], "score": 0.99, "text": "rather appears to be an empty consolation for the fate of the victim"}, {"category_id": 15, "poly": [186.0, 564.0, 1050.0, 564.0, 1050.0, 596.0, 186.0, 596.0], "score": 0.98, "text": "that turns out to be scandalous. Anyone who suffers grave bodily"}, {"category_id": 15, "poly": [186.0, 600.0, 1050.0, 600.0, 1050.0, 632.0, 186.0, 632.0], "score": 0.99, "text": "injury is better off having it occur in the course of an automobile"}, {"category_id": 15, "poly": [186.0, 638.0, 1050.0, 638.0, 1050.0, 664.0, 186.0, 664.0], "score": 0.97, "text": "accident for which he or she is not liable, rather than by a serial"}, {"category_id": 15, "poly": [184.0, 669.0, 1052.0, 669.0, 1052.0, 707.0, 184.0, 707.0], "score": 0.99, "text": "killer, because the damages awarded to victims of criminal acts are"}, {"category_id": 15, "poly": [188.0, 709.0, 1050.0, 709.0, 1050.0, 741.0, 188.0, 741.0], "score": 0.99, "text": "especially low. One should make it clear to the public what a criminal"}, {"category_id": 15, "poly": [184.0, 742.0, 1052.0, 742.0, 1052.0, 780.0, 184.0, 780.0], "score": 0.99, "text": "trial really means. Whereas potential compensation for damages,"}, {"category_id": 15, "poly": [184.0, 778.0, 1052.0, 778.0, 1052.0, 816.0, 184.0, 816.0], "score": 1.0, "text": "including pain and suffering, should satisfy the claims of the victims,"}, {"category_id": 15, "poly": [184.0, 814.0, 1054.0, 810.0, 1054.0, 847.0, 184.0, 851.0], "score": 0.99, "text": "punishment applies only to the interests of the commonwealth as"}, {"category_id": 15, "poly": [180.0, 847.0, 1056.0, 849.0, 1056.0, 887.0, 180.0, 885.0], "score": 0.99, "text": "a whole regarding public security. Therefore, a twofold process is"}, {"category_id": 15, "poly": [188.0, 887.0, 1050.0, 887.0, 1050.0, 919.0, 188.0, 919.0], "score": 0.99, "text": "conducted, even if both concerns are to be dealt with in the same"}, {"category_id": 15, "poly": [188.0, 924.0, 1050.0, 924.0, 1050.0, 956.0, 188.0, 956.0], "score": 0.98, "text": "trial. Instead of exclusively and systematically calling for harsher"}, {"category_id": 15, "poly": [184.0, 958.0, 1054.0, 958.0, 1054.0, 996.0, 184.0, 996.0], "score": 0.98, "text": "punishments as a way to win popular support, politicians should"}, {"category_id": 15, "poly": [184.0, 994.0, 1050.0, 996.0, 1050.0, 1029.0, 184.0, 1027.0], "score": 0.99, "text": "primarily think of a better and more respectful compensation for"}, {"category_id": 15, "poly": [184.0, 1029.0, 330.0, 1033.0, 329.0, 1063.0, 183.0, 1059.0], "score": 0.96, "text": "the victims."}, {"category_id": 15, "poly": [216.0, 1309.0, 1016.0, 1309.0, 1016.0, 1335.0, 216.0, 1335.0], "score": 0.98, "text": "I find no intuitive plausibility at all in first basing criminal liability"}, {"category_id": 15, "poly": [216.0, 1339.0, 1020.0, 1339.0, 1020.0, 1371.0, 216.0, 1371.0], "score": 0.99, "text": "on moral blameworthiness, but then basing moral blameworthiness in"}, {"category_id": 15, "poly": [214.0, 1373.0, 1020.0, 1371.0, 1020.0, 1402.0, 214.0, 1404.0], "score": 0.99, "text": "turn upon the actual harm or absence of harm caused. The ancient"}, {"category_id": 15, "poly": [216.0, 1404.0, 1018.0, 1406.0, 1018.0, 1438.0, 216.0, 1436.0], "score": 0.99, "text": "view, that liability should be based not upon blameworthiness at all but"}, {"category_id": 15, "poly": [216.0, 1440.0, 1018.0, 1440.0, 1018.0, 1472.0, 216.0, 1472.0], "score": 1.0, "text": "instead directly upon the amount of harm caused, seems to me more"}, {"category_id": 15, "poly": [218.0, 1472.0, 1020.0, 1472.0, 1020.0, 1504.0, 218.0, 1504.0], "score": 0.99, "text": "honest, though no more plausible. It seems almost as if the retentionist"}, {"category_id": 15, "poly": [216.0, 1506.0, 1018.0, 1506.0, 1018.0, 1538.0, 216.0, 1538.0], "score": 1.0, "text": "is so fixated on actual harm that he keeps searching for the question"}, {"category_id": 15, "poly": [216.0, 1539.0, 1018.0, 1539.0, 1018.0, 1571.0, 216.0, 1571.0], "score": 0.99, "text": "to which it is the right answer. Not the question: “What ought to be"}, {"category_id": 15, "poly": [218.0, 1573.0, 1018.0, 1573.0, 1018.0, 1605.0, 218.0, 1605.0], "score": 0.99, "text": "the basis of criminal liability?” Moral blameworthiness is a plausible"}, {"category_id": 15, "poly": [214.0, 1063.0, 1052.0, 1065.0, 1052.0, 1103.0, 214.0, 1101.0], "score": 1.0, "text": "6. An attempt ought always to be punished in the same degree as"}, {"category_id": 15, "poly": [186.0, 1104.0, 1052.0, 1104.0, 1052.0, 1136.0, 186.0, 1136.0], "score": 0.99, "text": "the crime itself. This is not the case nowadays. Instead, attempts at"}, {"category_id": 15, "poly": [186.0, 1140.0, 1052.0, 1140.0, 1052.0, 1172.0, 186.0, 1172.0], "score": 0.98, "text": "only some of the graver crimes are punishable, while carrying a lesser"}, {"category_id": 15, "poly": [186.0, 1176.0, 1054.0, 1176.0, 1054.0, 1208.0, 186.0, 1208.0], "score": 0.99, "text": "degree of punishment. Feinberg convincingly traced back this situ-"}, {"category_id": 15, "poly": [184.0, 1211.0, 1052.0, 1209.0, 1052.0, 1241.0, 184.0, 1243.0], "score": 0.99, "text": "ation to the conjunction that retributivism wants to create between the"}, {"category_id": 15, "poly": [182.0, 1247.0, 849.0, 1241.0, 849.0, 1279.0, 182.0, 1284.0], "score": 0.99, "text": "gravity of a deed and the wickedness of the criminal:"}, {"category_id": 15, "poly": [531.0, 96.0, 705.0, 96.0, 705.0, 122.0, 531.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [186.0, 94.0, 238.0, 94.0, 238.0, 133.0, 186.0, 133.0], "score": 1.0, "text": "190"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[41.68920135498047, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9781139088398.007.pdf_29.jpg"], [43.99999237060547, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16659265.pdf_116.jpg"], [47.899986267089844, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [53.44574737548828, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-17538478.pdf_170.jpg"], [53.91181182861328, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/3055e0d8130c7a197bc6e020afe9bea1edef31f33b720cc326dd404d8e3f82d5.pdf_5.jpg"], [58.740882873535156, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16579787.pdf_143.jpg"], [59.2061767578125, 0.9889988998899888, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_needrop_coco/val/GTM_036_-_ISBN978-3-662-41914-4_-_John_L._Kelley,_Isaac_Namioka_-_Linear_Topological_Spaces.pdf_103.jpg"], [59.52695083618164, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316090930.077.pdf_10.jpg"], [60.09637451171875, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/s0308-521x%2898%2900056-0.pdf_3.jpg"], [60.416297912597656, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-17906973.pdf_256.jpg"]]}, "page_info": {"page_no": 3, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 1, "poly": [208.5929718017578, 165.96209716796875, 1010.32470703125, 165.96209716796875, 1010.32470703125, 329.7188415527344, 208.5929718017578, 329.7188415527344], "score": 0.9999969005584717}, {"category_id": 2, "poly": [174.37802124023438, 1464.2734375, 1045.14501953125, 1464.2734375, 1045.14501953125, 1605.363037109375, 174.37802124023438, 1605.363037109375], "score": 0.9999966621398926}, {"category_id": 1, "poly": [177.10716247558594, 609.9269409179688, 1042.040771484375, 609.9269409179688, 1042.040771484375, 858.5154418945312, 177.10716247558594, 858.5154418945312], "score": 0.9999957084655762}, {"category_id": 1, "poly": [177.40283203125, 861.0873413085938, 1045.0654296875, 861.0873413085938, 1045.0654296875, 1398.7373046875, 177.40283203125, 1398.7373046875], "score": 0.9999825358390808}, {"category_id": 1, "poly": [177.2109375, 502.820068359375, 1042.8372802734375, 502.820068359375, 1042.8372802734375, 604.543212890625, 177.2109375, 604.543212890625], "score": 0.999982476234436}, {"category_id": 1, "poly": [175.66241455078125, 356.98065185546875, 1042.0137939453125, 356.98065185546875, 1042.0137939453125, 498.08172607421875, 175.66241455078125, 498.08172607421875], "score": 0.999974250793457}, {"category_id": 2, "poly": [522.0990600585938, 96.80659484863281, 698.2033081054688, 96.80659484863281, 698.2033081054688, 116.644287109375, 522.0990600585938, 116.644287109375], "score": 0.9998497366905212}, {"category_id": 2, "poly": [46.28608703613281, 1718.5791015625, 1142.74658203125, 1718.5791015625, 1142.74658203125, 1762.618408203125, 46.28608703613281, 1762.618408203125], "score": 0.999698281288147}, {"category_id": 2, "poly": [998.3409423828125, 96.98823547363281, 1038.1510009765625, 96.98823547363281, 1038.1510009765625, 120.72357177734375, 998.3409423828125, 120.72357177734375], "score": 0.9855232238769531}, {"category_id": 15, "poly": [210.0, 171.0, 1009.0, 171.0, 1009.0, 197.0, 210.0, 197.0], "score": 0.98, "text": "answer to that question. Not the question: “\"What is the basis of moral"}, {"category_id": 15, "poly": [206.0, 199.0, 1009.0, 201.0, 1009.0, 233.0, 206.0, 231.0], "score": 0.97, "text": "blameworthiness?” The traditional multiplicity of culpability conditions,"}, {"category_id": 15, "poly": [208.0, 234.0, 1009.0, 234.0, 1009.0, 272.0, 208.0, 272.0], "score": 1.0, "text": "motives, mitigations, aggravations, and so on, answers that question. How"}, {"category_id": 15, "poly": [208.0, 268.0, 1009.0, 268.0, 1009.0, 300.0, 208.0, 300.0], "score": 0.98, "text": "about the question: “What is a necessary condition for tort liability?\" Now,"}, {"category_id": 15, "poly": [210.0, 304.0, 429.0, 304.0, 429.0, 330.0, 210.0, 330.0], "score": 0.97, "text": "that is more like it.'"}, {"category_id": 15, "poly": [172.0, 1463.0, 1046.0, 1461.0, 1046.0, 1492.0, 173.0, 1494.0], "score": 0.98, "text": "1. Joel Feinberg, Problems at the roots of law: essays in legal and political theory (Oxford: Oxford"}, {"category_id": 15, "poly": [203.0, 1489.0, 512.0, 1491.0, 512.0, 1523.0, 202.0, 1521.0], "score": 1.0, "text": "University Press, 2003), p. 100."}, {"category_id": 15, "poly": [171.0, 1517.0, 778.0, 1521.0, 778.0, 1553.0, 171.0, 1549.0], "score": 0.95, "text": "2. Cf. ZeF Ak vIl1:366. Practical philosophy, ed. Gregor, p. 355."}, {"category_id": 15, "poly": [171.0, 1547.0, 1046.0, 1543.0, 1046.0, 1575.0, 171.0, 1579.0], "score": 0.98, "text": " 3. Cf. Book 2, Chapter 1, I1.2 of Hugo Grotius, The rights of war and peace, ed. Richard Tuck"}, {"category_id": 15, "poly": [204.0, 1575.0, 788.0, 1575.0, 788.0, 1607.0, 204.0, 1607.0], "score": 0.96, "text": "(3 vols., Indianapolis: Liberty Fund, Inc., 2005), pp. 395-6."}, {"category_id": 15, "poly": [210.0, 611.0, 1044.0, 611.0, 1044.0, 643.0, 210.0, 643.0], "score": 0.99, "text": "First, penal law cannot be about the (purely moral) wickedness of"}, {"category_id": 15, "poly": [176.0, 645.0, 1041.0, 645.0, 1041.0, 677.0, 176.0, 677.0], "score": 1.0, "text": "human beings, but instead only about the observance of the laws or"}, {"category_id": 15, "poly": [174.0, 681.0, 1042.0, 679.0, 1043.0, 716.0, 174.0, 718.0], "score": 0.97, "text": "about the infringement of right. Even if we were all “devils,\"? as Kant"}, {"category_id": 15, "poly": [174.0, 720.0, 1044.0, 720.0, 1044.0, 752.0, 174.0, 752.0], "score": 0.99, "text": "notes in Toward perpetual peace, it would still not mean that we all ought"}, {"category_id": 15, "poly": [174.0, 754.0, 1044.0, 756.0, 1044.0, 788.0, 174.0, 786.0], "score": 0.99, "text": "to be punished with deterrence in mind, before having committed any"}, {"category_id": 15, "poly": [174.0, 786.0, 1044.0, 789.0, 1044.0, 827.0, 174.0, 823.0], "score": 0.99, "text": "misdeed. Only those who cannot be hindered from committing"}, {"category_id": 15, "poly": [174.0, 827.0, 889.0, 825.0, 889.0, 857.0, 174.0, 859.0], "score": 1.0, "text": "crimes by moral or external reasons should be punished."}, {"category_id": 15, "poly": [212.0, 866.0, 1037.0, 866.0, 1037.0, 892.0, 212.0, 892.0], "score": 0.98, "text": "Secondly, it is not retributivism, but the justification of punishment"}, {"category_id": 15, "poly": [174.0, 900.0, 1042.0, 900.0, 1042.0, 932.0, 174.0, 932.0], "score": 0.98, "text": "as a rehabilitation that is compatible with that path via which Kant"}, {"category_id": 15, "poly": [174.0, 936.0, 1041.0, 936.0, 1041.0, 968.0, 174.0, 968.0], "score": 0.98, "text": "wants to reach global “perpetual peace,”\" the condition by which the"}, {"category_id": 15, "poly": [176.0, 971.0, 1041.0, 971.0, 1041.0, 1003.0, 176.0, 1003.0], "score": 1.0, "text": "state of law would reign over the entire world. The modern tradition"}, {"category_id": 15, "poly": [176.0, 1009.0, 1041.0, 1009.0, 1041.0, 1041.0, 176.0, 1041.0], "score": 0.99, "text": "of natural right that Kant critically draws upon recognizes three just"}, {"category_id": 15, "poly": [174.0, 1042.0, 1042.0, 1042.0, 1042.0, 1080.0, 174.0, 1080.0], "score": 0.98, "text": "intentions for waging war: legitimate self-defense, recovery of one's"}, {"category_id": 15, "poly": [176.0, 1080.0, 1041.0, 1080.0, 1041.0, 1112.0, 176.0, 1112.0], "score": 1.0, "text": "own goods stolen by the enemy and punishment of an unjust enemy.3"}, {"category_id": 15, "poly": [176.0, 1114.0, 1042.0, 1114.0, 1042.0, 1146.0, 176.0, 1146.0], "score": 0.98, "text": "This “punishment\" of the vanquished enemy is intended to mean"}, {"category_id": 15, "poly": [173.0, 1147.0, 1043.0, 1149.0, 1042.0, 1187.0, 172.0, 1185.0], "score": 0.99, "text": "deterrence by the theorists of just war - for instance, Hugo Grotius,"}, {"category_id": 15, "poly": [176.0, 1187.0, 1042.0, 1187.0, 1042.0, 1219.0, 176.0, 1219.0], "score": 1.0, "text": "Samuel von Pufendorf, Emer de Vattel, etc. The aim is a peace that is"}, {"category_id": 15, "poly": [174.0, 1221.0, 1042.0, 1221.0, 1042.0, 1258.0, 174.0, 1258.0], "score": 0.99, "text": "just toward both parties. In this respect, punishment is allowed only in"}, {"category_id": 15, "poly": [174.0, 1260.0, 1042.0, 1260.0, 1042.0, 1292.0, 174.0, 1292.0], "score": 0.99, "text": "so far as to bring about security for the victor. This theory pursues the"}, {"category_id": 15, "poly": [174.0, 1296.0, 1042.0, 1292.0, 1043.0, 1324.0, 174.0, 1328.0], "score": 0.98, "text": "goal of ensuring that no future injustice is carried out that would"}, {"category_id": 15, "poly": [172.0, 1329.0, 1044.0, 1327.0, 1044.0, 1365.0, 173.0, 1367.0], "score": 0.99, "text": "present a just ground for a further war. If this deterrent intent turns"}, {"category_id": 15, "poly": [174.0, 1365.0, 1043.0, 1369.0, 1042.0, 1401.0, 174.0, 1397.0], "score": 0.99, "text": "out to be efficacious, there will then be a continuously decreasing"}, {"category_id": 15, "poly": [206.0, 499.0, 1043.0, 501.0, 1042.0, 540.0, 206.0, 538.0], "score": 0.98, "text": "Beyond these concrete suggestions for the reform of penal law, as"}, {"category_id": 15, "poly": [174.0, 538.0, 1044.0, 538.0, 1044.0, 576.0, 174.0, 576.0], "score": 1.0, "text": "the result of my inquiry I must address four points of more general"}, {"category_id": 15, "poly": [175.0, 575.0, 278.0, 580.0, 277.0, 608.0, 174.0, 603.0], "score": 1.0, "text": "interest."}, {"category_id": 15, "poly": [176.0, 362.0, 1041.0, 362.0, 1041.0, 388.0, 176.0, 388.0], "score": 0.99, "text": "In this,modern retributivism encounters the question of how the"}, {"category_id": 15, "poly": [176.0, 396.0, 1041.0, 396.0, 1041.0, 428.0, 176.0, 428.0], "score": 0.99, "text": "inner, moral guilt of a person should be punished in a legal system,"}, {"category_id": 15, "poly": [174.0, 431.0, 1042.0, 431.0, 1042.0, 463.0, 174.0, 463.0], "score": 0.99, "text": "if the system intends to be in charge only of freedom of action, and"}, {"category_id": 15, "poly": [173.0, 465.0, 373.0, 469.0, 373.0, 501.0, 172.0, 497.0], "score": 0.98, "text": "not of morality."}, {"category_id": 15, "poly": [521.0, 96.0, 698.0, 96.0, 698.0, 122.0, 521.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [994.0, 94.0, 1042.0, 94.0, 1042.0, 135.0, 994.0, 135.0], "score": 1.0, "text": "191"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[42.49473571777344, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/cbo9780511760433.011.pdf_6.jpg"], [45.52565383911133, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316090930.077.pdf_10.jpg"], [48.47557067871094, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [57.737430572509766, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9781139088398.007.pdf_29.jpg"], [63.47295379638672, 0.8585572842998586, 0.8571428571428571, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9780511551246.006.pdf_7.jpg"], [67.77276611328125, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/9b04f5410f803df1f5f93aa3778059efe90db326c19f5d7ba85414c96739b3bd.pdf_5.jpg"], [68.51680755615234, 0.7508250825082508, 0.8333333333333333, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-17460514.pdf_136.jpg"], [69.3848876953125, 0.841645464856083, 0.894736842105263, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-21539592.pdf_118.jpg"], [71.19905853271484, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/s0308-521x%2898%2900056-0.pdf_3.jpg"], [72.05766296386719, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16659265.pdf_116.jpg"]]}, "page_info": {"page_no": 4, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 1, "poly": [184.727783203125, 271.4600830078125, 1052.316650390625, 271.4600830078125, 1052.316650390625, 1029.473388671875, 184.727783203125, 1029.473388671875], "score": 0.9999801516532898}, {"category_id": 1, "poly": [186.22146606445312, 167.005859375, 1051.9786376953125, 167.005859375, 1051.9786376953125, 273.18701171875, 186.22146606445312, 273.18701171875], "score": 0.999976634979248}, {"category_id": 1, "poly": [184.1583251953125, 1198.971923828125, 1051.592529296875, 1198.971923828125, 1051.592529296875, 1379.938232421875, 184.1583251953125, 1379.938232421875], "score": 0.99996417760849}, {"category_id": 1, "poly": [218.41763305664062, 1050.196044921875, 1020.513916015625, 1050.196044921875, 1020.513916015625, 1179.5579833984375, 218.41763305664062, 1179.5579833984375], "score": 0.9999620318412781}, {"category_id": 2, "poly": [530.0177612304688, 96.61994934082031, 705.89306640625, 96.61994934082031, 705.89306640625, 116.91352844238281, 530.0177612304688, 116.91352844238281], "score": 0.9999382495880127}, {"category_id": 2, "poly": [188.27479553222656, 97.35215759277344, 232.25900268554688, 97.35215759277344, 232.25900268554688, 120.34793090820312, 188.27479553222656, 120.34793090820312], "score": 0.9998762011528015}, {"category_id": 2, "poly": [183.3179931640625, 1571.567626953125, 757.7682495117188, 1571.567626953125, 757.7682495117188, 1605.43115234375, 183.3179931640625, 1605.43115234375], "score": 0.9998016357421875}, {"category_id": 2, "poly": [44.46903991699219, 1717.2734375, 1143.86669921875, 1717.2734375, 1143.86669921875, 1763.428466796875, 44.46903991699219, 1763.428466796875], "score": 0.999756932258606}, {"category_id": 1, "poly": [214.36976623535156, 1399.7822265625, 1021.4419555664062, 1399.7822265625, 1021.4419555664062, 1532.3251953125, 214.36976623535156, 1532.3251953125], "score": 0.9992384910583496}, {"category_id": 15, "poly": [218.0, 277.0, 1050.0, 277.0, 1050.0, 309.0, 218.0, 309.0], "score": 1.0, "text": "Let us now imagine what consequences a retributivist conception"}, {"category_id": 15, "poly": [186.0, 311.0, 1048.0, 311.0, 1048.0, 343.0, 186.0, 343.0], "score": 0.99, "text": "of punishment might have for this theory. If the vanquished enemy"}, {"category_id": 15, "poly": [186.0, 349.0, 1050.0, 349.0, 1050.0, 381.0, 186.0, 381.0], "score": 1.0, "text": "should fail to understand that the victor's case is just, the retributive"}, {"category_id": 15, "poly": [186.0, 386.0, 1048.0, 386.0, 1048.0, 418.0, 186.0, 418.0], "score": 0.99, "text": "punishment by the victor will be perceived by the vanquished as"}, {"category_id": 15, "poly": [186.0, 422.0, 1050.0, 422.0, 1050.0, 454.0, 186.0, 454.0], "score": 0.99, "text": "being unjust. Unlike in national law, in international law there are"}, {"category_id": 15, "poly": [184.0, 458.0, 1050.0, 458.0, 1050.0, 489.0, 184.0, 489.0], "score": 0.99, "text": "no higher-ranking judges, so that every sovereign is his or her own"}, {"category_id": 15, "poly": [184.0, 493.0, 1050.0, 493.0, 1050.0, 525.0, 184.0, 525.0], "score": 0.99, "text": "judge, and although there cannot be two parties whose suits are"}, {"category_id": 15, "poly": [186.0, 531.0, 1048.0, 531.0, 1048.0, 562.0, 186.0, 562.0], "score": 0.99, "text": "ultimately equally just, there can be two bona fide parties waging war"}, {"category_id": 15, "poly": [184.0, 562.0, 1048.0, 562.0, 1048.0, 600.0, 184.0, 600.0], "score": 1.0, "text": "whose reasons for war appear completely legitimate and prima facie"}, {"category_id": 15, "poly": [186.0, 604.0, 1048.0, 604.0, 1048.0, 630.0, 186.0, 630.0], "score": 0.98, "text": "just. Unlike a punishment that is meant to deter and to protect against"}, {"category_id": 15, "poly": [182.0, 634.0, 1050.0, 636.0, 1050.0, 668.0, 182.0, 666.0], "score": 0.99, "text": "the recurrence of the grounds that led to war, retributivism requires"}, {"category_id": 15, "poly": [184.0, 669.0, 1052.0, 671.0, 1052.0, 705.0, 184.0, 703.0], "score": 0.99, "text": "the vanquished not only to assume liability for all damages caused in"}, {"category_id": 15, "poly": [186.0, 709.0, 1052.0, 709.0, 1052.0, 741.0, 186.0, 741.0], "score": 0.99, "text": "the war (compensation, reparations, etc.), but also to serve a severe"}, {"category_id": 15, "poly": [186.0, 744.0, 1048.0, 744.0, 1048.0, 776.0, 186.0, 776.0], "score": 0.99, "text": "punishment. If the vanquished enemies waged the war in good faith,"}, {"category_id": 15, "poly": [186.0, 780.0, 1050.0, 780.0, 1050.0, 812.0, 186.0, 812.0], "score": 1.0, "text": "this retributive punishment will then be perceived by them to be"}, {"category_id": 15, "poly": [188.0, 819.0, 1048.0, 819.0, 1048.0, 846.0, 188.0, 846.0], "score": 0.98, "text": "unjust and thus may consitute a possible causa iusta for a future war."}, {"category_id": 15, "poly": [182.0, 847.0, 1050.0, 849.0, 1050.0, 887.0, 182.0, 885.0], "score": 0.99, "text": "For this reason, such a retributive punishment stumbles into a contra-"}, {"category_id": 15, "poly": [186.0, 889.0, 1046.0, 889.0, 1046.0, 921.0, 186.0, 921.0], "score": 0.98, "text": "diction with Kant's primary objective, that is, with perpetual peace."}, {"category_id": 15, "poly": [184.0, 922.0, 1046.0, 922.0, 1046.0, 960.0, 184.0, 960.0], "score": 0.97, "text": "Kant's first preliminary article deprives every retaliation of its pre"}, {"category_id": 15, "poly": [182.0, 962.0, 1052.0, 958.0, 1052.0, 990.0, 182.0, 994.0], "score": 1.0, "text": "requisite by requiring that possible discoveries about the past should"}, {"category_id": 15, "poly": [182.0, 994.0, 593.0, 996.0, 592.0, 1028.0, 182.0, 1026.0], "score": 1.0, "text": "not be taken into consideration:"}, {"category_id": 15, "poly": [184.0, 167.0, 1050.0, 171.0, 1050.0, 203.0, 184.0, 199.0], "score": 0.98, "text": "number of wars. Since the victor has already obtained supremacy,"}, {"category_id": 15, "poly": [186.0, 202.0, 1050.0, 202.0, 1050.0, 240.0, 186.0, 240.0], "score": 0.99, "text": "the punishment is often mild. Herein lies the strategy of the theory"}, {"category_id": 15, "poly": [184.0, 240.0, 694.0, 240.0, 694.0, 278.0, 184.0, 278.0], "score": 0.99, "text": "of just war for the preservation of peace."}, {"category_id": 15, "poly": [184.0, 1202.0, 1050.0, 1204.0, 1050.0, 1236.0, 184.0, 1234.0], "score": 0.98, "text": "Even though Kant had the material claims of the warring parties"}, {"category_id": 15, "poly": [186.0, 1239.0, 1050.0, 1239.0, 1050.0, 1271.0, 186.0, 1271.0], "score": 0.98, "text": "in mind in this passage, this remark certainly also applies in the realm"}, {"category_id": 15, "poly": [186.0, 1275.0, 1050.0, 1275.0, 1050.0, 1307.0, 186.0, 1307.0], "score": 0.99, "text": "of penal law. Even in the Doctrine of right, Kant recommends the same"}, {"category_id": 15, "poly": [184.0, 1312.0, 1052.0, 1312.0, 1052.0, 1344.0, 184.0, 1344.0], "score": 1.0, "text": "strategy for (civil) peace on the national level, as the following repeat-"}, {"category_id": 15, "poly": [186.0, 1348.0, 501.0, 1348.0, 501.0, 1380.0, 186.0, 1380.0], "score": 0.99, "text": "edly cited passage shows:"}, {"category_id": 15, "poly": [216.0, 1048.0, 1020.0, 1050.0, 1020.0, 1082.0, 216.0, 1080.0], "score": 0.99, "text": "Causes for a future war, existent even if as yet unrecognized by the"}, {"category_id": 15, "poly": [218.0, 1084.0, 1020.0, 1084.0, 1020.0, 1116.0, 218.0, 1116.0], "score": 1.0, "text": "contracting parties themselves, are all annihilated by a peace treaty, no"}, {"category_id": 15, "poly": [214.0, 1116.0, 1020.0, 1118.0, 1020.0, 1149.0, 214.0, 1147.0], "score": 0.99, "text": " matter how acute and skilled the sleuthing by which they may be picked"}, {"category_id": 15, "poly": [216.0, 1149.0, 568.0, 1147.0, 568.0, 1179.0, 216.0, 1181.0], "score": 1.0, "text": "out of documents in archives.4"}, {"category_id": 15, "poly": [531.0, 96.0, 705.0, 96.0, 705.0, 122.0, 531.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [186.0, 94.0, 236.0, 94.0, 236.0, 133.0, 186.0, 133.0], "score": 1.0, "text": "192"}, {"category_id": 15, "poly": [180.0, 1571.0, 761.0, 1573.0, 761.0, 1611.0, 180.0, 1609.0], "score": 0.95, "text": "4. ZeF Ak v1I:344f. Practial philosophy, ed. Gregor, p. 317."}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [218.0, 1401.0, 1020.0, 1403.0, 1020.0, 1434.0, 217.0, 1432.0], "score": 0.99, "text": "Accordingly, every murderer - anyone who commits murder, orders"}, {"category_id": 15, "poly": [216.0, 1434.0, 1020.0, 1436.0, 1020.0, 1468.0, 216.0, 1466.0], "score": 0.99, "text": "it, or is an accomplice in it - must suffer death; this is what justice, as"}, {"category_id": 15, "poly": [221.0, 1472.0, 1016.0, 1472.0, 1016.0, 1498.0, 221.0, 1498.0], "score": 0.99, "text": "the idea of judicial authority, wills in accordance with universal laws that"}, {"category_id": 15, "poly": [219.0, 1502.0, 1016.0, 1502.0, 1016.0, 1534.0, 219.0, 1534.0], "score": 0.99, "text": "are grounded a priori. - If, however, the number of accomplices (correi)"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[40.74649429321289, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [53.54270935058594, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16659265.pdf_116.jpg"], [54.149959564208984, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9781139088398.007.pdf_29.jpg"], [54.50128173828125, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-17538478.pdf_170.jpg"], [57.446693420410156, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316090930.077.pdf_10.jpg"], [58.946285247802734, 0.8585572842998586, 0.8571428571428571, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9780511551246.006.pdf_7.jpg"], [60.244834899902344, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/2f84035610deb9378036cb7a5498b885486cf8e0acfde755081b3484bcff8eed.pdf_15.jpg"], [62.2381591796875, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/3055e0d8130c7a197bc6e020afe9bea1edef31f33b720cc326dd404d8e3f82d5.pdf_5.jpg"], [65.60747528076172, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/j.1933-1592.2007.00043.x.pdf_10.jpg"], [66.23817443847656, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16579787.pdf_143.jpg"]]}, "page_info": {"page_no": 5, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 1, "poly": [209.057373046875, 166.58755493164062, 1013.1092529296875, 166.58755493164062, 1013.1092529296875, 562.8868408203125, 209.057373046875, 562.8868408203125], "score": 0.9999966621398926}, {"category_id": 2, "poly": [174.6002655029297, 1438.158447265625, 1043.0218505859375, 1438.158447265625, 1043.0218505859375, 1605.958251953125, 174.6002655029297, 1605.958251953125], "score": 0.9999958872795105}, {"category_id": 1, "poly": [176.8579559326172, 584.760498046875, 1042.1436767578125, 584.760498046875, 1042.1436767578125, 689.208740234375, 176.8579559326172, 689.208740234375], "score": 0.9999874830245972}, {"category_id": 1, "poly": [177.20567321777344, 691.1987915039062, 1046.5733642578125, 691.1987915039062, 1046.5733642578125, 1374.988525390625, 177.20567321777344, 1374.988525390625], "score": 0.9999780654907227}, {"category_id": 2, "poly": [522.219482421875, 97.335205078125, 697.4724731445312, 97.335205078125, 697.4724731445312, 116.0723648071289, 522.219482421875, 116.0723648071289], "score": 0.9999210834503174}, {"category_id": 2, "poly": [46.051116943359375, 1718.153076171875, 1142.74169921875, 1718.153076171875, 1142.74169921875, 1762.79638671875, 46.051116943359375, 1762.79638671875], "score": 0.9998273849487305}, {"category_id": 2, "poly": [998.376708984375, 98.30541229248047, 1041.080810546875, 98.30541229248047, 1041.080810546875, 120.7616958618164, 998.376708984375, 120.7616958618164], "score": 0.9945587515830994}, {"category_id": 13, "poly": [873, 1547, 948, 1547, 948, 1575, 873, 1575], "score": 0.41, "latex": "{}^{2}33^{-8}5"}, {"category_id": 15, "poly": [208.0, 169.0, 1009.0, 169.0, 1009.0, 201.0, 208.0, 201.0], "score": 0.99, "text": "to such a deed is so great that the state, in order to have no such"}, {"category_id": 15, "poly": [206.0, 201.0, 1011.0, 199.0, 1011.0, 231.0, 206.0, 233.0], "score": 0.98, "text": "criminals in it, could soon find itself without subjects; and if the state"}, {"category_id": 15, "poly": [208.0, 232.0, 1011.0, 232.0, 1011.0, 264.0, 208.0, 264.0], "score": 0.99, "text": "still does not want to dissolve, that is, to pass over into the state of"}, {"category_id": 15, "poly": [210.0, 270.0, 1009.0, 270.0, 1009.0, 296.0, 210.0, 296.0], "score": 1.0, "text": "nature, which is far worse because there is no external justice at all in"}, {"category_id": 15, "poly": [208.0, 304.0, 1011.0, 304.0, 1011.0, 330.0, 208.0, 330.0], "score": 0.98, "text": "it . . . then the sovereign must also have it in his power, in this case of"}, {"category_id": 15, "poly": [208.0, 334.0, 1012.0, 334.0, 1012.0, 366.0, 208.0, 366.0], "score": 0.99, "text": "necessity (casus necessitatis), to assume the role of judge (to represent"}, {"category_id": 15, "poly": [208.0, 368.0, 1012.0, 368.0, 1012.0, 399.0, 208.0, 399.0], "score": 0.98, "text": "him) and pronounce a judgment that decrees for the criminals a"}, {"category_id": 15, "poly": [208.0, 401.0, 1011.0, 401.0, 1011.0, 433.0, 208.0, 433.0], "score": 0.99, "text": "sentence other than capital punishment, such as deportation, which"}, {"category_id": 15, "poly": [208.0, 435.0, 1012.0, 435.0, 1012.0, 467.0, 208.0, 467.0], "score": 0.99, "text": "still preserves the population. This cannot be done in accordance with"}, {"category_id": 15, "poly": [210.0, 467.0, 1012.0, 467.0, 1012.0, 499.0, 210.0, 499.0], "score": 0.99, "text": "public law but it can be done by an executive decree that is, by an act of"}, {"category_id": 15, "poly": [210.0, 501.0, 1011.0, 501.0, 1011.0, 532.0, 210.0, 532.0], "score": 0.99, "text": "the right of majesty which, as clemency, can always be exercised only in"}, {"category_id": 15, "poly": [210.0, 534.0, 405.0, 534.0, 405.0, 561.0, 210.0, 561.0], "score": 0.98, "text": "individual cases.5"}, {"category_id": 15, "poly": [173.0, 1434.0, 722.0, 1436.0, 722.0, 1470.0, 172.0, 1468.0], "score": 0.98, "text": "5. RL Ak vI:334. Practical philosophy, ed. Gregor, p. 475."}, {"category_id": 15, "poly": [171.0, 1461.0, 750.0, 1464.0, 750.0, 1496.0, 171.0, 1492.0], "score": 0.96, "text": "6. ZeF Ak v11:344f. Practical philosophy, ed. Gregor, p. 321."}, {"category_id": 15, "poly": [172.0, 1491.0, 1042.0, 1491.0, 1042.0, 1522.0, 172.0, 1522.0], "score": 0.97, "text": "7. Cf. RL Ak vI:247. Practical philosophy, ed. Gregor, Pp. 401-2. Also, cf. Reinhard Brandt,"}, {"category_id": 15, "poly": [204.0, 1519.0, 1044.0, 1521.0, 1044.0, 1547.0, 204.0, 1545.0], "score": 0.98, "text": "“Das Erlaubnisgesetz, oder: Vernunft und Geschichte in Kants Rechtslehre,”in Brandt"}, {"category_id": 15, "poly": [171.0, 1571.0, 722.0, 1575.0, 722.0, 1607.0, 171.0, 1603.0], "score": 0.97, "text": " 8. RL Ak vI:23o. Practical philosophy, ed. Gregor, p. 387."}, {"category_id": 15, "poly": [204.0, 1543.0, 872.0, 1547.0, 872.0, 1579.0, 204.0, 1575.0], "score": 0.98, "text": "(ed.), Rechtsphilosophie der Aufklirung (Berlin: De Gruyter, 1982), Pp."}, {"category_id": 15, "poly": [176.0, 585.0, 1039.0, 587.0, 1039.0, 619.0, 176.0, 617.0], "score": 0.99, "text": "Here abiding by the law is set aside in favor of preserving civil peace for"}, {"category_id": 15, "poly": [178.0, 624.0, 1041.0, 624.0, 1041.0, 656.0, 178.0, 656.0], "score": 1.0, "text": "the very reason of preserving it, because civil peace is the sole prerequis-"}, {"category_id": 15, "poly": [178.0, 662.0, 936.0, 662.0, 936.0, 688.0, 178.0, 688.0], "score": 0.98, "text": "ite for a state of law in which laws can be issued and enforced."}, {"category_id": 15, "poly": [214.0, 698.0, 1039.0, 698.0, 1039.0, 724.0, 214.0, 724.0], "score": 0.99, "text": "This problem, to which retributivism is exposed within the Kantian"}, {"category_id": 15, "poly": [178.0, 731.0, 1042.0, 731.0, 1042.0, 763.0, 178.0, 763.0], "score": 0.99, "text": "philosophy of right, is actually related, thirdly, to a fundamental"}, {"category_id": 15, "poly": [178.0, 771.0, 1039.0, 771.0, 1039.0, 797.0, 178.0, 797.0], "score": 0.99, "text": "problem: retributivism is not compatible with an important principle"}, {"category_id": 15, "poly": [176.0, 804.0, 1042.0, 804.0, 1042.0, 836.0, 176.0, 836.0], "score": 0.99, "text": "of the Kantian philosophy of right, that is, with the permissive law"}, {"category_id": 15, "poly": [178.0, 840.0, 1041.0, 840.0, 1041.0, 872.0, 178.0, 872.0], "score": 1.0, "text": "(see Sections 2.4 and 4.4). The permissive law allows an exception"}, {"category_id": 15, "poly": [174.0, 872.0, 1041.0, 876.0, 1041.0, 908.0, 174.0, 904.0], "score": 1.0, "text": "to be made to law's implementation, so long as this exception only"}, {"category_id": 15, "poly": [176.0, 911.0, 1041.0, 911.0, 1041.0, 943.0, 176.0, 943.0], "score": 0.99, "text": "concerns what has occurred up to then and not that which either is"}, {"category_id": 15, "poly": [178.0, 951.0, 1039.0, 951.0, 1039.0, 977.0, 178.0, 977.0], "score": 0.98, "text": "occurring in the present or will occur in the future. Such an exception"}, {"category_id": 15, "poly": [178.0, 982.0, 1041.0, 982.0, 1041.0, 1014.0, 178.0, 1014.0], "score": 0.98, "text": "should provide for the peaceful establishment of a state of law where"}, {"category_id": 15, "poly": [174.0, 1018.0, 1042.0, 1016.0, 1043.0, 1050.0, 174.0, 1052.0], "score": 0.99, "text": "the application of the law to the existing situation would lead to"}, {"category_id": 15, "poly": [174.0, 1054.0, 1039.0, 1052.0, 1039.0, 1086.0, 174.0, 1088.0], "score": 0.99, "text": "regression to the state of nature or into civil war. However, the imple-"}, {"category_id": 15, "poly": [176.0, 1091.0, 1042.0, 1091.0, 1042.0, 1123.0, 176.0, 1123.0], "score": 1.0, "text": "mentation of the law in the present and in the future is not allowed to"}, {"category_id": 15, "poly": [176.0, 1127.0, 1042.0, 1127.0, 1042.0, 1159.0, 176.0, 1159.0], "score": 0.98, "text": "be postponed ad calendas graecas,° but instead should occur in the"}, {"category_id": 15, "poly": [174.0, 1161.0, 1042.0, 1161.0, 1042.0, 1198.0, 174.0, 1198.0], "score": 0.99, "text": "most direct way possible.7 Now, Kant defines right as being the “sum"}, {"category_id": 15, "poly": [180.0, 1200.0, 1041.0, 1200.0, 1041.0, 1226.0, 180.0, 1226.0], "score": 0.96, "text": "of the conditions under which the choice of one can be united with"}, {"category_id": 15, "poly": [172.0, 1230.0, 1046.0, 1222.0, 1046.0, 1266.0, 173.0, 1273.0], "score": 0.98, "text": "the choice of another in accordance with a universal law of freedom,\"8"}, {"category_id": 15, "poly": [178.0, 1273.0, 1037.0, 1273.0, 1037.0, 1299.0, 178.0, 1299.0], "score": 0.97, "text": "by which the power of choice (Willkir) of all human beings - there-"}, {"category_id": 15, "poly": [174.0, 1305.0, 1041.0, 1307.0, 1041.0, 1341.0, 174.0, 1339.0], "score": 0.99, "text": "fore, also of the criminal - is meant. Thus, if there is in fact a way"}, {"category_id": 15, "poly": [176.0, 1341.0, 1041.0, 1341.0, 1041.0, 1372.0, 176.0, 1372.0], "score": 0.99, "text": "enabling one to reintegrate the criminal into society in the most direct"}, {"category_id": 15, "poly": [521.0, 96.0, 698.0, 96.0, 698.0, 122.0, 521.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [994.0, 96.0, 1046.0, 96.0, 1046.0, 133.0, 994.0, 133.0], "score": 1.0, "text": "193"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[40.12925720214844, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [44.1798095703125, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316090930.077.pdf_10.jpg"], [45.294715881347656, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16659265.pdf_116.jpg"], [47.02918243408203, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/2f84035610deb9378036cb7a5498b885486cf8e0acfde755081b3484bcff8eed.pdf_15.jpg"], [50.920448303222656, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/cfa6f24ed2cbc9340cf61712f14b4314.pdf_2.jpg"], [51.11970520019531, 0.8585572842998586, 0.8571428571428571, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9780511551246.006.pdf_7.jpg"], [51.694923400878906, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/cbo9780511760433.011.pdf_6.jpg"], [52.53438186645508, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/j.1933-1592.2007.00043.x.pdf_10.jpg"], [55.34433364868164, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/7c4e3e519f7e8481ec5cdb09dd1e35a1a79860ea1d440673c9aecb9c9057148a.pdf_17.jpg"], [60.43921661376953, 0.9999999999999999, 0.9999999999999999, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16821367.pdf_72.jpg"]]}, "page_info": {"page_no": 6, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 2, "poly": [186.12176513671875, 1434.665283203125, 1055.1126708984375, 1434.665283203125, 1055.1126708984375, 1606.65869140625, 186.12176513671875, 1606.65869140625], "score": 0.9999961853027344}, {"category_id": 1, "poly": [186.0970001220703, 239.26547241210938, 1051.49169921875, 239.26547241210938, 1051.49169921875, 559.2838134765625, 186.0970001220703, 559.2838134765625], "score": 0.9999932646751404}, {"category_id": 1, "poly": [185.57730102539062, 560.2919311523438, 1053.283935546875, 560.2919311523438, 1053.283935546875, 1354.54833984375, 185.57730102539062, 1354.54833984375], "score": 0.9999884366989136}, {"category_id": 2, "poly": [529.962646484375, 96.66432189941406, 706.2738037109375, 96.66432189941406, 706.2738037109375, 117.434814453125, 529.962646484375, 117.434814453125], "score": 0.9999491572380066}, {"category_id": 1, "poly": [186.09828186035156, 167.3245391845703, 1051.122802734375, 167.3245391845703, 1051.122802734375, 237.27932739257812, 186.09828186035156, 237.27932739257812], "score": 0.9999098777770996}, {"category_id": 2, "poly": [188.15760803222656, 97.43172454833984, 232.75328063964844, 97.43172454833984, 232.75328063964844, 123.55609130859375, 188.15760803222656, 123.55609130859375], "score": 0.9998123049736023}, {"category_id": 2, "poly": [45.75640869140625, 1718.0703125, 1142.839111328125, 1718.0703125, 1142.839111328125, 1762.819580078125, 45.75640869140625, 1762.819580078125], "score": 0.9997363090515137}, {"category_id": 13, "poly": [619, 419, 639, 419, 639, 452, 619, 452], "score": 0.74, "latex": "\\S"}, {"category_id": 13, "poly": [1033, 352, 1052, 352, 1052, 374, 1033, 374], "score": 0.33, "latex": "a"}, {"category_id": 15, "poly": [189.0, 1436.0, 1052.0, 1436.0, 1052.0, 1468.0, 189.0, 1468.0], "score": 0.98, "text": " 9. Cf. Gustav Radbruch, Rechtsphilosophie, ed. Erik Wolf, seventh edition (Stuttgart:"}, {"category_id": 15, "poly": [218.0, 1461.0, 506.0, 1463.0, 506.0, 1494.0, 217.0, 1492.0], "score": 0.98, "text": "K. F. Koehler, 1970), p. 265."}, {"category_id": 15, "poly": [184.0, 1491.0, 398.0, 1491.0, 398.0, 1522.0, 184.0, 1522.0], "score": 0.98, "text": "10. Lev. 24:20 (KJV)."}, {"category_id": 15, "poly": [182.0, 1519.0, 1057.0, 1517.0, 1058.0, 1549.0, 182.0, 1551.0], "score": 0.98, "text": "11. Chapter 12, entitled “The purpose of punishment,\" in Cesare Beccaria, On crimes and"}, {"category_id": 15, "poly": [221.0, 1549.0, 1054.0, 1549.0, 1054.0, 1575.0, 221.0, 1575.0], "score": 0.98, "text": "punishments, in Beccaria, On crimes and punishments and other writings, ed. Richard"}, {"category_id": 15, "poly": [219.0, 1573.0, 1052.0, 1575.0, 1052.0, 1607.0, 219.0, 1605.0], "score": 0.99, "text": " Bellamy, trans. Richard Davies (Cambridge: Cambridge University Press, 1995), p. 31."}, {"category_id": 15, "poly": [218.0, 240.0, 1052.0, 240.0, 1052.0, 272.0, 218.0, 272.0], "score": 0.99, "text": "The categorical imperative of right consists not only in an ideal"}, {"category_id": 15, "poly": [186.0, 276.0, 1052.0, 276.0, 1052.0, 307.0, 186.0, 307.0], "score": 0.98, "text": "legal system, but also in the steps that are necessary for either the"}, {"category_id": 15, "poly": [186.0, 313.0, 1052.0, 313.0, 1052.0, 345.0, 186.0, 345.0], "score": 0.99, "text": "establishment or the reestablishment of this legal system. Writings"}, {"category_id": 15, "poly": [186.0, 382.0, 1054.0, 382.0, 1054.0, 420.0, 186.0, 420.0], "score": 0.99, "text": "cosmopolitan purpose belong to the latter dimension of the categorical"}, {"category_id": 15, "poly": [182.0, 454.0, 1052.0, 452.0, 1052.0, 489.0, 182.0, 491.0], "score": 1.0, "text": "editorial section of the Doctrine of right, which has to do primarily with"}, {"category_id": 15, "poly": [184.0, 489.0, 1052.0, 491.0, 1052.0, 525.0, 184.0, 523.0], "score": 1.0, "text": "the ideal legal system, and therefore with the first dimension, penal"}, {"category_id": 15, "poly": [186.0, 529.0, 819.0, 529.0, 819.0, 561.0, 186.0, 561.0], "score": 1.0, "text": "law can be categorized into the second dimension."}, {"category_id": 15, "poly": [186.0, 422.0, 618.0, 422.0, 618.0, 454.0, 186.0, 454.0], "score": 0.99, "text": "imperative of right. Even though"}, {"category_id": 15, "poly": [640.0, 422.0, 1052.0, 422.0, 1052.0, 454.0, 640.0, 454.0], "score": 0.97, "text": " 49E devoted to penal law is an"}, {"category_id": 15, "poly": [184.0, 347.0, 1032.0, 349.0, 1032.0, 381.0, 184.0, 379.0], "score": 0.98, "text": "such as Toward perpetual peace and Idea for a universal history with"}, {"category_id": 15, "poly": [218.0, 564.0, 1052.0, 564.0, 1052.0, 596.0, 218.0, 596.0], "score": 0.99, "text": "In this respect, Gustav Radbruch's dichotomy between right as a"}, {"category_id": 15, "poly": [186.0, 600.0, 1050.0, 600.0, 1050.0, 632.0, 186.0, 632.0], "score": 0.98, "text": "realm of justice in compensation (commutative justice) and an extra-"}, {"category_id": 15, "poly": [188.0, 634.0, 1048.0, 634.0, 1048.0, 666.0, 188.0, 666.0], "score": 0.99, "text": "legal realm of distributive justice and social utility is to be resolutely"}, {"category_id": 15, "poly": [184.0, 669.0, 1054.0, 667.0, 1054.0, 705.0, 184.0, 707.0], "score": 0.99, "text": "rejected.9 Penal law, which incontrovertibly constitutes an essential"}, {"category_id": 15, "poly": [188.0, 709.0, 1052.0, 709.0, 1052.0, 741.0, 188.0, 741.0], "score": 0.99, "text": "component of right, pertains neither to commutative justice nor to"}, {"category_id": 15, "poly": [184.0, 741.0, 1056.0, 741.0, 1056.0, 784.0, 184.0, 784.0], "score": 0.99, "text": "corrective justice. The former presupposes the agreement of all"}, {"category_id": 15, "poly": [186.0, 780.0, 1052.0, 780.0, 1052.0, 812.0, 186.0, 812.0], "score": 0.99, "text": "parties over the conditions and the items of the trade. Be it only for"}, {"category_id": 15, "poly": [184.0, 814.0, 1052.0, 816.0, 1052.0, 848.0, 184.0, 846.0], "score": 0.99, "text": "this reason, punishment cannot rest on commutative justice. Not even"}, {"category_id": 15, "poly": [182.0, 847.0, 1052.0, 849.0, 1052.0, 887.0, 182.0, 885.0], "score": 0.99, "text": "retributivism can be described as a trade. “Eye for eye, tooth for"}, {"category_id": 15, "poly": [186.0, 885.0, 1050.0, 889.0, 1050.0, 921.0, 186.0, 917.0], "score": 0.98, "text": "tooth\"io or “the retribution of what one merits\" does not mean"}, {"category_id": 15, "poly": [188.0, 924.0, 1050.0, 924.0, 1050.0, 956.0, 188.0, 956.0], "score": 0.99, "text": "trading eyes or teeth, or trading the deserts of a human being for"}, {"category_id": 15, "poly": [184.0, 958.0, 1052.0, 960.0, 1052.0, 992.0, 184.0, 990.0], "score": 0.99, "text": "the infliction of evils by another human being. Now, the return to the"}, {"category_id": 15, "poly": [188.0, 994.0, 1052.0, 994.0, 1052.0, 1026.0, 188.0, 1026.0], "score": 0.99, "text": "status quo ante pertains to corrective justice. However, how can the status"}, {"category_id": 15, "poly": [186.0, 1033.0, 1050.0, 1029.0, 1050.0, 1061.0, 186.0, 1065.0], "score": 0.98, "text": "quo ante of a murder victim be reestablished even to a small extent?"}, {"category_id": 15, "poly": [186.0, 1069.0, 1050.0, 1069.0, 1050.0, 1101.0, 186.0, 1101.0], "score": 0.98, "text": "In this respect, Cesare Beccaria's rhetorical question is irrefutable:"}, {"category_id": 15, "poly": [186.0, 1102.0, 1052.0, 1102.0, 1052.0, 1140.0, 186.0, 1140.0], "score": 1.0, "text": "\"Can the wailings of a wretch, perhaps, undo what has been done"}, {"category_id": 15, "poly": [182.0, 1134.0, 1052.0, 1136.0, 1052.0, 1174.0, 182.0, 1172.0], "score": 0.98, "text": "and turn back the clock?11 The punishment, rather, has to do with"}, {"category_id": 15, "poly": [189.0, 1179.0, 1048.0, 1179.0, 1048.0, 1206.0, 189.0, 1206.0], "score": 0.98, "text": "distributive justice, because it assures every human being of integration"}, {"category_id": 15, "poly": [186.0, 1213.0, 1048.0, 1213.0, 1048.0, 1245.0, 186.0, 1245.0], "score": 0.99, "text": "or of reintegration into the commonwealth - regardless of his or her"}, {"category_id": 15, "poly": [184.0, 1247.0, 1048.0, 1251.0, 1048.0, 1283.0, 184.0, 1279.0], "score": 0.99, "text": "achievements or actions up to then - for the simple reason that every"}, {"category_id": 15, "poly": [184.0, 1282.0, 1052.0, 1282.0, 1052.0, 1320.0, 184.0, 1320.0], "score": 0.99, "text": "human being as a being capable of reason has an innate, unforfeitable"}, {"category_id": 15, "poly": [186.0, 1320.0, 352.0, 1320.0, 352.0, 1352.0, 186.0, 1352.0], "score": 0.96, "text": "right to such."}, {"category_id": 15, "poly": [531.0, 96.0, 705.0, 96.0, 705.0, 122.0, 531.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [188.0, 172.0, 1050.0, 172.0, 1050.0, 199.0, 188.0, 199.0], "score": 0.99, "text": "way, then this way is commanded. If this way actually exists at all, then"}, {"category_id": 15, "poly": [186.0, 206.0, 771.0, 206.0, 771.0, 238.0, 186.0, 238.0], "score": 1.0, "text": "it is, per definitionem, rehabilitative punishment."}, {"category_id": 15, "poly": [186.0, 94.0, 236.0, 94.0, 236.0, 133.0, 186.0, 133.0], "score": 1.0, "text": "194"}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[33.46018600463867, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/cbo9780511760433.011.pdf_6.jpg"], [46.74518585205078, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316090930.077.pdf_10.jpg"], [49.379337310791016, 0.8585572842998586, 0.8571428571428571, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9780511551246.006.pdf_7.jpg"], [52.24210739135742, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9781316691311.003.pdf_24.jpg"], [53.57355499267578, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/dianzishu_zhongwenzaixian-o.O-61022629.pdf_160.jpg"], [55.98894500732422, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [56.5302848815918, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-21539592.pdf_279.jpg"], [60.459964752197266, 0.7508250825082508, 0.8333333333333333, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-17460514.pdf_136.jpg"], [62.29426193237305, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-19315297.pdf_6.jpg"], [65.522705078125, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/df156e8465ff477c90a1393a0ab5947e448ed696ac0d3ea982480f5c237a29e1.pdf_8.jpg"]]}, "page_info": {"page_no": 7, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 2, "poly": [178.1744384765625, 1379.4212646484375, 1044.2001953125, 1379.4212646484375, 1044.2001953125, 1602.649658203125, 178.1744384765625, 1602.649658203125], "score": 0.9999977350234985}, {"category_id": 1, "poly": [176.4250030517578, 849.6359252929688, 1042.470947265625, 849.6359252929688, 1042.470947265625, 1206.6923828125, 176.4250030517578, 1206.6923828125], "score": 0.9999918937683105}, {"category_id": 1, "poly": [176.7879180908203, 165.97573852539062, 1044.6990966796875, 165.97573852539062, 1044.6990966796875, 845.2696533203125, 176.7879180908203, 845.2696533203125], "score": 0.9999825358390808}, {"category_id": 2, "poly": [522.218994140625, 97.64007568359375, 697.3997802734375, 97.64007568359375, 697.3997802734375, 115.09343719482422, 522.218994140625, 115.09343719482422], "score": 0.9997891187667847}, {"category_id": 1, "poly": [175.1726531982422, 1210.41357421875, 1044.1864013671875, 1210.41357421875, 1044.1864013671875, 1317.754150390625, 175.1726531982422, 1317.754150390625], "score": 0.9997514486312866}, {"category_id": 2, "poly": [45.92216491699219, 1717.8394775390625, 1142.5506591796875, 1717.8394775390625, 1142.5506591796875, 1762.9683837890625, 45.92216491699219, 1762.9683837890625], "score": 0.9996484518051147}, {"category_id": 2, "poly": [998.3270874023438, 98.5640869140625, 1040.5067138671875, 98.5640869140625, 1040.5067138671875, 120.62263488769531, 998.3270874023438, 120.62263488769531], "score": 0.9967317581176758}, {"category_id": 13, "poly": [333, 1384, 350, 1384, 350, 1408, 333, 1408], "score": 0.37, "latex": "5"}, {"category_id": 13, "poly": [536, 1522, 610, 1522, 610, 1547, 536, 1547], "score": 0.27, "latex": "^{159-72}"}, {"category_id": 15, "poly": [219.0, 1410.0, 801.0, 1410.0, 801.0, 1436.0, 219.0, 1436.0], "score": 0.98, "text": "(University Park: Pennsylvania State University Press, 2o02)."}, {"category_id": 15, "poly": [176.0, 1436.0, 1046.0, 1436.0, 1046.0, 1468.0, 176.0, 1468.0], "score": 1.0, "text": "13. This very arrangement of priority holds equally, by the way, for other realms in the"}, {"category_id": 15, "poly": [219.0, 1464.0, 1042.0, 1464.0, 1042.0, 1491.0, 219.0, 1491.0], "score": 0.99, "text": "Kantian doctrine of right, for example property: cf. Jean-Christophe Merle (ed.),"}, {"category_id": 15, "poly": [221.0, 1492.0, 1046.0, 1492.0, 1046.0, 1519.0, 221.0, 1519.0], "score": 0.96, "text": "“Eigentumsrecht,” in Merle (ed.), Johann Gottlieb Fichte: Grundlage des Naturrechts"}, {"category_id": 15, "poly": [218.0, 1549.0, 1044.0, 1549.0, 1044.0, 1575.0, 218.0, 1575.0], "score": 0.98, "text": "Justice et progres: contribution a une doctrine du droit économique et social (Paris:Presses"}, {"category_id": 15, "poly": [212.0, 1569.0, 535.0, 1575.0, 534.0, 1607.0, 212.0, 1601.0], "score": 0.99, "text": "Universitaires de France, 1997)."}, {"category_id": 15, "poly": [176.0, 1382.0, 332.0, 1382.0, 332.0, 1408.0, 176.0, 1408.0], "score": 0.98, "text": "12.Cf. chapter"}, {"category_id": 15, "poly": [351.0, 1382.0, 1044.0, 1382.0, 1044.0, 1408.0, 351.0, 1408.0], "score": 0.99, "text": "in Otfried Hoffe, Categorical principles of law: a counterpoint to modernity"}, {"category_id": 15, "poly": [218.0, 1517.0, 535.0, 1519.0, 535.0, 1551.0, 217.0, 1549.0], "score": 0.97, "text": "(Berlin: De Gruyter, 2001), Pp."}, {"category_id": 15, "poly": [611.0, 1517.0, 1044.0, 1519.0, 1044.0, 1551.0, 611.0, 1549.0], "score": 0.99, "text": "; and Section 2.3 in Jean-Christophe Merle,"}, {"category_id": 15, "poly": [208.0, 849.0, 1043.0, 851.0, 1042.0, 883.0, 208.0, 881.0], "score": 0.99, "text": "We therefore find a twofold hierarchization of moral goods that"}, {"category_id": 15, "poly": [176.0, 887.0, 1041.0, 885.0, 1041.0, 917.0, 176.0, 919.0], "score": 0.99, "text": "can collide with one another. First, the commonwealth would receive"}, {"category_id": 15, "poly": [176.0, 924.0, 1041.0, 921.0, 1041.0, 952.0, 176.0, 956.0], "score": 0.98, "text": "precedence over individual freedom in the case of a collision, which"}, {"category_id": 15, "poly": [174.0, 960.0, 1041.0, 960.0, 1041.0, 992.0, 174.0, 992.0], "score": 0.97, "text": "is why it is allowed provisionally either to limit or to suspend the"}, {"category_id": 15, "poly": [176.0, 998.0, 1041.0, 998.0, 1041.0, 1024.0, 176.0, 1024.0], "score": 0.99, "text": "freedom of the criminal. Secondly, in the case of a collision, individual"}, {"category_id": 15, "poly": [174.0, 1029.0, 1043.0, 1031.0, 1042.0, 1063.0, 174.0, 1061.0], "score": 0.99, "text": "freedom receives precedence over the consequences, which the"}, {"category_id": 15, "poly": [176.0, 1069.0, 1041.0, 1069.0, 1041.0, 1101.0, 176.0, 1101.0], "score": 0.99, "text": "actions of individuals should otherwise imply; this is why crime should"}, {"category_id": 15, "poly": [173.0, 1099.0, 1041.0, 1103.0, 1041.0, 1140.0, 172.0, 1136.0], "score": 0.99, "text": "be forgiven by society - with consideration for the first priority, that is,"}, {"category_id": 15, "poly": [174.0, 1140.0, 1046.0, 1140.0, 1046.0, 1172.0, 174.0, 1172.0], "score": 0.99, "text": "with consideration for the security of the commonwealth - in the most"}, {"category_id": 15, "poly": [176.0, 1176.0, 457.0, 1172.0, 458.0, 1206.0, 177.0, 1210.0], "score": 1.0, "text": "directmannerpossible.3"}, {"category_id": 15, "poly": [210.0, 171.0, 1037.0, 171.0, 1037.0, 202.0, 210.0, 202.0], "score": 0.99, "text": "Fourthly, the categorical legal imperative of integration or reinte"}, {"category_id": 15, "poly": [172.0, 203.0, 1042.0, 201.0, 1043.0, 240.0, 173.0, 242.0], "score": 0.98, "text": "gration into the commonwealth likewise derives a deeper grounding"}, {"category_id": 15, "poly": [176.0, 242.0, 1035.0, 242.0, 1035.0, 268.0, 176.0, 268.0], "score": 0.98, "text": "in the Kantian foundation of morality, namely in the empirical cir"}, {"category_id": 15, "poly": [176.0, 278.0, 1044.0, 278.0, 1044.0, 309.0, 176.0, 309.0], "score": 0.99, "text": "cumstances of the exercise of autonomy in a limited being capable of"}, {"category_id": 15, "poly": [174.0, 313.0, 1042.0, 313.0, 1042.0, 345.0, 174.0, 345.0], "score": 0.99, "text": "reason who can also act against his or her duty, irrationally. On the"}, {"category_id": 15, "poly": [176.0, 349.0, 1041.0, 349.0, 1041.0, 381.0, 176.0, 381.0], "score": 0.99, "text": "one hand, a human being should bear the responsibility for his or her"}, {"category_id": 15, "poly": [176.0, 384.0, 1039.0, 384.0, 1039.0, 416.0, 176.0, 416.0], "score": 0.99, "text": "actions because he or she has freedom of action. On the other hand,"}, {"category_id": 15, "poly": [178.0, 424.0, 1041.0, 424.0, 1041.0, 450.0, 178.0, 450.0], "score": 0.98, "text": "the consequences of actions carried out in the past should not lead to"}, {"category_id": 15, "poly": [176.0, 458.0, 1039.0, 458.0, 1039.0, 489.0, 176.0, 489.0], "score": 0.99, "text": "the consequence that a person can no longer act freely in the future."}, {"category_id": 15, "poly": [174.0, 489.0, 1043.0, 491.0, 1042.0, 525.0, 174.0, 523.0], "score": 0.99, "text": "These two dimensions do not limit one another. The consequences of"}, {"category_id": 15, "poly": [178.0, 532.0, 1041.0, 532.0, 1041.0, 559.0, 178.0, 559.0], "score": 0.97, "text": "the actions hitherto done are limited by the commandment that"}, {"category_id": 15, "poly": [172.0, 563.0, 1042.0, 561.0, 1043.0, 598.0, 173.0, 600.0], "score": 1.0, "text": "requires treating every human being as a being capable of reason with"}, {"category_id": 15, "poly": [172.0, 600.0, 1044.0, 598.0, 1044.0, 630.0, 173.0, 632.0], "score": 0.99, "text": "an inalienable freedom of action. Now, this inalienable freedom of"}, {"category_id": 15, "poly": [171.0, 632.0, 1046.0, 634.0, 1046.0, 671.0, 171.0, 669.0], "score": 0.97, "text": " action is not limited by the consequences of past actions. Rather, it is"}, {"category_id": 15, "poly": [178.0, 669.0, 1039.0, 669.0, 1039.0, 701.0, 178.0, 701.0], "score": 0.99, "text": "limited by the same inalienable freedom of action of the other human"}, {"category_id": 15, "poly": [174.0, 705.0, 1039.0, 707.0, 1039.0, 741.0, 174.0, 739.0], "score": 0.99, "text": "beings. It is only for this reason that the Kantian concept of right is an"}, {"category_id": 15, "poly": [174.0, 742.0, 1042.0, 742.0, 1042.0, 780.0, 174.0, 780.0], "score": 0.99, "text": "object of the categorical imperative, which we may also term the"}, {"category_id": 15, "poly": [176.0, 780.0, 1044.0, 778.0, 1044.0, 812.0, 176.0, 814.0], "score": 0.97, "text": "\"categorical imperative of right,” to borrow Otfried Hoffe's"}, {"category_id": 15, "poly": [174.0, 820.0, 346.0, 811.0, 347.0, 843.0, 175.0, 852.0], "score": 0.99, "text": "expression.12"}, {"category_id": 15, "poly": [521.0, 96.0, 698.0, 96.0, 698.0, 122.0, 521.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [208.0, 1207.0, 1041.0, 1211.0, 1041.0, 1247.0, 208.0, 1243.0], "score": 0.99, "text": "At the center of the Kantian idea of autonomy, under the guidance"}, {"category_id": 15, "poly": [176.0, 1249.0, 1041.0, 1249.0, 1041.0, 1281.0, 176.0, 1281.0], "score": 0.99, "text": "of which we always ought to act and to which, therefore, the legal"}, {"category_id": 15, "poly": [174.0, 1283.0, 1044.0, 1281.0, 1044.0, 1318.0, 174.0, 1320.0], "score": 0.97, "text": "system is subject, is the forward-looking project of the full"}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [994.0, 96.0, 1046.0, 96.0, 1046.0, 133.0, 994.0, 133.0], "score": 1.0, "text": "195"}], "judge": {"final_judge": true, "search_judge": true, "score_judge": true, "cannot_find": false, "search_list": [[33.45214080810547, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/S0021875817000378.pdf_1.jpg"], [35.846343994140625, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9781139088398.007.pdf_29.jpg"], [45.88932418823242, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16659265.pdf_116.jpg"], [52.46403503417969, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/s0308-521x%2898%2900056-0.pdf_3.jpg"], [53.79743957519531, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/9b04f5410f803df1f5f93aa3778059efe90db326c19f5d7ba85414c96739b3bd.pdf_5.jpg"], [56.742919921875, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-17538478.pdf_170.jpg"], [57.389892578125, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/cd.56.pdf_7.jpg"], [58.915245056152344, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/3055e0d8130c7a197bc6e020afe9bea1edef31f33b720cc326dd404d8e3f82d5.pdf_5.jpg"], [60.87705612182617, 0.8585572842998586, 0.8571428571428571, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/CBO9780511551246.006.pdf_7.jpg"], [62.43968963623047, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/enbook-zlib-o.O-16579787.pdf_143.jpg"]]}, "page_info": {"page_no": 8, "height": 1800, "width": 1200}}, {"layout_dets": [{"category_id": 1, "poly": [185.55514526367188, 165.05636596679688, 1051.962158203125, 165.05636596679688, 1051.962158203125, 416.17791748046875, 185.55514526367188, 416.17791748046875], "score": 0.9999955892562866}, {"category_id": 1, "poly": [187.62872314453125, 471.3214416503906, 1053.895263671875, 471.3214416503906, 1053.895263671875, 669.642822265625, 187.62872314453125, 669.642822265625], "score": 0.9999722838401794}, {"category_id": 2, "poly": [529.6675415039062, 95.03907775878906, 706.549072265625, 95.03907775878906, 706.549072265625, 118.32815551757812, 529.6675415039062, 118.32815551757812], "score": 0.9998582601547241}, {"category_id": 2, "poly": [46.07423400878906, 1718.798583984375, 1141.189208984375, 1718.798583984375, 1141.189208984375, 1761.908935546875, 46.07423400878906, 1761.908935546875], "score": 0.9997307658195496}, {"category_id": 2, "poly": [189.4586181640625, 93.21783447265625, 232.76022338867188, 93.21783447265625, 232.76022338867188, 121.17974853515625, 189.4586181640625, 121.17974853515625], "score": 0.9981511831283569}, {"category_id": 15, "poly": [189.0, 169.0, 1050.0, 169.0, 1050.0, 201.0, 189.0, 201.0], "score": 1.0, "text": "development of the human being as a being capable of reason, and"}, {"category_id": 15, "poly": [184.0, 203.0, 1052.0, 201.0, 1052.0, 238.0, 184.0, 240.0], "score": 0.99, "text": "not the painfully exact accounting of the misdeeds of humanity in the"}, {"category_id": 15, "poly": [184.0, 242.0, 1052.0, 238.0, 1052.0, 270.0, 184.0, 274.0], "score": 0.98, "text": "epoch of the - as Kant terms it - \"baby walker.\"14 As Albert Camus"}, {"category_id": 15, "poly": [182.0, 274.0, 1052.0, 272.0, 1052.0, 309.0, 182.0, 311.0], "score": 0.99, "text": "observed in the debate over the death penalty, one could equally"}, {"category_id": 15, "poly": [184.0, 313.0, 1052.0, 313.0, 1052.0, 345.0, 184.0, 345.0], "score": 0.99, "text": "say of retributivists that: “we all know today's executioners are human-"}, {"category_id": 15, "poly": [180.0, 343.0, 1052.0, 347.0, 1052.0, 384.0, 180.0, 381.0], "score": 0.98, "text": "ists.\"15 It is just that we do not hold the same concept of humanity"}, {"category_id": 15, "poly": [186.0, 388.0, 319.0, 388.0, 319.0, 414.0, 186.0, 414.0], "score": 1.0, "text": "astheydo."}, {"category_id": 15, "poly": [188.0, 476.0, 1054.0, 476.0, 1054.0, 502.0, 188.0, 502.0], "score": 0.97, "text": "14. The epoch of the Gangelwagen, a device used by children learning to walk. Was"}, {"category_id": 15, "poly": [225.0, 501.0, 1048.0, 501.0, 1048.0, 532.0, 225.0, 532.0], "score": 0.96, "text": "ist Aufklarung? Ak vil1:35. Practical philosophy, ed. Gregor, p. 17: “walking wagon.'"}, {"category_id": 15, "poly": [223.0, 523.0, 1056.0, 525.0, 1056.0, 563.0, 223.0, 561.0], "score": 0.98, "text": "Also found in KrV B 174. Critique of pure reason, ed. Guyer and Wood, p. 269:"}, {"category_id": 15, "poly": [227.0, 557.0, 392.0, 559.0, 392.0, 585.0, 227.0, 583.0], "score": 0.97, "text": "\"leading-strings.\""}, {"category_id": 15, "poly": [186.0, 583.0, 1054.0, 583.0, 1054.0, 615.0, 186.0, 615.0], "score": 0.99, "text": "15. Albert Camus, Reflections on the guillotine: an essay on capital punishment by the 1957"}, {"category_id": 15, "poly": [227.0, 613.0, 1052.0, 613.0, 1052.0, 639.0, 227.0, 639.0], "score": 0.97, "text": "Nobel Prize winner, trans. Richard Howard (Michigan City, Ind.: Fridtjof-Karla"}, {"category_id": 15, "poly": [224.0, 639.0, 486.0, 645.0, 485.0, 671.0, 223.0, 665.0], "score": 0.98, "text": "Publications,1959),p.50."}, {"category_id": 15, "poly": [531.0, 96.0, 705.0, 96.0, 705.0, 122.0, 531.0, 122.0], "score": 1.0, "text": "CONCLUSION"}, {"category_id": 15, "poly": [47.0, 1718.0, 1140.0, 1718.0, 1140.0, 1742.0, 47.0, 1742.0], "score": 0.99, "text": "Downloaded from https://www.cambridge.org/core. Universiteit Leiden / LUMC, on 29 Nov 2019 at 23:02:12, subject to the Cambridge Core"}, {"category_id": 15, "poly": [47.0, 1740.0, 947.0, 1740.0, 947.0, 1764.0, 47.0, 1764.0], "score": 0.99, "text": "terms of use, available at https://www.cambridge.org/core/terms. https://doi.org/10.1017/CB09780511770425.012"}, {"category_id": 15, "poly": [186.0, 90.0, 238.0, 90.0, 238.0, 131.0, 186.0, 131.0], "score": 1.0, "text": "196"}], "judge": {"final_judge": false, "search_judge": false, "score_judge": true, "cannot_find": false, "search_list": [[77.21629333496094, 0.33333333333333326, 0.3333333333333333, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/llm-raw-scihub-o.O-chin.201025015.pdf_1.jpg"], [77.38577270507812, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/dianzishu_zhongwenzaixian-o.O-63684477.pdf_135.jpg"], [79.51431274414062, 0.6, 0.6, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/dianzishu_zhongwenzaixian-o.O-61565574.pdf_160.jpg"], [81.59078216552734, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_yanbao_ppt_merge_coco/val/f46a4b51b0a0355bc4b1b70e17ff98676c2ccce736c95d59003e770f5f31fdfc.pdf_1.jpg"], [82.08332824707031, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/9783110260007.843.pdf_7.jpg"], [88.55247497558594, 0.9999999999999999, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_scihub_coco/val/el%3A20045932.pdf_1.jpg"], [88.88130187988281, 0.5841584158415841, 0.75, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_docstructbench/val/dianzishu_zhongwenzaixian-o.O-61560140.pdf_58.jpg"], [89.059814453125, 0.9381188118811882, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/jiaocai_en_851.jpg"], [90.42997741699219, 1.0, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_needrop_coco/val/jiaocai_needrop_en_3222.jpg"], [99.1190414428711, 0.9834983498349833, 1.0, "/mnt/hwfile/opendatalab/ouyanglinke/PDF_Formula/layout_jiaocai_coco/val/2017_Applied(Overall).pdf_0.jpg"]]}, "page_info": {"page_no": 9, "height": 1800, "width": 1200}}]}
tests/test_cli/pdf_dev/pdf/test_rearch_report.pdf
deleted
100644 → 0
View file @
206ed770
File deleted
tests/test_cli/pdf_dev/ppt/small.pptx
deleted
100644 → 0
View file @
206ed770
File deleted
tests/test_cli/pdf_dev/result.json
deleted
100644 → 0
View file @
206ed770
{
"average_sim_score"
:
0.6505598645664856
,
"average_edit_distance"
:
0.2514908429188901
,
"average_bleu_score"
:
0.5808819533975296
}
\ No newline at end of file
Prev
1
2
3
4
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment