From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 2G08LXu302PHYgAAbAwnHQ (envelope-from ) for ; Fri, 27 Jan 2023 12:37:31 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id EH8HLXu302PgtQAAauVa8A (envelope-from ) for ; Fri, 27 Jan 2023 12:37:31 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 23FC8950 for ; Fri, 27 Jan 2023 12:37:30 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pLN27-0006Mg-5d; Fri, 27 Jan 2023 06:36:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pL1J8-0002H7-I2 for emacs-orgmode@gnu.org; Thu, 26 Jan 2023 07:24:47 -0500 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pL1J3-0006FG-EA for emacs-orgmode@gnu.org; Thu, 26 Jan 2023 07:24:45 -0500 Received: by mail-ej1-x629.google.com with SMTP id lc27so2100807ejc.1 for ; Thu, 26 Jan 2023 04:24:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=z61ynITGJVHRxdWHys2LEoDu4rDtG7Iq+BTH5ihBngU=; b=EebWZnyx03CjqylIID1LmQCJUi1tTQzviVJh5RsHuhuyWkw+UH6h3IFYCBQQEMWOXN qfTga3s2IVpaxRm0CarBeUEkC2fwqPJstVjeFqwavXMVzySTD/dRmijno9fZPPP8cF4C 8C5kwtCx+oLnzNRXRC+IGUSGgXqdi73Bl+4c6PiiiTS5Qdv4KELqFmMc3b/ElW/AS2v9 NlN2X6PgK1mURJxvKoMcovF8K/ag68H9TY4nhGEtgc9Cz+3IIc/h7shPYfViQTbIDV1z 8iW95oAC7dCg9Wkvaez71bf+guUeVn8DkFEjeBoEX1T9xsK2qJiiaJXNW+g1+Fx5r68a sYXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=z61ynITGJVHRxdWHys2LEoDu4rDtG7Iq+BTH5ihBngU=; b=5Wl3tZeLAjTVtI+8hWv7GeY1y5N4hlEwZ692fpIPQKrjAeSva/Er8j6dUhkd8F+j3M BXrgxvUJiDet+ynHE3gGftgPqrfr4h1Oj3Ctsb+AJL5Ss+Dqcde+wbXc6JvLwnl/1KY3 lgsWmONzzflMNOzM5G/zGj/EndDwu12Wu6xH+rE/fo1af8FUBrEOi76szNemKM8z9PoB SBVmIP2X8gE1VHhvJBY8NLdxUqcHOMbTcTQScQRYkT3IHxLioc0YyKD9CCdTlKg85Vzc 3Efd05XkaXfNqp2o/nrU86AUeY8irx2HJtvFe7GbOutlv059T/l9akW7Rd2qRxp6r30w 6z9g== X-Gm-Message-State: AFqh2krBIfbFKz8w3TEDXcLTqBf2z9chpFo3zP9ZhCdxhbKTjSUaU30m CIN5etVyY7mlIDAdU+tXHIZFOBT5Jv2fDRkPn+hnr276xfu10w== X-Google-Smtp-Source: AMrXdXtLuZl6luhlpScQTu3meygfKUpjz1e24xtkU7iGW1X7NFtob3bdne957KzM0raden61e69Srjl+TXdkW/H4lSw= X-Received: by 2002:a17:907:2c65:b0:7ba:9c18:11e7 with SMTP id ib5-20020a1709072c6500b007ba9c1811e7mr4850072ejc.198.1674735876643; Thu, 26 Jan 2023 04:24:36 -0800 (PST) MIME-Version: 1.0 From: Gustaf Waldemarson Date: Thu, 26 Jan 2023 13:24:25 +0100 Message-ID: Subject: [BUG] Org-mode Side-by-Side Images [9.5.3 (release_9.5.3-3-gd54104)] To: emacs-orgmode@gnu.org Content-Type: multipart/alternative; boundary="000000000000051f2a05f329d523" Received-SPF: pass client-ip=2a00:1450:4864:20::629; envelope-from=gustaf.waldemarson@gmail.com; helo=mail-ej1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 27 Jan 2023 06:36:36 -0500 X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1674819451; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=z61ynITGJVHRxdWHys2LEoDu4rDtG7Iq+BTH5ihBngU=; b=fVZv++HfHJGdCAMBMMCLHjD2iFTHjn3w06adPVuQ18Oa8BZMy4EtKS/gXhcs3zHasQYwnS /lUK3LbVCW4dJz4QZYmkiif5gttZ1wMt9zxlWJJbZqnxRIV5O0wwLGHDB140vbFMi3/2y/ ULPg6+qIXJZpNzhNSYsdO3UtGzXteRR+aigwz7is0wdMT3wJJaAdPxQEALmgMiAWJaYXNz B9D6TUEjfNp8fNgH00+AWfRfCRCovxutnn5KmZcFTIgG46lBpUdIDMOlPTl6AkT3L1duQq D51sw5Aeo6NHj5e+3NBvECfEvHRL8xG6B5kBUwSIDCks4TZ5iLi/DuYHhUW6Gg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EebWZnyx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1674819451; a=rsa-sha256; cv=none; b=qmqMpi8dqy9ZSMHbi5AZgzgkV1W3KBs0yVIEQssRFjhJzlBJpXWQjGOSgcbrlkdCJmrxHs alhMR4az9rDfjpovPG6xxxew7RlT7HIIZaBdGVyKOFdgyN+2Wo456QDfU2XQ8qtZWsexgp tnzzwN6StzXIrG+/xw8rfv7qllw41VipXkKvcIgtoN1PJAY77QDWlCqTzVKc/9Pzxl4iyQ h6s1gdgJLm28j91hzyWVygJABLLBjvvEjMeJngAweDEHCFG8cerhIdnECC5XEZ96HhZ71P AHp896usohcs6Y8obNNLVNu3eI54gNGPhtycmxnMFlJFsZglp/BDFAGTWOhzxg== Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EebWZnyx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -7.25 X-Spam-Score: -7.25 X-Migadu-Queue-Id: 23FC8950 X-TUID: bhjfaiUTyllR --000000000000051f2a05f329d523 Content-Type: text/plain; charset="UTF-8" Hello! This is a small issue that have vexed me a number of times when I've been writing up a report or something where I want to export the results into multiple formats (such as both LaTeX and HTML in the below example). At least for me, it is very common to want to display more than one image side-by-side, but so far I haven't been able to find any solution that really works in all regards. The example document below shows some of the things I've tried and mentions some of the issues: #+LATEX_CLASS: article #+LATEX_CLASS_OPTIONS: [a4paper,11pt,twoside] #+LATEX_HEADER: \usepackage{svg} #+LATEX_HEADER: \usepackage{subcaption} #+LATEX_HEADER: \usepackage{placeins} #+LATEX_HEADER: \usepackage{float} #+LATEX_HEADER: \usepackage{wrapfig} #+LATEX_HEADER: \usepackage{graphicx} #+LATEX_HEADER: \usepackage{xspace} #+LATEX_HEADER: \captionsetup[subfigure]{labelformat=empty} #+NAME: a #+BEGIN_SRC dot :file /tmp/a.png :cmdline -Tpng -Gsize=9,15\! -Gdpi=10 digraph { 1 -> 2; 2 -> 3; } #+END_SRC #+NAME: b #+BEGIN_SRC dot :file /tmp/b.png :cmdline -Tpng -Gsize=9,15\! -Gdpi=10 digraph { 1 -> 3; 2 -> 3; } #+END_SRC * LaTeX #+BEGIN_CENTER #+ATTR_LATEX: :height 0.4\textwidth :center #+RESULTS: a [[file:/tmp/a.png]] #+ATTR_LATEX: :height 0.4\textwidth :center #+RESULTS: b [[file:/tmp/b.png]] #+END_CENTER * HTML (Works, but can't control height for both images.) #+ATTR_HTML: :align center :height 300 [[/tmp/a.png]] [[/tmp/b.png]] * HTML + LaTeX Works in both HTML and LaTeX but disables per-image attributes (:height, :center etc). Additionally, images in tabular environments tend to be a bit fragile in LaTeX depending on which document style is being used. Also adds undesired lines above/below the table. #+ATTR_HTML: :align center | [[/tmp/a.png]] | [[/tmp/b.png]] | * LaTeX Only LaTeX example using the common 'subfigure' package. \begin{figure} \centering \begin{subfigure}[c]{0.5\textwidth} \centering \includegraphics[width=0.9\textwidth]{/tmp/a.png} \caption{a.png} \end{subfigure} \begin{subfigure}[c]{0.3\textwidth} \centering \includegraphics[width=0.9\textwidth]{/tmp/b.png} \caption{b.png} \end{subfigure} \caption{Subfigures}% \end{figure} This question was originally asked almost 5 years ago on [[ https://emacs.stackexchange.com/questions/38745/orgmode-image-export-side-by-side-to-both-latex-and-html][Emacs Stack Exchange]], but so far only have a very limited solution in my opinion. Ideally, I'm looking for some kind of org-mode environment that could export to most backends (at least HTML and LaTeX) without duplicating the image exports for each of them individually. Does something like that already exist in org-mode? Alternatively, what is the recommended and most portable approach to placing images side-by-side? Best Regards, Gustaf Emacs : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2022-05-04 Package: Org mode version 9.5.3 (release_9.5.3-3-gd54104 @ /home/guswal01/.local/share/emacs/29.0.50/lisp/org/) current state: ============== (setq org-link-elisp-confirm-function 'yes-or-no-p org-directory "/home/guswal01/.config/emacs/org/" org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-log-into-drawer t org-latex-images-centered nil org-export-before-parsing-hook '(org-attach-expand-links) org-archive-hook '(org-attach-archive-delete-maybe) org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function org-ascii-format-drawer-function #[771 " \207" [] 4 "\n\n(fn NAME CONTENTS WIDTH)"] org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-modules '(org-tempo ol-w3m ol-bbdb ol-bibtex ol-docview ol-gnus ol-info ol-irc ol-mhe ol-rmail ol-eww) org-mode-hook '(org-tempo-setup #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes #[0 "\301\211 \207" [imenu-create-index-function org-imenu-get-tree] 2] my-org-hook turn-on-org-cdlatex) org-babel-load-languages '((emacs-lisp . t) (dot . t) (ditaa . t) (python . t) (gnuplot . t) (shell . t) (org . t) (plantuml . t) (latex . t)) org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"] org-latex-format-headline-function 'org-latex-format-headline-default-function org-confirm-shell-link-function 'yes-or-no-p org-adapt-indentation 'headline-data org-html-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"] outline-isearch-open-invisible-function 'outline-isearch-open-invisible org-export-before-processing-hook '(my/org-inline-css-hook) org-latex-classes '(("acmart" "\\documentclass{acmart}" ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}") ("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) ("article" "\\documentclass[11pt]{article}" ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}") ("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) ("report" "\\documentclass[11pt]{report}" ("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")) ("book" "\\documentclass[11pt]{book}" ("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")) ) org-highlight-latex-and-related '(latex) org-odt-format-headline-function 'org-odt-format-headline-default-function org-agenda-before-write-hook '(org-agenda-add-entry-text) org-babel-tangle-lang-exts '(("latex" . "tex") ("python" . "py") ("emacs-lisp" . "el") ("elisp" . "el")) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-latex-default-packages-alist '(("AUTO" "inputenc" t ("pdflatex")) ("T1" "fontenc" t ("pdflatex")) ("" "graphicx" t) ("" "longtable" nil) ("" "wrapfig" nil) ("" "rotating" nil) ("normalem" "ulem" t) ("" "amsmath" t) ("" "capt-of" nil) ("" "hyperref" nil)) org-confirm-elisp-link-function 'yes-or-no-p org-latex-listings 'minted org-html-head-extra "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-html-format-inlinetask-function 'org-html-format-inlinetask-default-function org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default org-latex-prefer-user-labels t org-odt-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"] org-export-backends '(ascii html latex odt) org-confirm-babel-evaluate nil org-latex-format-inlinetask-function 'org-latex-format-inlinetask-default-function org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-link-shell-confirm-function 'yes-or-no-p org-babel-pre-tangle-hook '(save-buffer) org-agenda-loop-over-headlines-in-active-region nil org-occur-hook '(org-first-headline-recenter) org-metadown-hook '(org-babel-pop-to-session-maybe) org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link) ("id" :follow org-id-open) ("treemacs" :store treemacs-store-org-link) ("eww" :follow org-eww-open :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell) ("news" :follow #[514 "\301\300\302 Q \"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"] ) ("mailto" :follow #[514 "\301\300\302 Q \"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"] ) ("https" :follow #[514 "\301\300\302 Q \"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"] ) ("http" :follow #[514 "\301\300\302 Q \"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"] ) ("ftp" :follow #[514 "\301\300\302 Q \"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"] ) ("help" :follow org-link--open-help :store org-link--store-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp)) org-html-format-headline-function 'org-html-format-headline-default-function org-metaup-hook '(org-babel-load-in-session-maybe) org-latex-pdf-process '("latexmk -shell-escape -bibtex -f -pdf %f") org-src-lang-modes '(("plantuml" . plantuml) ("C" . c) ("C++" . c++) ("asymptote" . asy) ("bash" . sh) ("beamer" . latex) ("calc" . fundamental) ("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental) ("elisp" . emacs-lisp) ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . sh) ("sqlite" . sql)) org-tab-before-tab-emulation-hook '(org-tempo-complete-tag) ) --000000000000051f2a05f329d523 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello!

