Какие пакеты доступны для набора SQL в ЛАТЕКСЕ?

Вы можете вызывать это несколько раз, поскольку это асинхронный обратный вызов с использованием модификации Square

public void Prepare_Review_data() {
    try {
        if (token != null) {
            if (isConnected()) try {
                loading = ProgressHUD.show(getContext(), "Loading Reviews", true, false, Heizolscout_Reviews.this);
                Call<JsonElement> call = apiService.Heizolscout_Reviews("Bearer " + token.getAccessToken());
                call.enqueue(new Callback<JsonElement>() {
                    @Override
                    public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {
                        Log.d("History Information", response.toString());
                        loading.dismiss();
                        if (response.code() == 401) {
                            Fragment frag = new Heizolscout_Login();
                            if (frag != null) {
                                FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
                                FragmentTransaction ft = fragmentManager.beginTransaction();
                                ft.replace(R.id.sacreenarea, frag);
                                ft.commit();
                            }
                        } else if (response.code() == 200) {
                            try {
                                Gson gson = new Gson();
                                Type listType = new TypeToken<List<Review_Model>>(){}.getType();
                                ArrayList<Review_Model>noti = gson.fromJson(response.body(), listType);
                                Log.d("Notification success",Review_models.size()+"");
                                if (noti.size()>0){
                                    for (Review_Model n:noti){
                                        Review_models.add(n);
                                    }
                                    Review_Adapter.notifyDataSetChanged();
                                }else {
                                    Toast.makeText(getActivity(),getString(R.string.review_no_list_string), Toast.LENGTH_LONG).show();
                                }
                                Review_Adapter.notifyDataSetChanged();
                            } catch (Exception e) {
                                Log.d("Error Line Number", Log.getStackTraceString(e));
                            }
                            try {
                                Log.d("History error", response.body().getAsJsonObject().get("error").toString());
                                if (!response.body().getAsJsonObject().get("error").isJsonNull()) {
                                    Show_Alert(getString(R.string.open_email), response.body().getAsJsonObject().get("error").toString(), getString(R.string.ok), getString(R.string.normal));
                                }
                            } catch (Exception e) {
                                Log.d("Error Line Number", Log.getStackTraceString(e));
                            }
                        } else if (response.code() == 422) {
                            Show_Alert(getString(R.string.invalid_tittle), getString(R.string.invalid_tittle_details), getString(R.string.ok), getString(R.string.normal));
                        } else {
                            Show_Alert(getString(R.string.error_tittle), getString(R.string.error_tittle_details), getString(R.string.ok), getString(R.string.normal));
                        }
                    }

                    @Override
                    public void onFailure(Call<JsonElement> call, Throwable t) {
                        // Log error here since request failed
                        Log.e("Error", t.toString());
                        Show_Alert(getString(R.string.error_tittle), getString(R.string.error_tittle_details), getString(R.string.ok), getString(R.string.normal));
                        loading.dismiss();
                    }
                });
            } catch (Exception e) {
                loading.dismiss();
                Log.d("Error Line Number", Log.getStackTraceString(e));
            }
            else {
                Show_Alert(getString(R.string.internet_tittle), getString(R.string.internet_details), getString(R.string.ok), getString(R.string.nointernet));
            }
        } else {
            Fragment frag = new Heizolscout_Login();
            if (frag != null) {
                FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
                FragmentTransaction ft = fragmentManager.beginTransaction();
                ft.replace(R.id.sacreenarea, frag);
                ft.commit();
            }
        }
    } catch (Exception e) {
        Log.d("Error Line Number", Log.getStackTraceString(e));
    }
}
6
задан Community 23 May 2017 в 12:02
поделиться

2 ответа

You want to use the listings package. Is there a specific thing you want to do with it, or are you just asking which package works best in general? I've never encountered any big problems with listings, though getting it to do Exactly What I Want is sometimes tricky (it's LaTeX; to expect anything else would be folly).

Edit (to address your edit): intelligent page breaking might be problematic; it's certainly beyond my abilities. listings might be able to do it with explicit markup (escape to LaTeX and insert a negative page break penalty at appropriate place; likely macro-izable), but I don't think listings can do it automatically, and I doubt LGrind can do it either. You might have better luck searching or asking on a LaTeX-specific list (comp.text.tex on Usenet is a great place to try), but page breaking in TeX has never been as good as line breaking, and so I wouldn't hold out too much hope, unfortunately.

6
ответ дан 8 December 2019 в 13:02
поделиться

Я использую пакет листингов , но в основном для фрагментов кода. Мне не нужно беспокоиться о разрывах страниц в целом. Одна из замечательных особенностей списков - это высокая степень гибкости. Например, я не пишу с заглавной буквы свой SQL, но я могу напечатать свои списки с заглавными словами:

\makeatletter
\newcommand{\lstuppercase}{\uppercase\expandafter{\expandafter\lst@token
                           \expandafter{\the\lst@token}}}
\newcommand{\lstlowercase}{\lowercase\expandafter{\expandafter\lst@token
                           \expandafter{\the\lst@token}}}
\makeatother

\lstdefinestyle{Oracle}{basicstyle=\ttfamily,
                        keywordstyle=\lstuppercase,
                        emphstyle=\itshape,
                        showstringspaces=false,
                        }

И определить больше ключевых слов по мере необходимости:

\lstdefinelanguage[Oracle]{SQL}[]{SQL}{
  morekeywords={ACCESS, MOD, NLS_DATE_FORMAT, NVL, REPLACE, SYSDATE,
                TO_CHAR, TO_NUMBER, TRUNC},
}

Чтобы использовать эти определения:

\lstset{language=[Oracle]SQL,
        style=Oracle,
       }

Если бы я распечатывая большие куски кода, я бы не беспокоился о разрывах страниц или написал бы препроцессор, чтобы разделить код перед передачей его в LaTeX .

12
ответ дан 8 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: