allineamento \chemfig

  • Creatore
    Topic
  • #87496
    Up
    0
    Down
    ::


    salve a tutti,
    ho due domande relative al pacchetto \chemfig
    il primo è che
    ho un problema nell’allineamento della mia formula chimica…
    non riesco a capire come utilizzare i comandi \schemestart, \schemestop e \par, ho provato a inserirli nella formula ma non mi riesce…
    mi continua a dare errore quindi non riesco ad allineare su 2 linee l’intera reazione che, essendo parecchio lunga, non mi ci sta su una sola…
    il secondo è che
    nel caso in cui l’intera reazione sta in ambiente \begin \end{chemenv} in modo tale che venga indicizzata, come faccio a inserire il nome al singolo elemento della formula…? (es voglio scrivere sotto alla formula ad anelli il suo nome ma non riesco senza che anch’esso venga indicizzato…)

    grazie anticipatamente a tutti!

    `
    \documentclass{article}
    \usepackage[italian]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage{textcomp}
    \usepackage{siunitx}
    \usepackage{booktabs}
    \usepackage{chemfig}
    \usepackage[version=3]{mhchem}

    \begin{document}

    \begin{center}

    \chemname{
    \chemfig{ATP}
    \chemsign{+}
    \chemfig{*6(-=*5(-N=(-*5(=N-(<:(=[6]O)-[9]OH)--S-))-S-)-=-(-[3]OH)=)} \chemsign{+} \chemfig{O_2} \chemrel{->}
    \chemfig{H-[9]*6(=(-H)-*5(-N=(-*5(=N-(=O)-(-H_2)-S-))-S-)=-(-H)=(-OH)-)}
    \chemsign{+}
    \chemfig{AMP}
    \chemsign{+}
    \chemfig{PPi}
    \chemsign{+}
    \chemfig{CO_2}
    \chemsign{+}
    \chemfig{Luce}
    }{Reazione catalizzata dell'enzima luciferasi}

    \end{center}

    \end{document}
    `

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #87497
      Up
      0
      Down
      ::


      Soluzione da profano però in assenza di niente potrebbe, in caso estremo, tornarti utile perché se non altro elimina lo sforamento della figura.
      Innanzitutto l’ho messa nell’ambiente figure (così magari può tornare utile utilizzare i suo comandi sul posizionamento), per la didascalia ho lasciato in bianco lo spazio riservato da chemfig e inserito una normale caption e ho rinchiuso tutta la figura in una resizebox (questo spiega anche il perché di caption… il testo, lasciato nell’ambiente chemfig, sarebbe risultato microscopico).
      Ben lungi da essere elegante ed ottimale, ma se non altro in attesa di altro potrebbe essere d’aiuto.

      `\documentclass{article}
      \usepackage[italian]{babel}
      \usepackage[utf8]{inputenc}
      \usepackage{textcomp}
      \usepackage{siunitx}
      \usepackage{booktabs}
      \usepackage{chemfig}
      \usepackage{caption}
      \usepackage[version=3]{mhchem}

      \begin{document}

      \begin{figure}[ht]
      \centering
      \resizebox{1\textwidth}{!} {
      \chemname{
      \chemfig{ATP}
      \chemsign{+}
      \chemfig{*6(-=*5(-N=(-*5(=N-(<:(=[6]O)-[9]OH)--S-))-S-)-=-(-[3]OH)=)} \chemsign{+} \chemfig{O_2} \chemrel{->}
      \chemfig{H-[9]*6(=(-H)-*5(-N=(-*5(=N-(=O)-(-H_2)-S-))-S-)=-(-H)=(-OH)-)}
      \chemsign{+}
      \chemfig{AMP}
      \chemsign{+}
      \chemfig{PPi}
      \chemsign{+}
      \chemfig{CO_2}
      \chemsign{+}
      \chemfig{Luce}
      }{}
      }
      \caption{Reazione catalizzata dell'enzima luciferasi}
      \end{figure}

      \end{document}`

    • #87498
      Up
      0
      Down
      ::


      Ciao!
      Grazie per avermi risposto!
      Però se rimpicciolisco la figura la reazione appare poco chiara;
      Se lo metto in ambiente figure l’indicizzazione è sbagliata perché mon me lo considera come formula;
      Quindi devo migliorare la leggibilità senza ccompromettere l’ambiente e magari riuscire a scrivere i nomi sotto il singolo elemento.
      Grazie ancora
      Peppe

    • #87499
      Liverpool
      Partecipante
        Up
        0
        Down
        ::


        Perché non spezzi la formula come ti pare con [tt]\schemestart[/tt] e [tt]\schemestop[/tt] fuori da [tt]\chemname[/tt] e inserisci in [tt]\chemname{}[/tt] solo l’ultima riga della formula?

        Ciao

      • #87500
        Up
        0
        Down
        ::


        Faresti meglio ad utilizzare \schemestart e \schemestop. Per potere andare a capo devi prima chiudere la formula con uno \schemestop e poi mettere \par. Altrimenti non lo accetta. Di seguito ho riscritto la tua reazione utilizzando \schemestart e \schemestop. Per l’allineamento ti rimando al manuale del pacchetto e al comando \arrow, se mai non ti piacesse quello automatico.
        `
        \documentclass{article}
        \usepackage[italian]{babel}
        \usepackage[utf8]{inputenc}
        \usepackage{textcomp}
        \usepackage{siunitx}
        \usepackage{booktabs}
        \usepackage{chemfig}
        \usepackage[version=3]{mhchem}
        \setcrambond{3pt}{1pt}{1pt}
        \begin{document}
        \begin{center}
        \schemestart
        ATP
        \+
        \chemfig{*6(-=*5(-N=(-*5(=N-(<:(=[6]O)-[9]OH)--S-))-S-)-=-(-[3]OH)=)} \+ \ce{O_2} \arrow \chemfig{H-[9]*6(=(-H)-*5(-N=(-*5(=N-(=O)-(-H_2)-S-))-S-)=-(-H)=(-OH)-)} \+ AMP \chemsign{+} PPi \+ \ce{CO2} \+ Luce \schemestop\\ Reazione catalizzata dell'enzima luciferasi \end{center} \end{document} ` Spero ti sia utile. :D PS: Ti ho aggiunto il comando \setcrambond{}{}{} che permette di personalizzare il legame uscente dal piano, perché quello di default non mi aggrada. Per maggiori info consulta il manuale del pacchetto se vuoi personalizzarlo.

      • #87501
        Up
        0
        Down
        ::


        Scusa il doppio post, ma mi sono reso conto dopo che la formula nel suo insieme sbordava e rimaneva tagliata. Prova a vedere se questa nuova ti aggrada di più. Ti consiglio comunque di studiarti i vati comandi che ho utilizzato sul manuale.:wink:
        `
        \begin{center}
        \schemestart
        ATP
        \+
        \chemfig{*6(-=*5(-N=(-*5(=N-(<:(=[::-60]O)-[::60]OH)--S-))-S-)-=-(-OH)=)}\+ \ce{O_2} \arrow{->[*{0}Reazione catalizzata dell'enzima luciferasi]}[-90]
        \chemfig{*6(=-*5(-N=(-*5(=N-(=O)–S-))-S-)=-=(-OH)-)}
        \+ AMP \+ PPi \+ \ce{CO2} \+ Luce
        \schemestop

        \end{center}
        `

      • #87502
        Up
        0
        Down
        ::


        Per la seconda domanda, l’ambiente \begin{chemenv} e \end{chemenv} lo hai definito tu? Perché non riesco a trovare niente che al riguardo.

      • #87503
        Up
        0
        Down
        ::


        ciao!
        per quanto riguarda l’allineamento ho risolto proprio come hai detto tu questo pomeriggio…
        adesso mi rimane il problema dell’”indicizzazione”… ma forse risolvo proprio come mi ha detto liverpool e vedo viene…
        vi terrò aggiornati e non mancherò di mettere un post quando finito..
        grazie mille
        peppe

        p.s.
        si l’ambiente \begin{chemenv} mi permette di indicizzare le formule a parte rispetto a tabelle e figure e si crea ad hoc 🙂

      • #87504
        Up
        0
        Down
        ::


        salve a tutti,
        scusate il ritardo,
        alla fine ho risolto così…

        `
        \documentclass[11pt,a4paper,oneside,openright,titlepage]{book}
        \usepackage[italian]{babel}
        \usepackage[utf8]{inputenc}
        \usepackage{chemfig}
        \usepackage{amsmath}
        \usepackage{array,booktabs}
        \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
        \newlength{\mngsp}
        \usepackage{stmaryrd}
        \usepackage{textcomp}
        \usepackage{colortbl}
        \usepackage{booktabs}
        \usepackage[version=3]{mhchem}
        \usepackage{tikz}
        \newcommand{\blocknewline}{\\[3pt]\hspace{0pt}}
        \usetikzlibrary{positioning,shapes,shadows,arrows,patterns,shadings}
        \usepackage{pgfplots}
        \pgfplotsset{/pgf/number format/use comma,compat=newest}
        \usepackage{pdflscape}
        \usepackage{subfig}
        \usepackage[round,sort]{natbib}
        \usepackage{hyperref}
        \makeatletter
        \renewcommand\hyper@natlinkbreak[2]{#1}
        \makeatother
        \usepackage[font=footnotesize, labelfont=bf]{caption}
        \usepackage{siunitx}
        \usepackage[Lenny]{fncychap}
        \ChNameVar{\fontsize{16}{18}\usefont{T1}{phv}{m}{n}\selectfont}
        \ChNumVar{\fontsize{80}{84}\usefont{T1}{ptm}{m}{n}\selectfont}
        \usepackage{fancyhdr}
        \newcommand{\fncyblank}{\fancyhf{}}
        \newenvironment{abstract}%
        {\cleardoublepage \fncyblank \null \vfill \begin{center}
        \bfseries \abstractname \end{center}}%
        {\vfill \null}
        \usepackage{newfloat,caption}
        \DeclareFloatingEnvironment[
        name=Formula,
        fileext=loc,
        listname=Elenco delle formule,
        placement=htbp,
        within=chapter,
        ]{chemenvinn}
        \newenvironment{chemenv}
        {\begin{center}
        \renewcommand\chemname[3][]{##2\captionof{chemenvinn}{##3}}}
        {\end{center}}
        \let\listofformulas\listofchemenvinns
        \usepackage{minitoc}
        \renewcommand\mtctitle{Sezioni}
        \renewcommand\mlftitle{Figure}
        \renewcommand\mlttitle{Tabelle}
        \usepackage{makeidx}
        \makeindex
        \setcounter{tocdepth}{3}
        \setcounter{secnumdepth}{3}

        \begin{document}
        \frontmatter{\tableofcontents\listoffigures\listoftables\listofformulas}
        \mainmatter

        \begin{center}

        \setatomsep{0.7cm}
        \schemestart
        \chemname{\chemfig{*6(-=*5(-N=(-*5(-S–(<:(=[2]O)-[8]O^{-})=N-))-S-)-=-(-[3]OH)=)}}{luciferina} \arrow{->[ATP]}
        \schemestop
        \par
        \schemestart
        \chemname{\chemfig{*6(-=*5(-N=(-*5(-S-(<:(=[6]O)-[8]O-[8]P(=[2]O)(-[6]O)-[8]O-[8]*5(-(-OH)-(-OH)-(-N*5(-(*6(-N=-N=-=))--N=-))--))--N=))-S-)-=-(-[3]OH)=)}}{luciferina-AMP} \arrow{->[*{0}\textcolor{red}{\ce{O_2}}][*{0}$-$\ce{H+}$-$\ce{AMP}$-$\ce{CO_2}]}[-90]
        \schemestop
        \par
        \schemestart
        \chemname{
        \chemfig{*6(-=*5(-N=(-*5(-S-=(-OH)-N=))-S-)-=-(-[3]OH)=)}}{ossiluciferina}
        \chemsign{+}
        \chemfig{PPi}
        \chemsign{+}
        \chemfig{\textcolor{red}{Luce}}
        \schemestop
        \begin{chemenv}
        \chemname{}{Reazione catalizzata dall'enzima luciferasi}
        \label{luciferina}
        \end{chemenv}
        \end{center}

        \end{document}
        `

    Visualizzazione 7 filoni di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top