Files
gh-cskiro-claudex/skills/benchmarking/report-creator/reference/pdf-style.css
2025-11-29 18:16:40 +08:00

137 lines
2.1 KiB
CSS

/* Academic Report PDF Styling
* For use with pandoc + weasyprint
* Based on paralleLLM empathy-experiment-v1.0.pdf conventions
*/
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
line-height: 1.6;
max-width: 800px;
margin: 0 auto;
padding: 2em;
}
h1, h2, h3, h4 {
margin-top: 1.5em;
margin-bottom: 0.5em;
}
/* Academic-style tables */
table {
width: 100%;
border-collapse: collapse;
margin: 1em 0;
page-break-inside: avoid;
}
table th, table td {
padding: 0.5em 0.75em;
text-align: left;
vertical-align: top;
}
table thead th {
border-top: 2px solid #000;
border-bottom: 2px solid #000;
font-weight: bold;
}
table tbody td {
border-bottom: 1px solid #ddd;
}
table tbody tr:last-child td {
border-bottom: 2px solid #000;
}
/* Blockquotes for prompts/examples */
blockquote {
border-left: 4px solid #ddd;
margin: 1em 0;
padding-left: 1em;
color: #555;
page-break-inside: avoid;
}
/* Code blocks */
code {
background: #f5f5f5;
padding: 0.2em 0.4em;
border-radius: 3px;
font-size: 0.9em;
}
pre {
background: #f5f5f5;
padding: 1em;
overflow-x: auto;
border-radius: 5px;
page-break-inside: avoid;
}
pre code {
background: none;
padding: 0;
}
/* Horizontal rules as section dividers */
hr {
border: none;
border-top: 1px solid #ddd;
margin: 2em 0;
}
/* Page break control */
@page {
margin: 2cm;
}
figure {
page-break-inside: avoid;
margin: 1.5em 0;
}
figure img {
max-width: 100%;
height: auto;
display: block;
}
figcaption {
text-align: center;
font-style: italic;
margin-top: 0.5em;
font-size: 0.9em;
}
/* Keep headings with following content */
h2, h3, h4 {
page-break-after: avoid;
}
h2 {
page-break-before: auto;
margin-top: 2em;
}
/* Prevent orphan paragraphs */
p {
orphans: 3;
widows: 3;
}
/* Keep lists together */
ul, ol {
page-break-inside: avoid;
}
/* Reduced spacing for subsections */
h3 {
margin-top: 1.5em;
}
/* Bold findings/labels stay with content */
p strong:first-child {
page-break-after: avoid;
}