{
  "schemaVersion": "1.0",
  "item": {
    "slug": "md2pdf-xelatex",
    "name": "md2pdf-xelatex",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/huaruoji/md2pdf-xelatex",
    "canonicalUrl": "https://clawhub.ai/huaruoji/md2pdf-xelatex",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/md2pdf-xelatex",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=md2pdf-xelatex",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/md2pdf.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/md2pdf-xelatex"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/md2pdf-xelatex",
    "agentPageUrl": "https://openagent3.xyz/skills/md2pdf-xelatex/agent",
    "manifestUrl": "https://openagent3.xyz/skills/md2pdf-xelatex/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/md2pdf-xelatex/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "md2pdf",
        "body": "Convert Markdown → PDF via Pandoc + XeLaTeX. Full LaTeX math + CJK support."
      },
      {
        "title": "Prerequisites",
        "body": "System packages (apt):\n\npandoc texlive-xetex texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra texlive-lang-chinese"
      },
      {
        "title": "Quick Convert",
        "body": "bash <skill_dir>/scripts/md2pdf.sh input.md output.pdf\n\nThe script auto-detects CJK content, picks suitable fonts, sanitizes emoji, adds TOC, and configures XeLaTeX."
      },
      {
        "title": "Manual Pandoc Command",
        "body": "For fine-grained control, run pandoc directly:\n\npandoc input.md -o output.pdf \\\n  --pdf-engine=xelatex \\\n  -f markdown-smart \\\n  -H header.tex \\\n  -V mainfont=\"DejaVu Sans\" \\\n  -V monofont=\"DejaVu Sans Mono\" \\\n  -V geometry:margin=20mm \\\n  -V fontsize=10pt \\\n  -V colorlinks=true \\\n  --highlight-style=tango \\\n  --toc -V toc-title=\"Table of Contents\"\n\nWhere header.tex contains:\n\n\\usepackage{xeCJK}\n\\setCJKmainfont{<CJK font name>}"
      },
      {
        "title": "Key Details",
        "body": "Math: Pandoc natively converts $...$ (inline) and $$...$$ (display) to LaTeX math. No MathJax/KaTeX needed.\nCJK fonts: Script auto-detects from: Noto Sans CJK SC > WenQuanYi Micro Hei > Droid Sans Fallback > AR PL UMing CN.\nEmoji: Replaced with text equivalents (✅ → [Y], ❌ → [N], ⭐ → *) since most LaTeX fonts lack emoji glyphs.\nSmart quotes: Use -f markdown-smart to avoid curly quote rendering issues.\nLong tables: Pandoc may struggle with complex tables; keep tables simple or use longtable LaTeX package."
      },
      {
        "title": "Troubleshooting",
        "body": "ProblemFixMissing character warningsCheck fc-list :lang=zh for available CJK fonts; install fonts-noto-cjk if neededxelatex not foundInstall texlive-xetexPDF has no math renderingEnsure markdown uses $...$ / $$...$$ (not HTML math tags)Broken table layoutSimplify table or add -V geometry:margin=15mm for more width"
      }
    ],
    "body": "md2pdf\n\nConvert Markdown → PDF via Pandoc + XeLaTeX. Full LaTeX math + CJK support.\n\nPrerequisites\n\nSystem packages (apt):\n\npandoc texlive-xetex texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra texlive-lang-chinese\n\nQuick Convert\nbash <skill_dir>/scripts/md2pdf.sh input.md output.pdf\n\n\nThe script auto-detects CJK content, picks suitable fonts, sanitizes emoji, adds TOC, and configures XeLaTeX.\n\nManual Pandoc Command\n\nFor fine-grained control, run pandoc directly:\n\npandoc input.md -o output.pdf \\\n  --pdf-engine=xelatex \\\n  -f markdown-smart \\\n  -H header.tex \\\n  -V mainfont=\"DejaVu Sans\" \\\n  -V monofont=\"DejaVu Sans Mono\" \\\n  -V geometry:margin=20mm \\\n  -V fontsize=10pt \\\n  -V colorlinks=true \\\n  --highlight-style=tango \\\n  --toc -V toc-title=\"Table of Contents\"\n\n\nWhere header.tex contains:\n\n\\usepackage{xeCJK}\n\\setCJKmainfont{<CJK font name>}\n\nKey Details\nMath: Pandoc natively converts $...$ (inline) and $$...$$ (display) to LaTeX math. No MathJax/KaTeX needed.\nCJK fonts: Script auto-detects from: Noto Sans CJK SC > WenQuanYi Micro Hei > Droid Sans Fallback > AR PL UMing CN.\nEmoji: Replaced with text equivalents (✅ → [Y], ❌ → [N], ⭐ → *) since most LaTeX fonts lack emoji glyphs.\nSmart quotes: Use -f markdown-smart to avoid curly quote rendering issues.\nLong tables: Pandoc may struggle with complex tables; keep tables simple or use longtable LaTeX package.\nTroubleshooting\nProblem\tFix\nMissing character warnings\tCheck fc-list :lang=zh for available CJK fonts; install fonts-noto-cjk if needed\nxelatex not found\tInstall texlive-xetex\nPDF has no math rendering\tEnsure markdown uses $...$ / $$...$$ (not HTML math tags)\nBroken table layout\tSimplify table or add -V geometry:margin=15mm for more width"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/huaruoji/md2pdf-xelatex",
    "publisherUrl": "https://clawhub.ai/huaruoji/md2pdf-xelatex",
    "owner": "huaruoji",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/md2pdf-xelatex",
    "downloadUrl": "https://openagent3.xyz/downloads/md2pdf-xelatex",
    "agentUrl": "https://openagent3.xyz/skills/md2pdf-xelatex/agent",
    "manifestUrl": "https://openagent3.xyz/skills/md2pdf-xelatex/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/md2pdf-xelatex/agent.md"
  }
}