Поскольку @Andrew Hare заявляет в своем ответе , получение значения значения сервера HTTP_REFERRER (которое является заголовком, отправленным как часть HTTP-запроса), сообщит вам сайт, который браузер последний.
Однако следует отметить, что вполне возможно, что эта переменная header / server не будет иметь значения по ряду законных причин, а некоторые из них:
Все вышеизложенное - действительно вариации на одну и ту же вещь, случай, когда одно и то же окно браузера используется для перехода на другой сайт, но не было предложено щелчком по по ссылке в документе, который их ведет, перенаправление или какое-либо другое действие, вызванное страницей в истории до вашего.
Используйте пакет listings
.
Простая конфигурация для заголовка LaTeX (до \begin{document}
):
\usepackage{listings}
\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}
Вы можете изменить язык по умолчанию в середине документа с помощью \lstset{language=Java}
.
Пример использования в документе:
\begin{lstlisting}
// Hello.java
import javax.swing.JApplet;
import java.awt.Graphics;
public class Hello extends JApplet {
public void paintComponent(Graphics g) {
g.drawString("Hello, world!", 65, 95);
}
}
\end{lstlisting}
Вот результат:
Вы также можете использовать дословную среду
\begin{verbatim}
your
code
example
\end{verbatim}
Использовать Чеканить .
Это пакет, который облегчает выразительную подсветку синтаксиса в LaTeX, используя мощную библиотеку Pygments . Пакет также предоставляет опции для настройки выделенного вывода исходного кода, используя fancyvrb .
Это гораздо более развитый и настраиваемый, чем любой другой пакет!
Вот как добавить встроенный код:
Вы можете добавить встроенный код с помощью {\tt code }
или \texttt{ code }
. Если вы хотите отформатировать встроенный код, то лучше всего создать собственную команду
\newcommand{\code}[1]{\texttt{#1}}
Также обратите внимание, что блоки кода можно загружать из других файлов с помощью
\lstinputlisting[breaklines]{source.c}
breaklines
не требуется, но я считаю это полезным. Имейте в виду, что для этого вам нужно будет указать \usepackage{
списки }
.
Специализированные пакеты, такие как minted
, в которых для форматирования используются фрагменты, предлагают различные преимущества по сравнению с пакетом listings
. Цитируя из руководства minted
,
,Pygments предоставляет намного лучшую подсветку синтаксиса по сравнению с обычными пакетами. Например, списки в основном только выделяют строки, комментарии и ключевые слова. С другой стороны, фрагменты можно полностью настроить, чтобы выделить любой вид токена, который может поддерживать исходный язык. Это может включать специальные последовательности форматирования внутри строк, чисел, различные виды идентификаторов и экзотические конструкции, такие как HTML-теги.
Поскольку это еще не было упомянуто здесь, возможно, стоит добавить еще одну опцию, package spverbatim
(без подсветки синтаксиса):
\documentclass{article}
\usepackage{spverbatim}
\begin{document}
\begin{spverbatim}
Your code here
\end{spverbatim}
\end{document}
Также, если подсветка синтаксиса не требуется, пакет alltt
:
\documentclass{article}
\usepackage{alltt}
\begin{document}
\begin{alltt}
Your code here
\end{alltt}
\end{document}
Чеканивший работы в На обороте , Живой TEX и MiKTeX.
Пример:
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}[mathescape, linenos]{python}
# Note: $\pi=\lim_{n\to\infty}\frac{P_n}{d}$
title = "Hello World"
sum = 0
for i in range(10):
sum += i
\end{minted}
\end{document}
Вывод: