LaTeX: Rimuovere il margine sinistro della messa in vendita all'interno di una tabella

StackOverflow https://stackoverflow.com/questions/3149397

  •  01-10-2019
  •  | 
  •  

Domanda

Utilizzando LaTeX , ho bisogno di mostrare qualche frammento di codice all'interno di una tabella. Ecco un esempio di quello che sto cercando di fare:

\begin{document}
Par exemple :
\begin{center}
\begin{tabular}{lp{5cm}l}
\hline
Méthode & Description & Exemple d'utilisation\\
\hline
\texttt{isLetter()}& Indique si le caractère est une lettre de l'alphabet. &
\begin{lstlisting}[numbersep=0pt]
QChar MyChar('x');
bool IsLetter = MyChar.isLetter();
\end{lstlisting} \\
\hline
\texttt{toUpper()}& Retourne le même caractère mais en majuscules. & toto \\
\hline
\end{tabular}
\end{center}
\end{document}

Ecco il risultato che ottengo:

.

Come si può vedere, c'è un margine sulla sinistra del codice. Credo che questo margine è lì per la numerazione, ma non ho bisogno di numerazione e vorrei sbarazzarsi di esso. Ho provato a cambiare alcune opzioni (numbersep, xleftmargin) ma nessuno sta lavorando come vorrei.

Aggiorna

Ecco il documento completo che dimostra il problema:

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage[frenchb]{babel}
\usepackage{listings}

\begin{document}
   \begin{enumerate}
   \item Par exemple :
      \begin{center}
      \begin{tabular}{lp{5cm}l}
      \hline
      Méthode & Description & Exemple d'utilisation\\
      \hline
      \texttt{isLetter()}& Indique si le caractère est une lettre de l'alphabet. &
      \begin{lstlisting}[numbersep=0pt]
QChar MyChar('x');
bool IsLetter = MyChar.isLetter();
// IsLetter vaut vrai
QChar MyChar2('&');
IsLetter = MyChar2.isLetter();
// IsLetter vaut faux
      \end{lstlisting}\\
      \hline
      \texttt{toUpper()}& Retourne le même caractère mais en majuscules. & toto \\
      \end{tabular}
      \end{center}
   \end{enumerate}
\end{document}

posso dedurre che il problema è perché la tabella è in un punto di un'enumerazione.

C'è un modo per risolvere questo?

È stato utile?

Soluzione

Sì, il margine è infatti proviene dalla enumerazione. Ma per fortuna, la documentazione del pacchetto delle note del pacchetto messa in vendita:

  

resetmargins = true | false (default: false)

     

Se fosse vero, rientro da ambienti della lista come enumerate o itemize   viene ripristinato, vale a dire non utilizzato.

Pertanto, il seguente dovrebbe aiutare:

\begin{lstlisting}[numbersep=0pt,resetmargins=true]

Saluti,
Christoph

Altri suggerimenti

Il problema è causato dall'ambiente tavolo. Da inserti predefiniti lattice un piccolo spazio di fronte a una fila. Ciò può essere evitato utilizzando il codice @{} prima che la prima specifica colonna.

\begin{tabular}{@{}lp{5cm}l}
...
\end{tabular}

Per ulteriori informazioni su @{} vedere questo link .

Il tuo esempio di codice completo sarà quindi

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage[frenchb]{babel}
\usepackage{listings}

\begin{document}
   \begin{enumerate}
   \item Par exemple :
      \begin{center}
      \begin{tabular}{@{}lp{5cm}l}
      \hline
      Méthode & Description & Exemple d'utilisation\\
      \hline
      \texttt{isLetter()}& Indique si le caractère est une lettre de l'alphabet. &
      \begin{lstlisting}[numbersep=0pt]
QChar MyChar('x');
bool IsLetter = MyChar.isLetter();
// IsLetter vaut vrai
QChar MyChar2('&');
IsLetter = MyChar2.isLetter();
// IsLetter vaut faux
      \end{lstlisting}\\
      \hline
      \texttt{toUpper()}& Retourne le même caractère mais en majuscules. & toto \\
      \end{tabular}
      \end{center}
   \end{enumerate}
\end{document}

Un altro approccio è quello di utilizzare un negativo margine sinistro.

\begin{enumerate}[
        xleftmargin=-40pt %the 40pt may not apply depending on your environment
    ]
    % ... your enumeration here ...
\end{enumerate}

(stavo usando questo per annunci frammento di codice)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top