Eu gostaria de usar \scalebox
para dimensionar uma TikZ
imagem (incluída em \input
) que está localizada dentro de um center
ambiente (não preciso de um ambiente flutuante neste caso específico). Mas \scalebox
introduz um ligeiro deslocamento para a esquerda, de modo que o conteúdo não fica mais exatamente centralizado.
\documentclass[DIV=10]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[no-math]{fontspec}
\usepackage{microtype}
\usepackage{tikz}
\usepackage{filecontents}
\begin{document}
\begin{filecontents*}{temp.tikz}
\begin{tikzpicture}
\fill (0,0) rectangle (1,1);
\end{tikzpicture}
\end{filecontents*}
\thispagestyle{empty}
\begin{center}
\scalebox{1.0}{%
\input{temp.tikz}%
}
\end{center}
\end{document}
Para fins de demonstração, usei 1.0
como fator de escala. Você esperaria que a saída fosse a mesma sem usar o \scalebox
ambiente, mas esse não é o caso.
Qual é a causa deste problema e como posso resolvê-lo?
Responder1
Uma imagem tikz é como uma carta.
Se tu vais
\begin{center}
a
\end{center}
então o a está centralizado, mas se você for
\begin{center}
\fbox{
a}
\end{center}
a caixa está centralizada, mas o a está descentralizado, pois há um espaço de palavra à esquerda.
\begin{center}
\fbox{%
a}
\end{center}
é como
\begin{center}
\fbox{a}
\end{center}
e novamente o a está centralizado.
O mesmo posicionamento de a acontece se você usar \mbox
ou \scalebox
mas é mais fácil ver o que está acontecendo com \fbox
.