การใส่ข้อความข้าง tikzpicture

Putting Text Side Tikzpicture



สารละลาย:

มีสองวิธี:

1. การใส่ข้อความเป็นส่วนหนึ่งของภาพ

คุณต้องเพิ่มโหนดภายในติ๊กซ์รูปภาพ การจำกัดความกว้างของข้อความจะเป็นประโยชน์ และเล่นกับจุดยึดเพื่อจัดวางในตำแหน่งที่ต้องการ เช่น:




ode[text width=6cm, anchor=west, right] at (5,0) {ในแผนภาพนี้ คุณจะพูดอะไรเกี่ยวกับ $angle F$, $angle B$ and $angle E$?};

ในรูป



2. การนำข้อความออกจากสภาพแวดล้อม tikzpicture

สำหรับวิธีแก้ปัญหานี้ คุณต้องจำไว้ว่าสำหรับ TeX ตัวเลขทั้งหมดของคุณเป็นเหมือน a ใหญ่ ส่วนหนึ่งของประโยค ดังนั้นคุณสามารถใส่ข้อความของคุณหลังจาก 'ตัวละคร' นั้นและ TeX จะสร้างย่อหน้าด้วย



egin{tikzpicture} % รหัสของคุณ end{tikzpicture} ในแผนภาพนี้ คุณจะพูดอะไรเกี่ยวกับ $angle F$, $angle B$ and$angle E$ ได้บ้าง

อย่างไรก็ตาม หากคุณลองใช้โค้ดนี้ คุณจะได้ผลลัพธ์แปลกๆ ดังต่อไปนี้:

แปลก

นี่เป็นเพราะคุณรวมบรรทัดนี้ไว้ในรูปของคุณ:



clip(-4.3,-5.44) สี่เหลี่ยม (18.7,6.3);

ทำให้ร่างมีความกว้าง 18.7 ซม. และสูง 6.3 ซม. บรรทัดนี้ไม่จำเป็นและสามารถลบออกได้อย่างปลอดภัย ทำให้เกิด:

ย่อหน้า

คุณจะเห็นว่าตัวเลขนี้ใช้เป็นตัวอักษรตัวใหญ่ ซึ่งเป็นส่วนหนึ่งของย่อหน้า 'ปกติ' อย่างไรก็ตาม ผลลัพธ์ที่ได้นั้นน่าเกลียด เพราะข้อความจะบิดเบี้ยวและดำเนินต่อไปด้านล่างของภาพ

นี้สามารถหลีกเลี่ยงการใส่ข้อความในparbox ซึ่งจะสร้างกล่องที่มีความกว้างคงที่ที่มีข้อความ TeX จะถือว่ากล่องทั้งหมดนี้เป็น 'ถ่านขนาดใหญ่' อีกอัน และวางไว้ข้างรูป:

egin{tikzpicture} % รหัสของคุณ end{tikzpicture} parbox[b]{4cm}{ ในแผนภาพนี้ คุณจะพูดอะไรเกี่ยวกับ $angle F$, $angle B$ and$angle E$? }

ตัวเลือก[b] คือการระบุว่า 'เส้นฐาน' ของช่องนี้อยู่ที่ไหน เส้นฐานถูกจัดแนวในเส้นแนวนอนเดียวกันเมื่อเขียนย่อหน้า รูปภาพ tikz มีเส้นฐานอยู่ที่ด้านล่าง ดังนั้นถ้าเราให้[b] ตัวเลือกของ parbox ทำให้เป็นพื้นฐานที่ด้านล่าง ทั้งสองจะถูกจัดตำแหน่ง:

ชิดด้านล่าง

หากคุณละเว้น[b] ในพาร์บ็อกซ์ พาร์บ็อกซ์ที่ได้จะมีเส้นฐานอยู่ตรงกลาง สิ่งนี้จะจัดตำแหน่งกึ่งกลางของพาร์บ็อกซ์กับด้านล่างของรูปและสิ่งนี้น่าเกลียด เพื่อให้ได้ผลลัพธ์ที่เหมือนกันกว่าในกรณีที่ 1 (ข้อความที่ฝังอยู่ในรูปภาพ tikz) เราจำเป็นต้องเปลี่ยนเส้นฐานของรูปและวางไว้ที่กึ่งกลาง โชคดีtikz มีตัวเลือกง่ายๆ สำหรับสิ่งนี้:

egin{tikzpicture}[baseline=0, ...remaining options...] % Your code end{tikzpicture} hskip{1cm}parbox{4cm}{ ในแผนภาพนี้ คุณจะพูดอะไรเกี่ยวกับ $angle ได้บ้าง F$, $angle B$ and$angle E$? }

ผลิต:

อยู่ตรงกลาง

เพื่อความสมบูรณ์ ฉันจะรวมกรณีของการจัดตำแหน่งบนสุดด้วย ซึ่งค่อนข้างซับซ้อนกว่าส่วนอื่นๆ เล็กน้อย คุณอาจคิดว่า การจัดตำแหน่งบนสุด ก็แค่ใส่เส้นฐานของตัวเลข tikz ที่ด้านบน และใช้[t] ตัวเลือกสำหรับพาร์บ็อกซ์ อย่างไรก็ตามสิ่งนี้ไม่ได้ผลตามที่คาดไว้

