
esta es mi primera pregunta. Busqué por un tiempo pero todavía no pude encontrar una pregunta similar, tal vez me falta la frase de búsqueda correcta. De todos modos, aquí viene.
Mientras escribía una tesis, tengo un problema al ingresar gráficos: obtuve los resultados de los cálculos enumerados en archivos .txt y quiero evitar tener un archivo tex propio para cada gráfico. Entonces mi idea es poner todos los diagramas en un solo archivo, distinguiéndolos por un entorno propio "tikzpicture". Ahora lo que extraño es una forma de decirle a mi documento principal que solo ingrese, digamos, el tercer o quinto diagrama de este archivo tex. ¿Hay alguna forma de hacer esto? ¿Quizás darle a cada tikzpicture algo así como una etiqueta?
Mi objetivo es a) producir menos archivos b) definir un formato para todos mis diagramas y, en caso de que quiera cambiarlo, solo tengo que hacerlo una vez y no en todos los archivos de diagrama.
Si es demasiado complejo, ¿tal vez pueda sugerir otra forma de realizarlo?
Gracias de antemano.
Respuesta1
La solución más fácil, pero también descuidada, sería definir un \newcommand
, para cada imagen tikz que cree en su archivo .tex y luego insertarla en su archivo principal.
Podrías tener un pictures.tex
archivo como este:
\newcommand{\tikzI}{
\begin{tikzpicture}
<insert tikz contents here>
\end{tikzpicture}
}
\newcommand{\tikzII}{
\begin{tikzpicture}
<another tikzpicture>
\end{tikzpicture}
}
Si bien su archivo principal puede verse así:
<preamble>
\begin{document}
\input{pictures}
<some text here>
\tikzI
<more text>
\tikzII
\end{document}
Sin embargo, como sugirió Alan Munn, podría ser más fácil y cómodo asignar cada imagen a su propio archivo y simplemente llamar estos archivos por separado para cada tikzpicture. (Crear un directorio específicamente para tikzpictures, para que no saturan su directorio principal)
Respuesta2
No creo que debas poner todas tus imágenes en un solo archivo. Es mucho más fácil gestionar varios archivos a largo plazo.
Este es un caso de uso ideal para la standalone
combinación de paquete y clase. Cada gráfico individual se puede crear como un standalone
documento y probarlo por sí mismo, pero luego se pueden ingresar en el documento maestro usando el standalone
paquete. Puedes poner tus estilos TikZ comunes en un paquete pequeño. He aquí un ejemplo.
Ponga estilos comunes de TikZ en un paquete
Primero creamos un paquete de nuestros estilos TikZ. Acabo de definir un estilo como ejemplo.
\ProvidesPackage{mytikzstyles}[2017/04/30]
\tikzset{my line/.style={red,very thick}}
Guarde este documento mytikzstyles.sty
en la misma carpeta que su documento, o si los está utilizando para muchos documentos, colóquelo en su texmf
carpeta local en <path-to-local-texmf>/tex/latex/mytikzstyles/
.
standalone
Crear documentos de imagen individuales
A continuación creamos standalone
documentos de clase para cada imagen. La ventaja de esto es que puedes probarlos y modificarlos individualmente ya que son documentos totalmente compilables. En cada documento solo necesitas agregar \usepackage{mytikzstyles}
para acceder a los estilos comunes que has creado.
Image-1.tex
\documentclass[tikz=true,border=10pt]{standalone}
\usepackage{mytikzstyles}
\begin{document}
\begin{tikzpicture}
\draw[my line] (0,0) -- (0,3) -- (3,3) -- cycle;
\end{tikzpicture}
\end{document}
Image-2.tex
\documentclass[tikz=true,border=10pt]{standalone}
\usepackage{mytikzstyles}
\begin{document}
\begin{tikzpicture}
\draw[my line] (0,0) -- (0,3) -- (3,0) -- (3,3) -- cycle;
\end{tikzpicture}
\end{document}
Utilice la standalone
clase para ingresar los archivos.
Ahora nuestro documento principal puede ingresar los archivos de la forma que queramos. Para mantener limpio su directorio de archivos principal, puede colocar todos los documentos de imagen en su propia carpeta. (Asegúrese de que no haya espacios en la carpeta ni en los nombres de archivo).
He aquí un ejemplo:
\documentclass{article}
\usepackage{standalone}
\usepackage{tikz}
\usepackage{mytikzstyles}
\begin{document}
\begin{figure}
\centering
\input{Image-2}
\caption{This is image 2}
\end{figure}
\begin{figure}
\centering
\input{Image-1}
\caption{This is image 1}
\end{figure}
\end{document}