Exportación de Inkscape a LaTeX - vía TikZ

Exportación de Inkscape a LaTeX - vía TikZ

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ú \inputese archivo y TeX hace la composición tipográfica.

En paisaje de tinta:

ingrese la descripción de la imagen aquí

Guardar desde Inkscape después de seleccionar guardar como pdf. Inkscape escribe el archivo topview.pdf_tex:

ingrese la descripción de la imagen aquí

En el documento:

\begin{figure}[h]
\centering{
\resizebox{75mm}{!}{\input{images/topview.pdf_tex}}
\caption{Top view.}
\label{fig:topView}
}
\end{figure}

Producción:

ingrese la descripción de la imagen aquí

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.

información relacionada