This is a small issue that have vexed me a n= umber of times when I've
been writing up a report or something where= I want to export the results
into multiple formats (such as both LaTeX = and HTML in the below
example).

At least for me, it is very commo= n to want to display more than one
image side-by-side, but so far I have= n't been able to find any solution
that really works in all regards.= The example document below shows some
of the things I've tried and = mentions some of the issues:


#+LATEX_CLASS: article
#+LATEX_C= LASS_OPTIONS: [a4paper,11pt,twoside]
#+LATEX_HEADER: \usepackage{svg}#+LATEX_HEADER: \usepackage{subcaption}
#+LATEX_HEADER: \usepackage{pla= ceins}
#+LATEX_HEADER: \usepackage{float}
#+LATEX_HEADER: \usepackage= {wrapfig}
#+LATEX_HEADER: \usepackage{graphicx}
#+LATEX_HEADER: \usep= ackage{xspace}
#+LATEX_HEADER: \captionsetup[subfigure]{labelformat=3Dem= pty}

#+NAME: a
#+BEGIN_SRC dot :file /tmp/a.png :cmdline -Tpng -G= size=3D9,15\! -Gdpi=3D10
=C2=A0 digraph {
=C2=A0 1 -> 2;
=C2=A0= 2 -> 3;
=C2=A0 }
#+END_SRC

