Controllo dimensione del carattere in grafica in LaTeX durante il ridimensionamento in minipage / subfig?
Domanda
Sto usando grafica PGF / TikZ e mi chiedo come si possa controllare il ridimensionamento delle dimensioni dei font nella grafica quando le si usa in ambienti minipage / subfig?
C'è un modo per impostare manualmente una dimensione di carattere permanente per la grafica PGF / TikZ o in lattice, in generale, in modo da rendere carattere dimensionamento invariante di scala?
Idealmente mi piacerebbe essere in grado di specificare manualmente una dimensione di carattere per ogni elemento grafico o per tutti gli elementi grafici o ambienti subfig / minipage?
Ecco un esempio di utilizzo come suggerito. Grazie per l'aiuto.
\begin{figure}[h]
\centering
\subfloat[Graph 1]{
\begin{minipage}[h]{0.7\linewidth}
\centering\beginpgfgraphicnamed{graph1}
\input{graph1.tex}
\endpgfgraphicnamed
\label{fig:graph1}
\end{minipage}}
\hspace{5pt}
\subfloat[Graph 2]{
\begin{minipage}[h]{0.5\linewidth}
\centering\beginpgfgraphicnamed{graph2}
\input{graph2.tex}
\endpgfgraphicnamed
\label{fig:graph2}
\end{minipage}}
\subfloat[Graph 3]{
\begin{minipage}[h]{0.5\linewidth}
\centering\beginpgfgraphicnamed{graph3}
\input{graph3.tex}
\endpgfgraphicnamed
\label{fig:graph3}
\end{minipage}}
\caption{Three Graphs}
\end{figure}
Forse al di fuori del minipage / subfig posso utilizzare i suggerimenti dall'altro annuncio a rendere il carattere di grandi dimensioni dal momento che il grafico viene ridimensionato con la larghezza della pagina? Quello che stavo per l'esempio è stata la prima immagine su di essa la propria, più grande, e poi due smallimages proprio sotto fianco a fianco con i loro didascalie in una figura.
Ho visto alcuni tag R nel tuo profilo Mica. La grafica vengono generati utilizzando tikzDevice e sono raccolti nel mio doc lattice.
Così sto generando i file senza l'ambiente tikzpicture in modo che le opzioni è possibile impostare manualmente io stesso. Quando uso il \begin{tikzpicture} \end{tikzpicture}
ottengo l'errore "Dimensione troppo grande non posso lavorare con i formati più grandi di circa 19 piedi. Continua e io usare il valore più grande che posso." . Ho bisogno di utilizzare \beginpgfgraphicnamed{} .. \endpgfgraphicnamed{}
per farlo funzionare? Non sono sicuro che l'impatto è esattamente.
Ecco un esempio del file generato automaticamente:
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
........
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{fillColor}{rgb}{1.00,1.00,1.00}
\draw[fill=fillColor,draw opacity=0.00,] ( 0.00, 0.00) rectangle (794.97,614.29);
\end{scope}
........
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{drawColor}{rgb}{0.00,0.00,0.00}
\node[rotate= 90.00,color=drawColor,anchor=base,inner sep=0pt, outer sep=0pt, scale= 1.00] at ( 15.92,310.59) {Mackenzie Net Sales};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
Si spera che è utile, su tutto il file è ~ 1.000 linee in modo ho cercato di tagliare fuori una rappresentazione dei bit unici. Per favore fatemi sapere se avete bisogno di qualsiasi altra cosa.
Molte grazie,
Jay
Soluzione
Io non sono esattamente sicuro di cosa il vostro scopo è. Per modificare la dimensione del carattere o la dimensione del resto dell'immagine? Ci sono più possibilità per raggiungere uno di questi:
Il mio esempio di dialogo con un 1 centimetro x 1 centimetri grande scatola:
\begin{tikzpicture}
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
Scala gli elementi grafici, ma non il testo:
\begin{tikzpicture}[scale=0.5]
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
\begin{tikzpicture}[scale=0.5]
\draw (0,0) rectangle (1cm,1cm) -- +(-1,-1);
\node(text) at (0.5cm,0.5cm) {Text};
\end{tikzpicture}
Scale solo le coordinate (Cioè, se non viene specificato alcun apparecchio, ha usato moltiplica delle x specificate, yez vector):
\begin{tikzpicture}[x=5mm,y=5mm]
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
lunghezze espliciti non vengono modificate con questo:
\begin{tikzpicture}[x=5mm,y=5mm]
\draw (0,0) rectangle (1cm,1cm) -- +(-1cm,-1cm);
\node(text) at (0.5cm,0.5cm) {Text};
\end{tikzpicture}
Scala tutto, anche il testo (in base al pgfmanual, questo non è consigliato):
\begin{tikzpicture}[transform canvas={scale=0.5}]
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
Lo stesso effetto utilizzando i comandi LaTeX:
\scalebox{0.5}{
\begin{tikzpicture}
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
}
Modificare la dimensione del carattere a livello locale, ma la dimensione di elementi grafici non vengono modificati:
\begin{tikzpicture}[font=\scriptsize]
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
Modificare la dimensione del carattere in tutti gli ambienti tikzpicture successive (\tikzset
può essere utilizzato per impostare le opzioni di cui sopra, anche):
\tikzset{font=\scriptsize}
\begin{tikzpicture}
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
\tikzset
rimane locale in gruppi:
\begin{minipage}{\linewidth}
\tikzset{font=\scriptsize}
\begin{tikzpicture}
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
\end{minipage}
{
\tikzset{font=\scriptsize}
\begin{tikzpicture}
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
}
\begin{tikzpicture}
\draw (0,0) rectangle (1,1) -- +(-1,-1);
\node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
Non so se è possibile modificare il file graph?.tex
, o sono questi generato? Forse si può passare le opzioni al programma che genera l'ambiente tikzpicture
. In caso contrario, è sufficiente impostare l'opzione desiderata nel campo di applicazione desiderata utilizzando \tikzset
.
La speranza, che aiuta.
Modifica :
Se le opzioni (come font=
) sono definiti a livello locale nel graph?.tex
, allora questi ottengono la precedenza sulle opzioni definite al di fuori. Se questo è il caso, si può solo non li sovrascrivere dall'esterno. Avresti per modificare i file.
Modifica : Questo esempio "minimale" funziona per me (che mostra davvero un grande "Mackenzie netto di vendita" che supera la larghezza della subfigure)
\documentclass{article}
\usepackage{fix-cm}
\usepackage{subfig}
\usepackage{tikz}
\begin{document}
\tikzset{every picture/.append style={font=\fontsize{100}{120}\selectfont}}
\begin{figure}[h]
\centering
\subfloat[Graph 1]{
\begin{minipage}[h]{0.7\linewidth}
\centering\beginpgfgraphicnamed{graph1}
% \input{graph1.tex}
\endpgfgraphicnamed
\label{fig:graph1}
\end{minipage}}
\hspace{5pt}
\subfloat[Graph 2]{
\begin{minipage}[h]{0.5\linewidth}
\centering
\resizebox{\textwidth}{!}{
%\beginpgfgraphicnamed{graph2}
\begin{tikzpicture}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{fillColor}{rgb}{1.00,1.00,1.00}
\draw[fill=fillColor,draw opacity=0.00,] ( 0.00, 0.00) rectangle (79.497,61.429);
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{drawColor}{rgb}{0.00,0.00,0.00}
\node[rotate= 90.00,color=drawColor,anchor=base,inner sep=0pt, outer sep=0pt, scale= 1.00] at ( 1.592,31.059) {Mackenzie Net Sales};
\end{scope}
\begin{scope}
\path[clip] ( 0.00, 0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\end{tikzpicture}
}
%\endpgfgraphicnamed
\label{fig:graph2}
\end{minipage}}
\subfloat[Graph 3]{
\begin{minipage}[h]{0.5\linewidth}
\centering\beginpgfgraphicnamed{graph3}
% \input{graph3.tex}
\endpgfgraphicnamed
\label{fig:graph3}
\end{minipage}}
\caption{Three Graphs}
\end{figure}
\end{document}
Si prega di verificare se questo funziona per voi, anche. Se lo fa, quindi provare a modificare questo uno fino a quando non funziona più. Qual è il cambiamento di rottura?