从.tex文件内部

从.tex文件内部

我的目的是创建一个带有精美字体的数字表。我的方法基于tikzpicture:我计划首先生成一堆我想要的数字图像,然后将它们插入到主文档中\includegraphics

目前我的图像有太多空白。这个问题之前在 tex.stackexchange 上出现过,但在这种情况下我无法使建议的解决方案起作用。以下是我得到的结果:

在此处输入图片描述

这是基于此处的建议:

使用精美字体创建徽标

这是代码:

\PassOptionsToPackage{svgnames,x11names}{xcolor}
\documentclass[tikz,margin=0pt]{standalone}
\begin{document}%
\fontfamily{pzc}\selectfont%
\begin{tikzpicture}%
\node[anchor=base, inner sep=0pt, outer sep=0pt, text=Brown4!30!DarkBlue,scale=50]{1};%
\end{tikzpicture}%
\end{document}%

我将inner sep和设置outer sep  为0pt,但这似乎还不够。

欢迎提出建议!

答案1

正如 ignasi 所指出的,问题出在字体本身:

\documentclass{article}
\begin{document}%
\fboxsep=0pt
\fontfamily{pzc}\selectfont%
\fbox{1}
\end{document}%

产生这个:

在此处输入图片描述

比较一下上面和这个:

\documentclass{article}
\begin{document}%
\fboxsep=0pt
%\fontfamily{pzc}\selectfont%
\fbox{1}
\end{document}%

在此处输入图片描述

的左右两侧始终留有空白1。这说明 的standalone边框切割得很好,留空的空间实际上不是边框。

因此,最好的选择是使用imagemagick。现在的问题是让这个过程自动化。你有两种方法:1. 从文件内部执行.tex,2. 使用批处理(.bat适用于 Windows)文件:

.tex文件内部

(使用 编译pdflatex --shell-escape filename.tex):

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{1.tex}
  \PassOptionsToPackage{svgnames,x11names}{xcolor}
\documentclass[tikz,margin=0pt]{standalone}
\begin{document}%
\fontfamily{pzc}\selectfont%
\begin{tikzpicture}%
\node[anchor=base, inner sep=0pt, outer sep=0pt, text=Brown4!30!DarkBlue,scale=50]{1};%
\end{tikzpicture}%
\end{document}%
\end{filecontents*}
%%
%% Produce pdf file
\immediate\write18{pdflatex 1}
%%
%% get png file from pdf
\immediate\write18{convert -density 300 -alpha on 1.pdf 1.png}
%%
%% crop the png file
\immediate\write18{convert -trim  1.png 1-trimmed.png}
%
\begin{document}
  See the same folder as this file.
\end{document}

在此处输入图片描述

批处理文件:

将以下内容保存为文件mytrim.bat

@ECHO ON
cls
REM ECHO.

REM convert pdf to png

CD /D %~dp0
SET Program="convert.exe"
REM convert pdf to png
for %%A in (*.pdf) do %Program%  -density 300 -alpha on %%A %%~nA.png
mkdir pngs
REM convert png to trimmed png
for %%A in (*.png) do %Program%  -trim %%A pngs/%%~nA-trimmed.png
REM delete temporary un-trimmed png files
del *.png
Pause

首先将所有数字以 pdf 格式放在一个文件夹中。放入mytrim.bat同一个文件夹并双击它。pngs将创建一个名为的新文件夹,其中包含修剪后的png文件。

答案2

如果我理解正确的话,剪辑似乎有效:

\PassOptionsToPackage{svgnames,x11names}{xcolor}
\documentclass[tikz,margin=0pt]{standalone}
\begin{document}%
\fontfamily{pzc}\selectfont%
\begin{tikzpicture}%
\clip (-2.45,0) rectangle (3.75,10.25);
\node[anchor=base, inner sep=0pt, outer sep=0pt,text=Brown4!30!DarkBlue,scale=50]{1};%
\end{tikzpicture}%
\end{document}%

相关内容