#+NAME: b
#+BEGIN_SRC dot :f= ile /tmp/b.png :cmdline -Tpng -Gsize=3D9,15\! -Gdpi=3D10
=C2=A0 digraph = {
=C2=A0 1 -> 3;
=C2=A0 2 -> 3;
=C2=A0 }
#+END_SRC
* LaTeX

=C2=A0 #+BEGIN_CENTER
=C2=A0 #+ATTR_LATEX: :height 0.4\t= extwidth :center
=C2=A0 #+RESULTS: a
=C2=A0 [[file:/tmp/a.png]]
= =C2=A0 #+ATTR_LATEX: :height 0.4\textwidth :center
=C2=A0 #+RESULTS: b=C2=A0 [[file:/tmp/b.png]]
=C2=A0 #+END_CENTER

* HTML

= =C2=A0 (Works, but can't control height for both images.)

=C2=A0= #+ATTR_HTML: :align center :height 300
=C2=A0 [[/tmp/a.png]]
=C2=A0 = [[/tmp/b.png]]


* HTML + LaTeX

=C2=A0 Works in both HTML a= nd LaTeX but disables per-image attributes (:height,
=C2=A0 :center etc)= . Additionally, images in tabular environments tend to be a bit
=C2=A0 f= ragile in LaTeX depending on which document style is being used. Also adds<= br>=C2=A0 undesired lines above/below the table.

=C2=A0 #+ATTR_HTML:= :align center
=C2=A0 | [[/tmp/a.png]] | [[/tmp/b.png]] |


* L= aTeX Only

=C2=A0 LaTeX example using the common 'subfigure' = package.

=C2=A0 \begin{figure}
=C2=A0 =C2=A0 =C2=A0 \centering=C2=A0 =C2=A0 =C2=A0 =C2=A0\begin{subfigure}[c]{0.5\textwidth}
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 \centering
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 \includegraphics[width=3D0.9\textwidth]{/tmp/a.png}
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 \caption{a.png}
=C2=A0 =C2=A0 =C2=A0 =C2=A0\end{sub= figure}
=C2=A0 =C2=A0 =C2=A0 =C2=A0\begin{subfigure}[c]{0.3\textwidth}=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \centering
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 \includegraphics[width=3D0.9\textwidth]{/tmp/b.png}
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 \caption{b.png}
=C2=A0 =C2=A0 =C2=A0 =C2=A0\= end{subfigure}
=C2=A0 =C2=A0 =C2=A0\caption{Subfigures}%
=C2=A0 =C2= =A0\end{figure}


=C2=A0 This question was originally asked almost= 5 years ago on
=C2=A0 [[