อย่างแรก รูป tikz ฉันควรเขียนค่าใดให้ตัวเลือกพื้นฐาน? สามารถรับตัวเลขซึ่งเป็นการวัดจากขอบด้านล่างหรือพิกัดของโหนด ในกรณีนี้ฉันรู้ (อ่านโค้ด) ว่าวงกลมมีรัศมีอยู่รอบ ๆ4 ยูนิตก็ใช้ได้ค่ะเส้นฐาน = 4 ซม. แต่ไม่คำนึงถึงพื้นที่ที่จำเป็นสำหรับฉลาก NS ด้านบนและไม่ใช่วิธีแก้ปัญหาทั่วไป วิธีแก้ปัญหาทั่วไปคือการให้ตัวเลือกพื้นฐาน=(กล่องขอบเขตปัจจุบันเหนือ).

ประการที่สอง the[t] ตัวเลือกสำหรับparbox ไม่ได้วางเส้นฐาน 'ที่ด้านบนสุดของกล่องนั้น' แต่ 'วาง 'ที่เส้นฐานของบรรทัดบนสุดของกล่องนั้นแทน' ดังนั้น เส้นฐานของข้อความบรรทัดแรกจะถูกจัดชิดกับขอบบนของรูปภาพ ดังที่แสดงในรูปต่อไปนี้ (ฉันได้เพิ่มเส้นขอบให้กับรูปภาพเพื่อให้เห็นปัญหาชัดเจนยิ่งขึ้น):

การจัดตำแหน่งไม่ดี

วิธีแก้ไขคือการรวมบรรทัด 'ว่าง' เป็นบรรทัดแรกของกล่องพาร์บ็อกซ์ สามารถทำได้ด้วยvskip0pt. สิ่งนี้จะสร้างเส้นที่ไม่มีความสูงหรือความลึก แต่เนื่องจากเป็นบรรทัดแรกของพาร์บ็อกซ์ มันจึงถูกใช้เป็นเส้นฐาน และอยู่ที่ด้านบนสุดของกล่องนั้นพอดี นี่คือรหัส:

fbox{egin{tikzpicture}[baseline=(current bounding box.north), ...] % รหัสของคุณ end{tikzpicture}} parbox[t]{4cm}{vskip0pt ในแผนภาพนี้ คุณทำอะไรได้บ้าง พูดเกี่ยวกับ $angle F$, $angle B$ and$angle E$? }

การจัดตำแหน่งที่ถูกต้อง


คุณสามารถใช้สองสภาพแวดล้อมมินิเพจ หากคุณต้องการคลิปรูปภาพของคุณ คุณสามารถใช้ตัดซ้ายและตัดแต่งด้านขวาดู pgfmanual สำหรับคำอธิบาย

ไม่ต้องโหลดpgf แต่เท่านั้นtikz และคุณสามารถลดรหัสของคุณ

documentclass[10pt]{article} usepackage[utf8]{inputenc} usepackage{tikz} usetikzlibrary{arrows} pagestyle{empty} egin{document} egin{minipage}{0.5	extwidth} egin{tikzpicture }[line cap=round,line join=round,>=triangle 45,scale=.6,font=scriptsize] draw (0,0) วงกลม (4.01 ซม.) โหนด [ด้านบน]{$A$}; draw (-4.01,0) โหนด[ซ้าย] {$C$} -- (0,0) -- (4.01,0) โหนด [ขวา]{$D$} -- (-0.28,4)โหนด[ ด้านบน] {$B$} -- (-4.01,0) -- (1.62,3.67) โหนด [ด้านบน] {$E$} -- (4.01,0) -- (-2.27,3.3) โหนด [ด้านบน] {$F$} -- รอบ; fill [color=black] (0,0) วงกลม (1.5pt) (-0.28,4) วงกลม (1.5pt) (-4.01,0) วงกลม (1.5pt) (4.01,0) วงกลม (1.5pt) ( 1.62,3.67) วงกลม (1.5pt) (-2.27,3.3) วงกลม (1.5pt); end{tikzpicture} end{minipage}hfill egin{minipage}{0.5	extwidth} ในแผนภาพต่อไปนี้ คุณจะพูดอะไรเกี่ยวกับ $angle F$, $angle B$ and$angle E$ ได้บ้าง end{minipage} end{เอกสาร}

ใส่คำอธิบายภาพที่นี่

ตอนนี้ถ้าคุณต้องการใส่ข้อความและรูปที่ด้านบน

