come copiaeincollare codici da altri programmi

  • Creatore
    Topic
  • #105980
    Up
    0
    Down
    ::


    Ciao a tutti,
    scusate la domanda banale ma non ho trovato altri topic di questo tipo.
    Come faccio a incollare codici di altri linguaggi senza che LaTeX li interpreti come codici suoi? esempio:
    `”solmg27 =
    NDSolve[{y'[t] + (Log[2]/hlmg27)*
    y[t] – (sigmg27*10^(-3)*10^(-24))*(nneu*solangge)*(rhosi30*
    avnum/QuantityMagnitude[
    IsotopeData[{14, 30}, “AtomicMass”]])*
    pop[datanuc[[k]]][t] == 0, y[0] == 0}, y, {t, 0, TMIS},
    MaxSteps -> 10^6, AccuracyGoal -> 2, PrecisionGoal -> 1,
    MaxStepSize -> 1];
    popmg27[t_] := Extract[Evaluate[y[t] /. solmg27], {1}];
    mg27dec =
    Quiet[(Log[2]/hlmg27)*
    NIntegrate[popmg27[t]*mfun[t], {t, 0, TMIS}, AccuracyGoal -> 2,
    PrecisionGoal -> 1, MaxRecursion -> 10000]] + mg27dec;

    EVTOT =
    Quiet[Round[
    lambda[datanuc[[k]]]*
    NIntegrate[pop[datanuc[[k]]][t], {t, 0, TMIS},
    AccuracyGoal -> 2, PrecisionGoal -> 1, MaxRecursion -> 10000]]]
    ];
    Print[Panel[Column[{
    Panel[
    Text[Style[Row[{“On beam product: “, datanuc[[k]]}], 16, Red,
    Bold, Italic]]],
    Text[
    Style[Row[{“Symbol: “,
    IsotopeData[datanuc[[k]], “FullSymbol”]}], 14, Black, Bold,
    Italic]],
    Text[
    Style[Row[{“Cross section: “, data[[k, 3]], ” mbarn”}], 14,
    Black, Bold, Italic]],
    Text[
    Style[Row[{“Total events produced: “, EVTOT}], 14, Black, Bold,
    Italic]]
    }, Alignment -> Left]]];

    (*Calcoliamo le popolazioni dei discendenti*)
    tmp = Select[decaytab, #[[2]] == datanuc[[k]] && lambda[#[[3]]] > 0 &];
    Do[
    If[dfunc[tmp[[h, 3]], tmp[[h, 4]]] == True,
    cnt = 0;
    sol = Quiet[
    NDSolve[{y'[t] + lambda[tmp[[h, 4]]]*y[t] –
    tmp[[h, 5]]*lambda[tmp[[h, 3]]]*pop[tmp[[h, 3]]][t] == 0,
    y[0] == 0}, y, {t, 0, TMIS}, MaxSteps -> 10^6,
    AccuracyGoal -> 2, PrecisionGoal -> 1, MaxStepSize -> 1]];
    pop[tmp[[h, 4]]][t_] := Extract[Evaluate[y[t] /. sol], {1}];
    cnt = Quiet[
    solangbgoge*lambda[tmp[[h, 3]]]*
    NIntegrate[pop[tmp[[h, 3]]][t]*mfun[t], {t, 0, TMIS},
    AccuracyGoal -> 2, PrecisionGoal -> 1, MaxRecursion -> 10000]];
    famev = Join[famev, {{tmp[[h, 3]], tmp[[h, 4]], Round[cnt]}}];

    If[IsotopeData[tmp[[h, 3]], “AtomicNumber”] –
    IsotopeData[tmp[[h, 4]], “AtomicNumber”] > 0,
    anngamdec = Round[0.05*cnt] + anngamdec];
    tev = Quiet[
    solangbgoge*lambda[tmp[[h, 3]]]*
    NIntegrate[pop[tmp[[h, 3]]][t], {t, 0, TMIS}, AccuracyGoal -> 2,
    PrecisionGoal -> 1, MaxRecursion -> 10000]];
    If[tev > 0,
    ratio = 100*SetPrecision[(cnt/tev), 3],
    ratio = 0];
    Print[Panel[Column[{
    Panel[Text[Style[Row[ “`

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #105981
      Up
      0
      Down
      ::


      vorrei che nel pdf si visualizzassero così come sono.

    • #105982
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::



        @cindy91
        , non è la prima volta che scrivi, quindi leggi e segui questo sito.
        Certamente hai visto che qui si consiglia sempre di leggere almeno la guida per neofiti L’Arte di scivere con LaTeX.
        Lì ci sono diverse risposte alla tua domanda.

        Il concetto è di scrivere “verbatim”, cioè “alla lettera”; Latex è già dotato di un suo dell’ambiente verbatim. Se vuoi qualcosa di meglio e funzionante anche con XeLaTeX e LuaLaTeX puoi ricorrere al pacchetto fancyvrb, di cui ti suggerisco di leggere la documentazione, perché le cose che puoi fare oltre a scrivere “alla lettera” i tuoi codici sono molte. Poi c’è il pacchetto listings, molto bello che può colorare diversamente le diverse “parole” che compaiono nel listato di un programma; ha qualche problemino con i caratteri non ASCII, ma si può superare facilmente se questi caratteri non sono molti. Ottima documentazione da leggere prima di cominciare ad usarlo. Per certi scopi è molto utile il pacchetto tcolorbox, che d’altronde si appoggia a listings, ma gestisce i codici un modo ancora più attraente. Ottima documentazione, come al solito da leggere prima di usarlo.

      • #105983
        Up
        0
        Down
        ::


        Però il pacchetto litings non me lo fa scaricare. Ho TeXMaker. Sono andata su CTAN, ho scaricato una cartella zip che si chiama listings (come si consiglia di fare sul sito GUIT) e l’ ho scaricata ma ora non so che devo fare.
        A quanto pare c’ è qualche problema con miktex, non mi fa scaricare nessun pacchetto, mi manda il messaggio: errore HTTP…service unavailable

      • #105984
        Up
        0
        Down
        ::

        cindy91″ post=106047Però il pacchetto litings non me lo fa scaricare. Ho TeXMaker. Sono andata su CTAN, ho scaricato una cartella zip che si chiama listings (come si consiglia di fare sul sito GUIT) e l’ ho scaricata ma ora non so che devo fare.
        A quanto pare c’ è qualche problema con miktex, non mi fa scaricare nessun pacchetto, mi manda il messaggio: errore HTTP…service unavailable

        Addirittura scaricare listings? Uhm, sei fuori strada. Ho come l’impressione che tu abbia installato una versione di MiKTeX parziale, è così? Hai forse installato MiKTeX Basic? Ebbene, se così fosse, avresti fatto malissimo.

        Nella guida che ti ha consigliato @OldClaudio, Lorenzo e io abbiamo scritto a chiare lettere che gli utenti di LaTeX sono padroni di installare MiKTeX o la TeX Live, ma che in ogni caso debbono scegliere la loro versione completa.
        I motivi che corroborano questa raccomandazione sono forse milioni, tra cui il tuo: ora ti serve listings e non ce l’hai, né per ora lo puoi avere tramite il gestore pacchetti di MiKTeX perché il servizio non è disponibile.

        Credi a me: disinstalla MiKTeX Basic e installa al suo posto MIKTeX completo. Non è il momento, ora, di installare la TeX Live, che è il sistema TeX/LaTeX consigliato in questo forum e nella guida che hai sotto mano, perché da ieri gli aggiornamenti non sono più disponibili e non lo saranno per due mesi circa. Passati questi due mesi, scàricati e installa la TeX Live 2016, aggiornala e vedrai che vivrai meglio.

        Texmaker non c’entra nulla con i pacchetti: è solo uno strumento per scrivere codice LaTeX e interagire con TeX mediante i suoi pulsanti. Ah: ti consiglio TeXStudio.

        Per il momento, decomprimi il file [tt].zip[/tt] che contiene listings e sposta il file [tt]listings.sty[/tt] nella tua cartella di lavoro. Poi tutto funziona.

        E leggiti una guida introduttiva. 🙂

        Ciao
        Tommaso

      • #105985
        Up
        0
        Down
        ::

        illinguista1972″ post=106049[…]
        Per il momento, decomprimi il file [tt].zip[/tt] che contiene listings e sposta il file [tt]listings.sty[/tt] nella tua cartella di lavoro. Poi tutto funziona.
        […]

        Eh, no, ho paura che non sia così semplice: il file [tt]listings.zip[/tt] che si scarica dal CTAN non contiene gli “eseguibili”, ma solo i sorgenti nel solito formato [tt].dtx[/tt] + [tt].ins[/tt]. Però c’è anche un bellissimo [tt]Makefile[/tt], per cui si può semplicemente procedere nel modo seguente:

        1. Decomprimere il file [tt]listings.zip[/tt]: si ottiene una cartella di nome [tt]listings[/tt].
        2. Dalla linea di comando, rendere tale cartella la cartella di lavoro:`cd <...>listings`
        3. Sempre dalla linea di comando, impartire il comando`make listings`
        4. A meno che non abbiate configurato opportunamente voi stessi il vostro sistema, la compilazione dovrebbe arrestarsi con un messaggio d’errore:
          `
          ! You haven't defined the output directory for `tex/latex/listings'.
          Subsequent files will be written to the current directory.
          \undefined@directory … to the current directory}
          \let \destdir \WriteToDir
          \usedir …dir@#1}\relax \undefined@directory {#1}
          \else \edef \destdir {\csn…
          l.20 \usedir{tex/latex/listings}

          ?
          `
          Ignoratelo e premete per continuare.

        5. La compilazione dovrebbe ora terminare senza altri errori, ma con un avvertimento:
          `
          *
          * You probably need to move all created `.sty' and `.cfg'
          * files into a directory searched by TeX.
          *
          * And don't forget to refresh your filename database
          * if your TeX distribution uses such a database.
          *
          `
        6. A questo punto dovreste trovare che la cartella di lavoro (che è sempre [tt]listings[/tt]) contiene dei nuovi file, tra i quali:
          `
          listings-acm.prf
          listings-bash.prf
          listings-fortran.prf
          listings-lua.prf
          listings-python.prf
          listings.cfg
          listings.sty
          lstdoc.sty
          lstlang1.sty
          lstlang2.sty
          lstlang3.sty
          lstmisc.sty
          `
          Questi sono appunto i file che devono essere spostati in una cartella dove (pdf)TeX possa trovarli: provvisoriamente, li si può collocare nella stessa cartella nella quale si trova il sorgente [tt].tex[/tt] che si vuole compilare.

        Al punto 3, dovrebbe essere la stessa cosa impartire invece il comando`tex listings.ins`senza passare per il [tt]Makefile[/tt]: non mi sono però dato la pena di verificare.

        Come si vede, è molto meglio installare distribuzioni complete! 🙂

        Ciao.


        Gustavo

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

    Go to top