我正在使用psbarcode
它来生成code39
条形码,但遇到了一些奇怪的事情,想知道是否有人可以解释一下。
我正在使用 LaTeX 和 Velocity 的组合。
\begin{pspicture}
%\psbarcode[rotate=90]{${workTicketId}}{includetext height=0.375}{code39} % Windows environment
\psbarcode{${workTicketId}}{includetext height=0.375}{code39} % Linux environment
\end{pspicture}
以上两行中,第一行Windows 环境,目前已被注释掉 - 我发现我必须将条形码旋转 90 度才能使其显示为水平,但在编译时,相同的代码在 Linux 环境中会导致垂直条形码。
第二行,Linux 环境,去掉旋转会导致条形码在Linux环境中是水平的,但在Windows环境中编译时是垂直的。
现在,我可以围绕这些差异编写代码,但我想知道是否有人之前遇到过这种情况,或者是否有人知道这种行为的原因,理想情况下,如果可能的话,我宁愿不要围绕不同的操作系统编写代码。
以下是我的.tex
文件中包含的包:
\usepackage[a4paper, landscape, margin=0.25in]{geometry}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{amssymb}
\usepackage{pst-barcode}
\usepackage{auto-pst-pdf}
\usepackage{xparse}
\usepackage{seqsplit}
\usepackage{array}
\usepackage{longtable, tabu}
\usepackage{fancyhdr}
\usepackage{multicol}
\usepackage[english]{babel}
\usepackage{xstring}
\usepackage{tikz}
答案1
这个在Linux下运行良好:
\documentclass{article}
\usepackage{auto-pst-pdf}
\ifpdf
\usepackage{tikz}
\else
\usepackage{pst-barcode}
\fi
\begin{document}
foo
%
\begin{pspicture}(0,-5mm)(2.5in,0.4in)
\psbarcode{AB123456}{includetext height=0.375}{code39}
\end{pspicture}
\begin{pspicture}(-0.4in,0)(5mm,2.5in)
\psbarcode[rotate=90]{AB123456}{includetext height=0.375}{code39}
\end{pspicture}
%
bar
\end{document}
在 Windows 上运行此命令,xelatex
结果相同:
\documentclass{article}
\usepackage{tikz}
\usepackage{pst-barcode}
\begin{document}
foo
%
\begin{pspicture}(0,-5mm)(2.5in,0.4in)
\psbarcode{AB123456}{includetext height=0.375}{code39}
\end{pspicture}
\begin{pspicture}(-0.4in,0)(5mm,2.5in)
\psbarcode[rotate=90]{AB123456}{includetext height=0.375}{code39}
\end{pspicture}
%
bar
\end{document}