Pre-process Markdown to replace non-ASCII characters before pandoc PDF conversion
55
61%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./benchmarks/gdpval/skills/pandoc-unicode-sanitize/SKILL.mdLaTeX (used by pandoc for PDF output) may fail or produce errors when encountering non-ASCII Unicode characters like currency symbols (₹, €, £), special quotes, or other Unicode characters not supported by the default LaTeX engine.
Pre-process Markdown files to replace problematic Unicode characters with ASCII equivalents before running pandoc PDF conversion.
Common problematic characters include:
Create a shell script for reusable sanitization:
#!/bin/bash
# sanitize-for-pdf.sh
sed -e 's/₹/Rs/g' \
-e 's/€/EUR/g' \
-e 's/£/GBP/g' \
-e 's/¥/JPY/g' \
-e 's/"/"/g' \
-e 's/"/"/g' \
-e "s/'/'/g" \
-e "s/'/'/g" \
-e 's/→/->/g' \
-e 's/←/<-/g' \
-e 's/•/-/g' \
-e 's/©/(c)/g' \
-e 's/®/(R)/g' \
-e 's/™/(TM)/g' \
-e 's/±/+/ -/g' \
-e 's/×/x/g' \
-e 's/÷/\//g' \
-e 's/—/--/g' \
-e 's/–/-/g' \
"$1"# Using the script
./sanitize-for-pdf.sh input.md > sanitized.md
pandoc sanitized.md -o output.pdf
# Or inline
cat input.md | sed 's/₹/Rs/g; s/€/EUR/g; s/£/GBP/g' | pandoc -o output.pdfFor broader Unicode coverage:
iconv -f UTF-8 -t ASCII//TRANSLIT < input.md > sanitized.md
pandoc sanitized.md -o output.pdfIf you want to preserve Unicode characters, use a Unicode-capable engine:
pandoc input.md -o output.pdf --pdf-engine=xelatex
# or
pandoc input.md -o output.pdf --pdf-engine=lualatexLook for these LaTeX errors that indicate Unicode issues:
Package inputenc Error: Unicode character ... not set upLaTeX Error: Unicode character ... cannot be used with pdflatexc5a9c4b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.