programacion pasar paquete maketitle ingresar escribir como colocar codigo latex

pasar - Listado de códigos fuente de LaTeX como en libros profesionales



pasar codigo de matlab a latex (8)

Eche un vistazo al paquete de algorithms , especialmente el entorno de algorithm .

¿Cómo debería ser un listado de código fuente de látex para producir una salida como en libros conocidos, por ejemplo, uno para Spring Framework? He intentado con el paquete de listados de látex, pero no pude producir algo que se viera tan bonito como el que se muestra a continuación. Así que estoy principalmente interesado en las instrucciones de formato para producir algo como la muestra a continuación (del capítulo de muestra de Manning para Spring in Action ):

EDITAR Con la ayuda especialmente de Tormod Fjeldskår, aquí está el fragmento completo para producir el aspecto deseado:

/usepackage{listings} /usepackage{courier} /lstset{ basicstyle=/footnotesize/ttfamily, % Default font % numbers=left, % Location of line numbers numberstyle=/tiny, % Style of line numbers % stepnumber=2, % Margin between line numbers numbersep=5pt, % Margin between line numbers and text tabsize=2, % Size of tabs extendedchars=true, breaklines=true, % Lines will be wrapped keywordstyle=/color{red}, frame=b, % keywordstyle=[1]/textbf, % keywordstyle=[2]/textbf, % keywordstyle=[3]/textbf, % keywordstyle=[4]/textbf, /sqrt{/sqrt{}} stringstyle=/color{white}/ttfamily, % Color of strings showspaces=false, showtabs=false, xleftmargin=17pt, framexleftmargin=17pt, framexrightmargin=5pt, framexbottommargin=4pt, % backgroundcolor=/color{lightgray}, showstringspaces=false } /lstloadlanguages{ % Check documentation for further languages ... % [Visual]Basic, % Pascal, % C, % C++, % XML, % HTML, Java } % /DeclareCaptionFont{blue}{/color{blue}} % /captionsetup[lstlisting]{singlelinecheck=false, labelfont={blue}, textfont={blue}} /usepackage{caption} /DeclareCaptionFont{white}{/color{white}} /DeclareCaptionFormat{listing}{/colorbox[cmyk]{0.43, 0.35, 0.35,0.01}{/parbox{/textwidth}{/hspace{15pt}#1#2#3}}} /captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white, singlelinecheck=false, margin=0pt, font={bf,footnotesize}}

Úsalo con esto en tu documento:

/lstinputlisting[label=samplecode, caption=A sample]{sourceCode/HelloWorld.java}


Estoy feliz con el paquete de listings :

Así es como lo configuro:

/lstset{ language=C, basicstyle=/small/sffamily, numbers=left, numberstyle=/tiny, frame=tb, columns=fullflexible, showstringspaces=false }

Lo uso así:

/begin{lstlisting}[caption=Caption example., label=a_label, float=t] // Insert the code here /end{lstlisting}


Hay varias otras cosas que puedes hacer, como seleccionar nuevas fuentes:

/documentclass[10pt,a4paper]{article} % ... lots of packages e.g. babel, microtype, fontenc, inputenc &c. /usepackage{color} % Leave this out if you care about B/W printing, obviously. /usepackage{upquote} % Turns curly quotes in verbatim text into straight quotes. % People who have to copy/paste code from the PDF output % will love you for this. Or perhaps more accurately: % They will not hate you/hate you less. /usepackage{beramono} % Or some other package that provides a fixed width font. q.v. % http://www.tug.dk/FontCatalogue/typewriterfonts.html /usepackage{listings} /lstset { % A rudimentary config that shows off some features. language=Java, basicstyle=/ttfamily, % Without beramono, we''d get cmtt, the teletype font. commentstyle=/textit, % cmtt doesn''t do italics. It might do slanted text though. /keywordstyle= % Nor does cmtt do bold text. /color{blue}/bfseries, /tabsize=4 % Or whatever you use in your editor, I suppose. } /begin{document} /begin{lstlisting} public final int ourAnswer() { return 42; /* Our final answer */ } /end{lstlisting} /end{document}


Me parece que lo que realmente quieres es personalizar el aspecto de los subtítulos. Esto se hace más fácilmente usando el paquete de caption . Para obtener instrucciones sobre cómo usar este paquete, consulte el manual (PDF) . Es probable que necesite crear su propio formato de título personalizado, como se describe en el capítulo 4 del manual.

Edición: Probado con MikTex:

/documentclass{report} /usepackage{color} /usepackage{xcolor} /usepackage{listings} /usepackage{caption} /DeclareCaptionFont{white}{/color{white}} /DeclareCaptionFormat{listing}{/colorbox{gray}{/parbox{/textwidth}{#1#2#3}}} /captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white} % This concludes the preamble /begin{document} /begin{lstlisting}[label=some-code,caption=Some Code] public void here() { goes().the().code() } /end{lstlisting} /end{document}

Resultado:


Me pregunto por qué nadie mencionó el paquete de Minted . Tiene mucho mejor resaltado de sintaxis que el paquete de listado LaTeX. Utiliza Pygments .

$ pip install Pygments

Ejemplo en LaTeX:

/documentclass{article} /usepackage[utf8]{inputenc} /usepackage[english]{babel} /usepackage{minted} /begin{document} /begin{minted}{python} import numpy as np def incmatrix(genl1,genl2): m = len(genl1) n = len(genl2) M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable #compute the bitwise xor matrix M1 = bitxormatrix(genl1) M2 = np.triu(bitxormatrix(genl2),1) for i in range(m-1): for j in range(i+1, m): [r,c] = np.where(M2 == M1[i,j]) for k in range(len(r)): VT[(i)*n + r[k]] = 1; VT[(i)*n + c[k]] = 1; VT[(j)*n + r[k]] = 1; VT[(j)*n + c[k]] = 1; if M is None: M = np.copy(VT) else: M = np.concatenate((M, VT), 1) VT = np.zeros((n*m,1), int) return M /end{minted} /end{document}

Lo que resulta en:

-shell-escape usar la bandera -shell-escape con el comando pdflatex.

Para obtener más información: https://www.sharelatex.com/learn/Code_Highlighting_with_minted


Para el código R utilizo

/usepackage{listings} /lstset{ language=R, basicstyle=/scriptsize/ttfamily, commentstyle=/ttfamily/color{gray}, numbers=left, numberstyle=/ttfamily/color{gray}/footnotesize, stepnumber=1, numbersep=5pt, backgroundcolor=/color{white}, showspaces=false, showstringspaces=false, showtabs=false, frame=single, tabsize=2, captionpos=b, breaklines=true, breakatwhitespace=false, title=/lstname, escapeinside={}, keywordstyle={}, morekeywords={} }

Y se ve exactamente así


Prueba el paquete de listings . Aquí hay un ejemplo de lo que usé hace un tiempo para tener una lista de Java de color:

/usepackage{listings} [...] /lstset{language=Java,captionpos=b,tabsize=3,frame=lines,keywordstyle=/color{blue},commentstyle=/color{darkgreen},stringstyle=/color{red},numbers=left,numberstyle=/tiny,numbersep=5pt,breaklines=true,showstringspaces=false,basicstyle=/footnotesize,emph={label}} [...] /begin{lstlisting} public void here() { goes().the().code() } [...] /end{lstlisting}

Es posible que desee personalizar eso. Hay varias referencias del paquete de listados. Solo buscalos en google.


Y, haga lo que haga, configure el paquete de listados para usar una fuente de ancho fijo (como en su ejemplo; encontrará la opción en la documentación). La configuración predeterminada utiliza una fuente tipográfica tipográfica en una cuadrícula, que es IMHO, increíblemente fea e ilegible, como se puede ver en las otras respuestas con imágenes. Personalmente, estoy muy irritado cuando debo leer algunos tipos de código en una fuente proporcional.

Intenta establecer una fuente de ancho fijo con esto:

/lstset{basicstyle=/ttfamily}