pstricks
我在使用/pst-barcode
和软件包时遇到了一个奇怪的问题fancyhdr
。我喜欢这样做:每个页面都有一个自定义标题,左侧是名称,右侧是二维码。
虽然我第一次在页面内测试时生成的二维码没有任何问题,但如果我把它放入 fancyheader 中,它就不行了。虽然我在过去几个小时里搜索并试图找到一些解决方案,但我仍然陷入困境。有人知道这是问题还是解决方法吗?
错误是:
警告行 1 包
auto-pst-pdf
警告:创建gesamt6-autopp.dvi
失败警告行 1 程序包
auto-pst-pdf
警告:无法创建gesamt6-pics.pdf
。辅助文件未被删除。
有问题的代码如下所示(简化):
\documentclass[11pt,a4paper]{scrlttr2}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{pst-barcode}
\usepackage[notightpage]{auto-pst-pdf}
\usepackage{pstricks}
\pagestyle{fancy}
\fancyhf{}
\newcommand\surname {Somefamily}
\newcommand\firstname {Somename}
\fancyhead[LO,LE]{\begin{textblock*}{80mm}(15mm,16mm) \Huge{\firstname\ \surname} \end{textblock*}}
\rhead{
\begin{pspicture}(20mm,20mm)% save the space
\psbarcode{MECARD:N:\surname,\ \firstname;ADR:\street,\ \streetnumber,\ \zip,\ \country;TEL:\phoneprefix\phone;EMAIL:\mail;;}{eclevel=H width=1.0 height=1.0}{qrcode}
\end{pspicture}}
\begin{document}
Some text
\end{document}
答案1
正如 Stephan Lemke 所建议的,这是一个可行的版本:
\documentclass{article}
\usepackage{fancyhdr,textpos,lipsum,pst-barcode,auto-pst-pdf}
\pagestyle{fancy}
\fancyhf{}
\newcommand\surname{Somefamily}
\newcommand\firstname{Somename}
\newcommand\street{Somestreet}
\newcommand\zip{12345}
\newcommand\streetnumber{42}
\newcommand\country{Noland}
\newcommand\phoneprefix{555}
\newcommand\phone{555-5555}
\newcommand\mail{[email protected]}
% \fancyhead[L]{\begin{textblock*}{80mm}(15mm,16mm) \Huge{\firstname\ \surname} \end{textblock*}}
\newsavebox{\CARD}
\fancyhead[R]{\usebox{\CARD}}
\setlength{\headheight}{77pt}
\begin{document}
\sbox{\CARD}{%
\begin{pspicture}(20mm,20mm)% save the space
\psbarcode{MECARD:N:\surname,\ \firstname;ADR:\street,\ \streetnumber,\ \zip,\ \country;%
TEL:\phoneprefix\phone;EMAIL:\mail;;}{eclevel=H width=1.0 height=1.0}{qrcode}
\end{pspicture}}
\lipsum
\end{document}
注意,必须在之后构建盒子\begin{document}
。
答案2
运行它xelatex
,一切都会好起来:
\documentclass[11pt,a4paper]{scrlttr2}
\usepackage{fontspec}
\setmainfont{Bera Serif}
\usepackage[english,ngerman]{babel}
\usepackage{fancyhdr}
\usepackage{pst-barcode,textpos}
\usepackage{pstricks}
\pagestyle{fancy}
\fancyhf{}
\newcommand\surname {Somefamily}
\newcommand\firstname {Somename}
\def\street{Street}
\def\streetnumber{12}
\def\zip{12345}
\def\country{USA}
\def\phoneprefix{001}
\def\phone{12346}
\def\mail{abc.org}
\fancyhead[LO,LE]{\begin{textblock*}{80mm}(15mm,16mm) \Huge{\firstname\ \surname} \end{textblock*}}
\rhead{%
\begin{pspicture}(20mm,20mm)% save the space
\psbarcode{MECARD:N:\surname,\ \firstname;ADR:\street,\ \streetnumber,\ \zip,\ \country;TEL:\phoneprefix\phone;EMAIL:\mail;;}{eclevel=H width=1.0 height=1.0}{qrcode}
\end{pspicture}}
\begin{document}
Some text
\end{document}