
Solo conozco los conceptos básicos de TikZ, ya que solo lo usé para producir un bonito diagrama de flujo para uno de mis documentos. Recientemente aprendí que puedes usar Inkscape y exportar a TikZ.
¿Cuáles son las limitaciones del flujo de trabajo Inkscape->TikZ? ¿Existe alguna razón convincente para tomarse el tiempo para aprender TikZ (que, según me han dicho, tiene una curva de aprendizaje bastante pronunciada) en lugar de simplemente exportar a TikZ desde Inkscape?
Respuesta1
Editar:@XiaodongQi comenta debajo eso
Las mismas opciones ya no están disponibles en la versión más reciente de Inkscape. Pero existen opciones similares a la hora de guardar el PDF.
Puede guardar sus figuras de Inkscape como archivos PDF y colocarlas en su documento con \includegraphics
. Si tiene texto en sus figuras, puede seleccionar la opción PDF+LaTeX en el menú Guardar como PDF de Inkscape. En su lugar, eso creará un archivo pdf_tex. Tú \input
ese archivo y TeX hace la composición tipográfica.
En paisaje de tinta:
Guardar desde Inkscape después de seleccionar guardar como pdf. Inkscape escribe el archivo topview.pdf_tex
:
En el documento:
\begin{figure}[h]
\centering{
\resizebox{75mm}{!}{\input{images/topview.pdf_tex}}
\caption{Top view.}
\label{fig:topView}
}
\end{figure}
Producción:
Esta es claramente una imagen que podría dibujarse con tikz, pero decidí no hacerlo, por las razones que usted explicó en su respuesta a @HarishKumar: la curva de aprendizaje de tikz más larga y la preferencia por wysiwyg para uso ocasional. Si necesita una ubicación precisa (las líneas realmente se juntan en las esquinas), es posible que pueda hacerlo con las funciones de ajuste de Inkscape. No los he probado todavía.
Respuesta2
Después de exportar (descrita por Ethan Bolker), utilice el siguiente fragmento para incrustar la imagen generada por Inscape:
\begin{figure}
\def\svgwidth{\linewidth}
\input{img/filename.pdf_tex}
\caption{}
\end{figure}
Usando \def\svgwidth{desired width}
en lugar de\resizebox
voluntadpreservar el tamaño de fuente. Esta es la forma recomendada descrita en el encabezado del archivo generado:
%% Creator: Inkscape 0.91_64bit, www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file '_masks.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
Respuesta3
Como otra alternativa, existe una herramientaSVG2TikZ(solía ser Inkscape2TikZ), que se puede utilizar para generar código TikZ.
Si instala el paquete Python desde el repositorio de GitHub, puede convertir un SVG (que puede exportarse desde Inkscape) al código fuente TeX usando TikZ de la siguiente manera:
svg2tikz a.svg > a.tex
También se puede instalar como una extensión de Inkscape.