1

我正在使用 pylatex 在我指定的坐标处创建一个带有图像的 pdf。我使用了下面的代码,但无论我输入什么坐标,图像总是在左上角。请帮我。

from pylatex import (Document, TikZ, 
                 TikZNode, TikZCoordinate, 
                 TikZOptions, StandAloneGraphic,  NoEscape)
       
geometry_options = {"margin": "0cm"}
doc = Document(documentclass='standalone',document_options=('tikz'), geometry_options=geometry_options)

doc.append(NoEscape(r'\noindent'))
    
with doc.create(TikZ()) as pic:
    
# img = TikZNode(text='\includegraphics[width=0.8\\textwidth]{example-image-a}',
#                         at = TikZCoordinate(3,4),
#                         options=TikZOptions('inner sep=0pt,anchor=south west'))

img = TikZNode(text=StandAloneGraphic('example-image-a').dumps(),
                at = TikZCoordinate(1,2),
                options=TikZOptions('inner sep=0pt')
                )

pic.append(img)

tex = doc.dumps()

doc.generate_pdf('basic',compiler='lualatex', clean_tex=False)
doc.generate_tex()

德州代码:

\documentclass[tikz]{standalone}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{lmodern}%
\usepackage{textcomp}%
\usepackage{lastpage}%
\usepackage{geometry}%
\geometry{margin=0cm}%
\usepackage{tikz}%
%
%
%
\begin{document}%
\normalsize%
\noindent%
\begin{tikzpicture}%
\node[inner sep=0pt] at (1.0,2.0) {\includegraphics[width=0.8\textwidth]{example-image-a}};%
\end{tikzpicture}%
\end{document}

在我看来,这与这篇文章中的代码非常相似: https ://tex.stackexchange.com/questions/9559/drawing-on-an-image-with-tikz

4

1 回答 1

0

tikz 图片的大小会适应内容,它通常放在页面上任何你使用它的地方,就像你会写一封普通的信一样。

如果您在图片中添加另一个更大的元素,您可以看到这一点。如果您现在使用节点的坐标,您将看到图像四处移动。

通常,您也可以使用该选项相对于纸张定位节点[remember picture, overlay],但是您正在使用standalone该类,它将自动调整纸张大小以适应内容,因此在您的情况下这无济于事。

\documentclass[tikz]{standalone}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{lmodern}%
\usepackage{textcomp}%
\usepackage{lastpage}%
%\usepackage{geometry}%
%\geometry{margin=0cm}%
\usepackage{tikz}%
%
%
%
\begin{document}%
\normalsize%
\noindent%
\begin{tikzpicture}%
\path (-20,-20) rectangle (20,20);
\node[inner sep=0pt] at (3.0,2.0) {\includegraphics[width=0.8\textwidth]{example-image-a}};%
\end{tikzpicture}%
\end{document}
于 2021-11-23T14:01:23.933 回答