![TikZ:为什么即使使用居中选项,缩放框后的图片也没有完全居中?](https://linux22.com/image/450334/TikZ%EF%BC%9A%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8D%B3%E4%BD%BF%E4%BD%BF%E7%94%A8%E5%B1%85%E4%B8%AD%E9%80%89%E9%A1%B9%EF%BC%8C%E7%BC%A9%E6%94%BE%E6%A1%86%E5%90%8E%E7%9A%84%E5%9B%BE%E7%89%87%E4%B9%9F%E6%B2%A1%E6%9C%89%E5%AE%8C%E5%85%A8%E5%B1%85%E4%B8%AD%EF%BC%9F.png)
我的身影不知何故居中,但没有确切地居中。为什么?
一个更普遍的问题是:如果我有一张已经计算出坐标的 TikZ 图片,而我无法轻松地重新计算,我该如何缩小和平移图片,以使结果适合可用宽度并水平居中?
我在这个网站上发现了一些类似的问题,有不同的建议(“Overfull \hbox”警告,......),但我仍然不明白。
评论:
- 我正在使用 LuaTeX 进行编译。
- 我没有收到“Overfull \hbox”警告(但如果我使用更大的比例盒因子,就会收到警告)
- 即使我给 TikZ 一些非常正确的坐标,它也会显示相同的三角形
- 我使用了多位小数,因为我认为可能会有一些舍入误差,但这似乎没有什么区别
- 我举的例子是人为的,但只是对我遇到的同样问题的更大情况的简化
\documentclass[article]{jlreq}
\usepackage[a5paper,paperheight=1.00000cm,paperwidth=1.00000cm,top=0.00000cm, bottom=0.00000cm, left=0.00000cm, right=0.00000cm, twoside=false]{geometry}
\usepackage{tikz}
\begin{document}
\begin{figure}[h!]
\centering
\scalebox{0.455400}{
\begin{tikzpicture}
\filldraw [fill=red, draw=none] (12.00000, 1.50000cm) -- (11.00000cm, 1.00000cm) -- (13.00000cm, 1.00000cm);
\end{tikzpicture}
}
\end{figure}
\end{document}
答案1
我认为问题纯粹是行尾引入了额外的杂散空格。%
在类中添加这些行尾可以解决此问题article
(我无法在 OP 的文档类中进行编译)。
\documentclass{article}
\usepackage[a5paper,paperheight=1.00000cm,paperwidth=1.00000cm,top=0.00000cm, bottom=0.00000cm, left=0.00000cm, right=0.00000cm, twoside=false]{geometry}
\usepackage{tikz}
\begin{document}
\begin{figure}[h!]
\centering
\scalebox{0.455400}{%
\begin{tikzpicture}
\filldraw [fill=red, draw=none] (12.00000, 1.50000cm) -- (11.00000cm, 1.00000cm) -- (13.00000cm, 1.00000cm);
\end{tikzpicture}%
}%
\end{figure}
\end{document}