[RISOLTO] Intestazioni multiple listings

  • Creatore
    Topic
  • #67857
    Up
    0
    Down
    ::


    Ciao a tutti,
    di nuovo. 🙂
    Un problema sempre con il listings, ho provato a cercare nella guida di Lorenzo, nella documentazione e nel forum ma (devo essere stanco forse..) non ho trovato come fare. Ho modificato (come suggerito da Lorenzo) le intestazioni dei codici in “codice” e “lista dei codici”. A questo punto io inserirò (anzi ho inserito visto che ho quasi terminato il lavoro) sia codici di algoritmi sia le linee di istruzioni a video per eseguirli, con i risultati che ne seguono. Queste ultime lo richiamate lungo tutto il lavoro `come si può vedere nel codice \vref{output:pincopallo}` questo perché l’intestazione era, appunto “codice”..però come io stesso mi suggerivo per ricordarmi e differenziarli in realtà non sono righe di codice ma di output…è possibile (mantenendo la stessa numerazione e elencazione nella “lista dei codici”) differenziare le due cose di modo che se scrivo`\lstinputlisting[…]{\listati/ciaociao.m}
    \begin{lstlisting}[…]
    \end{lstlisting}
    `
    sopra il primo compaia “Codice 1.3: …” e nel secondo (che è subito dopo) compaia “Output 1.4: …”?

    Grazie a chiunque mi dia una risposta 🙂 buona serata a tutti.

    Corrado.

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


      Meglio se mostri il codice che hai usato

      Ciao
      Enrico

    • #67859
      Up
      0
      Down
      ::


      Non avevo attivato la segnalazione di risposta e mi sono accorto solo ora…comunque…eccolo

      preambolo “utile” (ho saltato le varie righe commentate e i newcommand per le lettere degli insiemi numerici)

      `\documentclass[12pt,
      a4paper,twoside,openright, %openright per capitoli sempre a dx;
      notitlepage,
      fleqn ,
      %draft
      ]{report}

      \usepackage[T1]{fontenc}
      \usepackage[applemac]{inputenc}
      \usepackage[english,italian]{babel}
      \usepackage[babel]{csquotes}
      \usepackage{emptypage}
      \usepackage{indentfirst}
      \usepackage[binding=7mm]{layaureo}
      \usepackage{microtype}
      \usepackage{pdfpages} %per includere i pdf

      \usepackage{makeidx}

      \usepackage[useprefix,
      style=alphabetic,
      babel=hyphen,
      backref,
      backend=bibtex8,
      hyperref,
      ]{biblatex}
      \bibliography{Bibliografia}

      \usepackage{graphicx}

      \usepackage{amsmath,amssymb,amsthm,
      %mathrsfs,
      MnSymbol,
      amscd}

      \usepackage{xspace} %con \xspace si ottiene uno spazio solo se dopo non c'è un segno di interpunzione ovvero dove serve, se serve
      \usepackage{afterpage} %\afterpage{} esegue appena la pagina corrente è stata composta
      \usepackage{lipsum} %\lipsum[n] genera n paragrafi di testo finto
      \usepackage{footnote} %abilita piè di pagina \footnote{} (DOPO il punto fermo!)

      \usepackage{listings}
      \usepackage{color}
      \definecolor{listinggray}{gray}{0.9}
      \definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
      \lstset{
      backgroundcolor=\color{lbcolor},
      tabsize=4,
      rulecolor=,
      language=Matlab,
      basicstyle=\scriptsize,
      upquote=true,
      aboveskip={1.5\baselineskip},
      columns=fixed,
      showstringspaces=false,
      extendedchars=true,
      breaklines=true,
      prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
      frame=single,
      showtabs=false,
      showspaces=false,
      showstringspaces=false,
      identifierstyle=\ttfamily,
      keywordstyle=\color[rgb]{0,0,1},
      commentstyle=\color[rgb]{0.133,0.545,0.133},
      stringstyle=\color[rgb]{0.627,0.126,0.941},
      numbers=left,
      breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
      escapeinside={&!}{!&}
      }

      \addto\captionsitalian{%
      \renewcommand{\lstlistingname}{Codice}}
      \addto\captionsitalian{%
      \renewcommand{\lstlistlistingname}{Elenco dei codici}}

      \graphicspath{{./figure/}} %indirizzo immagini

      \usepackage[italian]{varioref}
      \usepackage[colorlinks,hyperindex,citecolor=black,bookmarks=false,hyperfootnotes=true]{hyperref} %linkcolor=black
      \hypersetup{
      pdftitle={MioTitolo},
      pdfauthor={Corrado Lanera},
      pdfsubject={MioSoggetto}
      pdfkeywords={MieChiavi}}
      \makeatletter
      \AtBeginDocument{
      \def\vr@f#1{%
      \leavevmode\unskip\vref@space
      \begingroup
      % \let\T@pageref\@pagerefstar
      \hyperref[{#1}]{\ref*{#1}}%
      \vpageref[\unskip]{#1}%
      \endgroup
      }
      }
      \makeatother

      \newcommand{\listati}{../MatLab/completi}
      `
      Poi per richiamare gli indici generali e il resto del “main” (sempre l’essenziale)
      `\makeindex
      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      \begin{document}
      %*********************************************************************************************************************************************************************
      \input{MaterialeInizialeFinale/Titolo}
      \clearpage\input{MaterialeInizialeFinale/Colophon}
      %\cleardoublepage\input{MaterialeInizialeFinale/Dedica}
      \cleardoublepage\input{MaterialeInizialeFinale/Sommario+Abstract}
      \tableofcontents
      %*********************************************************************************************************************************************************************
      \cleardoublepage\input{Capitoli/Introduzione}
      \cleardoublepage\input{Capitoli/Prerequisiti}
      \cleardoublepage\input{Capitoli/Main}
      \cleardoublepage\input{Capitoli/Appendici}
      %*********************************************************************************************************************************************************************
      \input{MaterialeInizialeFinale/Bibliografia}
      \lstlistoflistings
      \addcontentsline{toc}{chapter}{\lstlistlistingname}
      \listoffigures
      \addcontentsline{toc}{chapter}{\listfigurename}
      %\listoftables
      \input{MaterialeInizialeFinale/Indiceanalitico}
      %*********************************************************************************************************************************************************************
      \end{document}
      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%`
      L’indice analitico è composto così:
      `\cleardoublepage
      \addcontentsline{toc}{chapter}{\indexname}
      \printindex`
      Dopodiché basta credo..per richiamare i files dei codici inserisco:
      `\lstinputlisting{\listati/pasticcio.m}
      `
      mentre per gli output copio brutalmente col mela-c la parte del workspace di MatLab che mi interessa e la insersco così:
      `\begin{lstlisting}[float=htb,frame=trBL,caption={LaSolitaCaption_ChePeròVorreiIniziasseConOUTPUT_n.m+1:},label={output:buttafuori},numbers=none]

      \end{lstlistings}
      `
      in generale è così, modulo che a volte metto la p nel float, a volte lo tolgo proprio… (ah..il \nextpage{} mi sa che non riesco a farlo funzionare molto bene…oltre che mi sburta in avanti tutti i codici e spesso li costringe ad ammassarsi a fine capitolo in un unica parte solo per loro..orribile..mi ha anche fatto iniziare un capitolo nuovo nella facciata sinistra…in ogni modo visto che sono riuscito a farne a meno..non lo uso e non mi preoccupo).
      Ecco io alla fine non vorrei due liste di codici una per gli “output” e una per i “codice” ma la stessa lista “lista dei codici” bella così com’è ora, con numerazioni progressive normali. Solo che vorrei che nei codici che voglio sopra ci fosse la scritta CODICE e negli altri OUTPUT, il resto tutto uguale…un po’ come ho fatto per togliere i numeri..cambia solo che lì non ci sono i numeri, e basta.
      Scusate..non mi rendo conto se sono un po’ logorroico o se non arrivo ancora a spiegarmi bene..sarà l’ora…vabbé io intanto inoltro la risposta in caso domani fatemi sapere (ho messo la spunta alla notifica :-))
      grazi mille davvero
      buona notte.

    • #67860
      Up
      0
      Down
      ::


      Dovrebbe essere sufficiente definirsi un nuovo ambiente listing:
      `\lstnewenvironment{Output}[1][]
      {\renewcommand{\lstlistingname}{Output}\lstset{#1}}
      {}`
      e poi, nel documento,
      `\begin{Output}[float=htb,frame=trBL,caption={LaSolitaCaption_ChePeròVorreiIniziasseConOUTPUT_n.m+1:},label={output:buttafuori},numbers=none]

      \end{Output}`
      Ciao
      Enrico

    • #67861
      Up
      0
      Down
      ::

      egreg9″ post=66935Dovrebbe essere sufficiente definirsi un nuovo ambiente listing:
      `\lstnewenvironment{Output}[1][]
      {\renewcommand{\lstlistingname}{Output}\lstset{#1}}
      {}`
      e poi, nel documento,
      `\begin{Output}[float=htb,frame=trBL,caption={LaSolitaCaption_ChePeròVorreiIniziasseConOUTPUT_n.m+1:},label={output:buttafuori},numbers=none]

      \end{Output}`
      Ciao
      Enrico

      Lo chiamavono egreg9 ma in realtaà dietro si nasconde Merlino 🙂
      semplice ed efficace! Mitico!
      Grazie mille 🙂

    • #67862
      Up
      0
      Down
      ::

      Dork” post=66940Lo chiamavono egreg9 ma in realtaà dietro si nasconde Merlino 🙂
      semplice ed efficace! Mitico!
      Grazie mille 🙂

      No, Hank:

      Constantinopolitanischerdudelsackspfeifenmachersgesellschaft

      Ciao
      Enrico

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

Go to top