documentclass[10pt]{article} usepackage[utf8]{inputenc} usepackage{tikz} usetikzlibrary{arrows} pagestyle{empty} egin{document} egin{tikzpicture}[baseline=(กล่องขอบเขตปัจจุบัน. ),line cap=round,line join=round,>=triangle 45,scale=.6,font=scriptsize] draw (0,0) วงกลม (4.01 ซม.) โหนด [ด้านบน]{$A$}; draw (-4.01,0) โหนด[ซ้าย] {$C$} -- (0,0) -- (4.01,0) โหนด [ขวา]{$D$} -- (-0.28,4)โหนด[ ด้านบน] {$B$} -- (-4.01,0) -- (1.62,3.67) โหนด [ด้านบน] {$E$} -- (4.01,0) -- (-2.27,3.3) โหนด [ด้านบน] {$F$} -- รอบ; fill [color=black] (0,0) วงกลม (1.5pt) (-0.28,4) วงกลม (1.5pt) (-4.01,0) วงกลม (1.5pt) (4.01,0) วงกลม (1.5pt) ( 1.62,3.67) วงกลม (1.5pt) (-2.27,3.3) วงกลม (1.5pt); end{tikzpicture} hfill egin{minipage}{0.5	extwidth} ในแผนภาพต่อไปนี้ คุณจะพูดอะไรเกี่ยวกับ $angle F$, $angle B$ and$angle E$ ได้บ้าง end{minipage} end{เอกสาร}

ใส่คำอธิบายภาพที่นี่


บรรจุุภัณฑ์tcolorbox ยังมีอีกวิธีหนึ่งในการกระจายกราฟิก/ตารางและข้อความแบบเคียงข้างกัน cbsidebyside box ยอมรับสองพารามิเตอร์ เนื้อหาด้านซ้ายและขวาที่จะกระจายแบบเคียงข้างกัน และsidebyside adapt option อนุญาตให้ประกาศส่วนที่จะกำหนดการกระจายพื้นที่sidebyside align กำหนดตำแหน่งแนวตั้งของทั้งสองส่วน

กับรหัส TikZ นำมาจากคำตอบของ Alain ผลลัพธ์อาจเป็น:

documentclass[10pt]{article} usepackage[utf8]{inputenc} usepackage{tikz} usetikzlibrary{arrows} usepackage[มากที่สุด]{tcolorbox} pagestyle{empty} egin{document} 	cbsidebyside[sidebyside adapt= ซ้าย, ตัวคั่น, ช่องว่างข้างเคียง=1ซม., ชิดข้าง align=ตะเข็บด้านบน]{% egin{tikzpicture}[line cap=round,line join=round,>=triangle 45,scale=.6,font=scriptsize] draw (0,0) วงกลม (4.01 ซม.) โหนด [ด้านบน]{$A$}; draw (-4.01,0) โหนด[ซ้าย] {$C$} -- (0,0) -- (4.01,0) โหนด [ขวา]{$D$} -- (-0.28,4)โหนด[ ด้านบน] {$B$} -- (-4.01,0) -- (1.62,3.67) โหนด [ด้านบน] {$E$} -- (4.01,0) -- (-2.27,3.3) โหนด [ด้านบน] {$F$} -- รอบ; fill [color=black] (0,0) วงกลม (1.5pt) (-0.28,4) วงกลม (1.5pt) (-4.01,0) วงกลม (1.5pt) (4.01,0) วงกลม (1.5pt) ( 1.62,3.67) วงกลม (1.5pt) (-2.27,3.3) วงกลม (1.5pt); end{tikzpicture}% }{ในแผนภาพต่อไปนี้ คุณจะพูดอะไรเกี่ยวกับ $angle F$, $angle B$ and$angle E$?} end{document}

ใส่คำอธิบายภาพที่นี่

และไม่มีตัวเลือก blanker ทั้งหมดสามารถใช้ระฆังและนกหวีด tcolorbox:

documentclass[10pt]{article} usepackage[utf8]{inputenc} usepackage{tikz} usetikzlibrary{arrows} usepackage[มากที่สุด]{tcolorbox} pagestyle{empty} egin{document} 	cbsidebyside[title=A 	exttt{	extbackslash{}tcbsidebyside} ตัวอย่าง sidebyside adapt=left, sidebyside gap=1cm, bicolor, colback=green!10, colbacklower=yellow!10, ปล่อยเงาที่ยกขึ้น, fonttitle=fseries]{% egin{tikzpicture }[line cap=round,line join=round,>=triangle 45,scale=.6,font=scriptsize] draw (0,0) วงกลม (4.01 ซม.) โหนด [ด้านบน]{$A$}; draw (-4.01,0) โหนด[ซ้าย] {$C$} -- (0,0) -- (4.01,0) โหนด [ขวา]{$D$} -- (-0.28,4)โหนด[ ด้านบน] {$B$} -- (-4.01,0) -- (1.62,3.67) โหนด [ด้านบน] {$E$} -- (4.01,0) -- (-2.27,3.3) โหนด [ด้านบน] {$F$} -- รอบ; fill [color=black] (0,0) วงกลม (1.5pt) (-0.28,4) วงกลม (1.5pt) (-4.01,0) วงกลม (1.5pt) (4.01,0) วงกลม (1.5pt) ( 1.62,3.67) วงกลม (1.5pt) (-2.27,3.3) วงกลม (1.5pt); end{tikzpicture}% }{ในแผนภาพต่อไปนี้ คุณจะพูดอะไรเกี่ยวกับ $angle F$, $angle B$ and$angle E$?} end{document}

ใส่คำอธิบายภาพที่นี่