تحكم بحجم الخط في الرسومات في اللاتكس عند القياس في minipage / subfig؟

StackOverflow https://stackoverflow.com/questions/2239328

  •  19-09-2019
  •  | 
  •  

سؤال

أنا أستخدم الرسومات PGF / Tikz وأتساءل كيف يمكن للمرء التحكم في تحجيم أحجام الخطوط في الرسومات عند استخدامها في بيئات المعتقدات / الفرعية؟

هل هناك طريقة لتحديد حجم خط دائم يدويا لرسومات PGF / Tikz أو في اللاتكس بشكل عام

من الناحية المثالية، أود أن أكون قادرا على تحديد حجم الخط يدويا لكل جرافيك أو لجميع بيئات الرسومات أو Subfigg / MiniPage؟

هنا مثال على الاستخدام كما هو مقترح. شكرا للمساعدة.

\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}

ربما خارج miniPage / subfig يمكنني استخدام الاقتراحات من النشر الأخرى لجعل الخط كبير منذ أن يتم تحجيم الرسم مع عرض الصفحة؟ ما كنت ذاهبا في المثال هو الصورة الأولى لها، أكبر، ثم اثنين من الصلغات أسفل الجانب السفلي جنبا إلى جنب مع تعليقها الخاصة في شخصية واحدة.

رأيت بعض علامات ص في ملفك الشخصي ميكا. يتم إنشاء الرسومات باستخدام TikzDevice ويتم التقاطها في My LateX Doc.

لذلك أنا أنظر الملفات دون بيئة Tikzpicture حتى أتمكن من تعيين خيارات يدويا هناك بنفسي. عندما أستخدم \begin{tikzpicture} \end{tikzpicture} أحصل على الخطأ "البعد كبير جدا لا أستطيع العمل بأحجام أكبر من حوالي 19 قدم. متابعة وسأستعب أكبر قيمة يمكنني.". وبعد أحتاج إلى استخدام \beginpgfgraphicnamed{} .. \endpgfgraphicnamed{} للحصول عليه للعمل؟ لست متأكدا من تأثير التأثير بالضبط.

فيما يلي عينة من الملف الذي تم إنشاؤه تلقائيا:

\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}

نأمل أن يكون ذلك مفيدا، على جميع الملفات هو ~ 1000 خطوط، لذلك حاولت قص تمثيل البتات الفريدة. رجاءا، أخبرني إن كنت تحتاج أي شيء آخر.

تشكرات،

جاي

هل كانت مفيدة؟

المحلول

أنا لست متأكدا بالضبط ما هو هدفك. لتغيير حجم الخط أو حجم بقية الصورة؟ هناك إمكانيات متعددة للوصول إلى أي من هذه:

مربع المثال الخاص بي مع مربع كبير 1 سم 1 سم:

\begin{tikzpicture}
    \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 (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}

قم بتوسيع الإحداثيات فقط (أي أنه إذا لم يتم تحديد وحدة واحدة، فقد استخدمت تضاعف من ناقلات X و Y و Z):

\begin{tikzpicture}[x=5mm,y=5mm]
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

لا يتم تغيير أطوال صريحة مع هذا:

\begin{tikzpicture}[x=5mm,y=5mm]
    \draw (0,0) rectangle (1cm,1cm) -- +(-1cm,-1cm);
    \node(text) at (0.5cm,0.5cm) {Text};
\end{tikzpicture}

قم بتوسيع كل شيء، حتى النص (وفقا لل pgfmanual، لا ينصح بذلك):

\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}

نفس التأثير باستخدام أوامر اللاتكس:

\scalebox{0.5}{
\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
}

تغيير حجم الخط محليا، ولكن لا يتم تغيير حجم العناصر الرسومية:

\begin{tikzpicture}[font=\scriptsize]
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

تغيير حجم الخط في جميع بيئات Tikzpicture اللاحقة (\tikzset يمكن استخدامها لتعيين الخيارات أعلاه، أيضا):

\tikzset{font=\scriptsize}
\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

\tikzset لا يزال محلي في مجموعات:

\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}

لا أعرف ما إذا كان يمكنك تحرير الملفات graph?.tex, ، أم أن هذه تم إنشاؤها؟ ربما يمكنك تمرير الخيارات إلى البرنامج الذي يولد tikzpicture بيئة. خلاف ذلك، فقط قم بتعيين الخيار المطلوب في نطاقك المطلوب باستخدام \tikzset.

امل ان يساعد.

تعديل: إذا كانت الخيارات (مثل font=) محددة محليا في graph?.tex, ، ثم تحصل هذه الأسبقية على الخيارات المحددة في الخارج. إذا كانت هذه هي الحالة، فلا يمكنك الكتابة عليها من الخارج. يجب عليك تحرير الملفات.

تعديل: هذا المثال "الحد الأدنى" يعمل بالنسبة لي (إظهار "مبيعات صافي mackenzie كبيرة حقا" التي تتجاوز عرض فرعي)

\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}

يرجى اختبار ما إذا كان هذا يعمل من أجلك أيضا. إذا كان الأمر كذلك، فحاول تعديل هذا واحد حتى لا يعمل بعد الآن. ما هو التغيير كسر؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top