| View previous topic :: View next topic |
| Author |
Message |
Ezka Guru


Joined: 17 Feb 2005 Posts: 352 Location: par là, mais vraiment ...
|
Posted: Mon May 14, 2007 10:22 pm Post subject: [LATEX] package listings + Code sur 2 colonnes (resolu) |
|
|
Bonjour à tous !
J'ai du code C à mettre sur latex et il m'est demandé d'insérer les parties codes en 2 colonnes. J'utilise le package Listing pour avoir une sortie code sympa, mais malgrés le fait qu'il y ai bien des options pour les "columns" je n'arrive pas à faire en sorte d'avoir 2 colonnes !
Donc d'aprés la doc fournie j'ai mis ça dans mon en-tête :
| Code: | \usepackage{listings}
\lstset{language=c}
\lstset{% general command to set parameter(s)
basicstyle=\tiny, % print whole listing small
keywordstyle=\color{black}\bfseries\underbar,% underlined bold black keywords
%identifierstyle=, % nothing happens
commentstyle=\textit, % white comments
stringstyle=\ttfamily, % typewriter type for strings
showstringspaces=false} % no special string spaces |
Puis quand je veux inserer mon code :
| Code: | \begin{lstlisting}[frame=tb, fontadjust]{main.c}
.... le code ....
\end{lstlisting} |
Bon jusque la il m'insère le texte, c'est joli, bref parfait ... mais c'est sur toute la page. Je le voudrais sur 2 colonnes. J'ai beau lire cette doc, je ne trouve pas la commande/option pour mettre mon bloc listing en 2 colonnes !
Quelqu'un s'en serai déjà servi ? Je prend toute idée, que je n'ai pas eu ! (a savoir mettre \twocolumn avant ).
Le liens ver la doc, j'ai ptêtre raté un truc ... _________________ Ez.
Last edited by Ezka on Tue May 15, 2007 11:14 am; edited 1 time in total |
|
| Back to top |
|
 |
SanKuKai Apprentice


Joined: 17 Feb 2006 Posts: 228 Location: Toulouse, France
|
Posted: Mon May 14, 2007 10:38 pm Post subject: |
|
|
Salut.
Ça fait un p'tit bout de temps que j'ai pas fait de LaTeX mais je propose un truc quand-même
As-tu déjà essayé quelque chose dans ce gout-là :
| Code: |
\usepackage{multicol,listings}
\begin{lstlisting}[multicols=2]
.... le code ....
\end{lstlisting}
|
? |
|
| Back to top |
|
 |
_Seth_ Guru


Joined: 15 Sep 2004 Posts: 534 Location: encore paumé dans un labo ;)
|
Posted: Mon May 14, 2007 10:58 pm Post subject: |
|
|
Salut,
| Ezka wrote: | Quelqu'un s'en serai déjà servi ? Je prend toute idée, que je n'ai pas eu ! (a savoir mettre \twocolumn avant ). |
Tu peux toujours essayer autre chose qu'un \twocolumn, par exemple un minipage ou un columns
| minipage: |
\begin[minipage}{0.5\linewidth}
\begin{lstlisting}[frame=tb, fontadjust]{main.c}
.... le code ....colonne gauche
\end{lstlisting}
\end{minipage}
\begin[minipage}{0.5\linewidth}
\begin{lstlisting}[frame=tb, fontadjust]{main.c}
.... le code ....colonne droite
\end{lstlisting}
\end{minipage}
|
| columns: |
\begin{columns}
\begin{column}{0.5\linewidth}
\begin{lstlisting}[frame=tb, fontadjust]{main.c}
.... le code .... premiere colonne
\end{lstlisting}
\end{column}
\begin{column}{0.5\linewidth}
\begin{lstlisting}[frame=tb, fontadjust]{main.c}
.... le code .... deuxieme colonne
\end{lstlisting}
\end{column}
\end{columns}
|
Je suis moins sûr pour l'environnement columns, je l'utilise pas mal avec beamer et je ne sais pas s'il est défini en "plain" LaTeX.
Juste pour info, ton package c'est bien
Je viens de l'installer, je vais le tester sur une interro que je dois donner demain  _________________ no tears to cry, no feelings left
the species has amused itself to death
amused itself to death |
|
| Back to top |
|
 |
Ezka Guru


Joined: 17 Feb 2005 Posts: 352 Location: par là, mais vraiment ...
|
Posted: Tue May 15, 2007 11:11 am Post subject: |
|
|
Merci a vous 2, ça m'a donner des idées.
@SanKuKai : l'idée était bonne, mais ça marche pas comme ça, mais c'est presque ça ! Et je m'en suis inspirer pour la suite, d'ailleur j'utilise le package multicol qui est bien pratique.
@_Seth_ : Ouip ça pourrait marcher mais ça ne va pas me convenir, car j'avais pas précisé que "j'include" le code sans forcément le copier/coller. Du coup, par ta façon ça m'oblige à adapter mes fichiers, et ce n'est pas vraiment trés pratique.
Donc pour finir voila comment j'ai procédé :
1 - relecture de la doc
2 - Mes commandes qui vont bien :
En en-tête :
| Code: | \usepackage{multicol, listings}
\setlength{\columnseprule}{0.5pt}
\lstset{language=c}
\lstset{% general command to set parameter(s)
basicstyle=\small, % print whole listing small
keywordstyle=\color{black}\bfseries\underbar,% underlined bold black keywords
%identifierstyle=, % nothing happens
commentstyle=\textit, % white comments
stringstyle=\ttfamily, % typewriter type for strings
showstringspaces=false, % no special string spaces
columns=flexible, % colonnes "flexibles"
basewidth={0.45em}, % dimension des colonnes
fontadjust=true, % pour ajuster les polices
breaklines=true} % pour le retour à la ligne dans les colonnes
%Commande perso pour l'insertion du code
\newcommand{\inCode}[1]{\begin{multicols}{2}\lstinputlisting[frame=b]{#1}\end{multicols}}
|
Pour insérer le code :
| Code: | | \inCode{mon_fichier_C.c} |
Et avec ça tout roule  _________________ Ez. |
|
| Back to top |
|
 |
_Seth_ Guru


Joined: 15 Sep 2004 Posts: 534 Location: encore paumé dans un labo ;)
|
Posted: Tue May 15, 2007 2:35 pm Post subject: |
|
|
Effectivement, j'ai pas pensé au include, qui est bien plus pratique
Merci en tout cas pour cette solution, je vais sans doute m'en servir sous peu. _________________ no tears to cry, no feelings left
the species has amused itself to death
amused itself to death |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|