PC心得帖

2025/09/17

研究や教育で用いられるコンピュータについての心得を書いておきます. 最近は段々多くなってきたので目次をつけておきます.

  1. Rによる散布図を一括生成
  2. Rによる記述統計スクリプト
  3. Rの始め方:データの読み込み
  4. Stataで記述統計量をつくる
  5. excelで出席を集計する方法
  6. LaTeXで図を簡単に書く方法
  7. TeXでOHPシートの作り方
  8. dviファイルをpdfファイルに変換する方法
  9. LaTeXで表を簡単に作る方法
  10. Excel のグラフを TeX 形式のファイルに載せる方法
  11. Excel のグラフを HTML 形式のファイルに載せる方法
  12. TeXの起動
  13. LaTeXで左右のマージン
  14. LaTeXで色を表示
  15. LaTeXでテストの問題番号を自動化
  16. Windowsのショートカットキー
  17. LaTeXで最初のページにページ番号を入れない
  18. Geocities のページに広告を入れない
  19. Excelの図をEPSファイルにする方法
  20. Windows 2000/XPでパスを設定する方法
  21. LaTeX文章の文字数を数える方法

Rによる散布図を一括生成

本ページは、横軸に任意の列(VARX)を指定し、 縦軸に VARS_use の各変数を順に取り、 黒丸の点+右側に都道府県番号(no のラベルを付けた散布図を PNGで連続保存する R スクリプトの解説です。既存のページと同じフォームで整えています。

▶ r_scatter.R をダウンロード スクリプトへ

目的

横軸を VARX に、縦軸を VARS_use の各列に設定して、 ファイル名 VARX_YVAR_タイムスタンプ.png で一括出力します。 タイムスタンプは毎回新規に生成します。

前提

使い方(最短)

  1. このページ上部のボタンから r_scatter.R をダウンロード。
  2. RStudioで開き、先頭の VARX"clinic"(既定)や "homedeath" などに変更。
  3. 上で Source 実行(Ctrl+Shift+Enter)。作業フォルダに PNG が複数出力されます。

スクリプト全文

# ===== 横軸に使う列名を最初に定義 =====
# VARX <- "homedeath"  # ← 必要に応じて "age" などに変更
VARX <- "clinic"  # ← 必要に応じて "age" などに変更

# 必要列の存在確認
if (!VARX %in% names(dat)) stop(sprintf("'%s' がデータにありません。", VARX))
if (!"no" %in% names(dat)) stop("'no' 列(都道府県番号)がデータにありません。")

# x軸・ラベル(数値化と文字化)
x   <- as.numeric(gsub(",", "", dat[[VARX]]))
lab <- as.character(dat[["no"]])

# タイムスタンプは毎回新規作成
plot_ts <- format(Sys.time(), "%y%m%d%H%M%S")

# y軸に回す変数(横軸と同じ列は除外)
y_vars <- setdiff(VARS_use, VARX)
if (!length(y_vars)) stop("縦軸に回す変数がありません。")

for (yvar in y_vars) {
  y  <- as.numeric(gsub(",", "", dat[[yvar]]))
  ok <- is.finite(x) & is.finite(y) & !is.na(lab)

  if (!any(ok)) {
    cat(sprintf("skip: %s(有効な観測がありません)\n", yvar))
    next
  }

  # ファイル名:x軸名_Y軸名_タイムスタンプ.png
  fname <- paste0(VARX, "_", yvar, "_", plot_ts, ".png")

  png(filename = fname, width = 1600, height = 1200, res = 200)
  par(mar = c(5, 5, 2, 2))

  # 黒丸を描画 → すぐ右に都道府県番号 no を表示
  plot(x[ok], y[ok],
       pch = 16, col = "black",
       xlab = VARX, ylab = yvar,
       main = paste0("Scatter: ", yvar, " vs ", VARX))
  grid()
  text(x[ok], y[ok], labels = lab[ok],
       pos = 4, offset = 0.4, cex = 0.9, col = "black")

  dev.off()
  cat("saved:", normalizePath(fname), "\n")
}

各ブロックの説明

VARX <- "clinic"
横軸に使う列名。"homedeath" などに差し替え可。
存在チェック
if (!VARX %in% names(dat)) ...if (!"no" %in% names(dat)) ... で安全確認。
数値化とラベル
桁区切りカンマを削除して数値に変換。ラベルは no を文字列に。
タイムスタンプ
plot_ts <- format(Sys.time(), "%y%m%d%H%M%S") を毎回新規生成し、ファイル名に付与。
縦軸候補の列
y_vars <- setdiff(VARS_use, VARX) で横軸と同名の列を除外。
ループとファイル名
yvar について {VARX}_{yvar}_{timestamp}.png を保存。
描画
黒丸(pch=16)で点を描画し、text(..., pos=4, offset=0.4) で右隣に番号ラベルを配置。

Tips

ページ先頭へ

Rによる記述統計スクリプト

こうしてみるとRもStataも一長一短があり,どちらも難しさや洗練されていない部分を感じます.ベクトルや行列の操作はRが長けています.Stataは転置'するのを忘れると行と列が逆さまになります.また,エクセルファイルを読み込むときにエラーではないですが,注意が出てきて煩わしい.

d1.r をダウンロード

目的

指定したデータフレーム(既定:zaishishin)から複数列の記述統計 (mean / sd / cv / min / max)を計算し,タイムスタンプ付きの Excel(例: 在支診_250916113045.xlsx)に書き出すための最小スクリプトです.

使い方(最短)

  1. RStudioで新規 Rスクリプト を開き,下の「スクリプト全文」を貼り付けて保存.
  2. 先頭の DATA_NAME をあなたのデータ名に合わせる(例:そのまま "zaishishin").
  3. エディタ上部の SourceCtrl + Shift + Enter)で一括実行.
  4. 作業ディレクトリ(getwd())に Excel が出力されます.

スクリプト全文

# ===================== データフレーム名を指定 =====================
DATA_NAME <- "zaishishin"  # ← ここを必要に応じて変更
dat <- get(DATA_NAME, envir = .GlobalEnv)   # 文字列の名前をグローバル環境から取り出す

# ===================== 出力ファイル名 ===================== 
FILE_PREFIX <- "在支診" # ← 出力するエクセルファイルの前の名前 

# ===================== 変数ベクトル ===================== 
VARS <- c("medi_population", "care", "clinic", "homedeath", "nursingdeath", "age", "income", 
          "Medical_care_inpatient_p", "Inpatient_living_p", "Reimbursements_etc_p") 
 
# ===================== 統計量ベクトル ===================== 
STATS <- c("mean", "sd", "cv", "min", "max")   # 計算自体は下で固定(参考として保持)
 
# ===== 計算 ===== 
VARS_use <- VARS[VARS %in% names(dat)]; if (!length(VARS_use)) stop("対象列がありません.")
L <- lapply(VARS_use, function(v) as.numeric(gsub(",", "", dat[[v]])))  # カンマ削除→数値化

m  <- sapply(L, mean, na.rm = TRUE)
s  <- sapply(L, sd,   na.rm = TRUE)
cv <- ifelse(is.finite(m) & m != 0, s / m, NA_real_)  # 変動係数(CV)=sd/mean.meanが0/非有限→NA
mn <- sapply(L, function(x) suppressWarnings(min(x, na.rm = TRUE)))
mx <- sapply(L, function(x) suppressWarnings(max(x, na.rm = TRUE)))

results_df <- data.frame(
  Variable = VARS_use, mean = m, sd = s, cv = cv, min = mn, max = mx,
  check.names = FALSE, row.names = NULL
)

# ===== Excel 出力(簡潔版) ===== 
if (!requireNamespace("openxlsx", quietly = TRUE)) install.packages("openxlsx")
timestamp <- format(Sys.time(), "%y%m%d%H%M%S")
out_file  <- paste0(FILE_PREFIX, "_", timestamp, ".xlsx")
openxlsx::write.xlsx(results_df, out_file, rowNames = FALSE)
cat("出力:", normalizePath(out_file), "\n")

パラメータ説明

よくあるエラー

ページ先頭へ

Rをはじめる

昔Rを使っていたのですが,この論文とかかなり忘れてしまったので,備忘録を書きます.RStudioは便利ですがRぽさが無くなりました.

このページは,作業ディレクトリの設定 → Excel の読み込み → 別スクリプト d1.r の実行,という一連の流れを start.r にまとめる際の説明です.

スクリプト本文

setwd("c:/Users/t/dropbox/arbeit") # 適切なディレクトリを選ぶ.ここではarbeit
getwd() # 作業ディレクトリの確認
# install.packages("readxl") # 下がエラーならパッケージを読み込む
library(readxl) # エクセルファイルを読みたい
zaishishin <- read_excel("C:/Users/t/Dropbox/arbeit/zaishishin.xlsx") # エクセルファイルを読み込む.ここではzaishishin
source("C:/Users/t/Dropbox/arbeit/d1.r", encoding = "UTF-8", echo = TRUE, chdir = TRUE) # Rの実行.ここではd1.r

行ごとの説明

setwd("c:/Users/t/dropbox/arbeit")
作業ディレクトリ(カレントフォルダ)を設定.以降の相対パスはここ基準で解決されます(Windowsでも / 区切りが安全).
getwd()
現在の作業ディレクトリを確認.
# install.packages("readxl")
初回のみ readxl をインストール(必要なときにコメントを外して実行).
library(readxl)
Excel 読み込み用のパッケージをロード.
zaishishin <- read_excel(".../zaishishin.xlsx")
Excel を読み込んでデータフレーム zaishishin を作成.シート指定は sheet = "Sheet1" など.
source(".../d1.r", encoding="UTF-8", echo=TRUE, chdir=TRUE)
d1.r を実行.encoding は文字コード,echo=TRUE は実行行を表示,chdir=TRUE はスクリプトの場所に移動してから実行(相対パスが安定).

実行手順(RStudio)

  1. RStudio で File → New File → R Script.上の本文を貼り付けて start.r として保存.
  2. Session → Set Working Directory → To Source File Location(相対パスのズレ防止).
  3. エディタ上部の SourceCtrl+Shift+Enter)で一括実行.

実行手順(コマンドライン)

PowerShell / cmd から直接実行する場合:

Rscript --vanilla --encoding=UTF-8 "C:/Users/t/Dropbox/arbeit/start.r"

よくあるエラーと対処

戻る
(レイアウトはご指定のCSSに準拠.ボタン等のみ軽微な追加スタイルを適用)

Stataで記述統計量をつくる

変数例:medi_population care clinic homedeath nursingdeath age income(必要に応じて置き換え)

desc.do をダウンロード

目的

本ドキュメントは,Stata の tabstat を用いて mean / sd / cv / min / max をまとめて計算し, 「行=変数・列=統計量」のワイド表に整形して,Excel(.xlsx)に書き出す DO ファイル desc5_commented.do の詳しい解説です.

使い方(最短手順)

  1. Stata でデータ(.dta あるいは .csv)を開く.
    例:use "YOUR_DATA.dta", clear または import delimited "YOUR_DATA.csv", varnames(1) clear
  2. 下のスクリプトを DO エディタに貼り付け,PARAMETERS ブロックの VARS / STATS / FILE_PREFIX / SHEET を必要に応じて編集.
  3. DO を実行すると,作業フォルダに FILE_PREFIX_YYYYMMDDHHMMSS.xlsx が作成されます(シート名=SHEET).

スクリプト本体(desc5_commented.do)

*******************************************************
* desc5_commented.do  —  記述統計(ワイド形式のみ)をExcel保存
* -----------------------------------------------------
* ・対象変数の mean / sd / cv / min / max を tabstat で計算
* ・行=変数,列=統計量 の行列に整形して Excel に出力
* ・ファイル名は「ファイル名_YYYYMMDDHHMMSS.xlsx」(常にユニーク)
* ・ロング形式は出力しません
* ・必要な編集箇所は「PARAMETERS」ブロックのみ
*******************************************************

* =============== [OPTIONAL] データ読込の例 ===============
* use "YOUR_DATA.dta", clear
* あるいは
* import delimited "YOUR_DATA.csv", varnames(1) clear
* ========================================================

* ===================== PARAMETERS =======================
* 1) 記述統計の対象変数(カンマ無しのリスト)
local VARS "medi_population care Medical_care_inpatient_p Inpatient_living_p Reimbursements_etc_p clinic homedeath nursingdeath age income"

* 2) 出したい統計量(cv を外したい場合は cv を消すだけ)
local STATS "mean sd cv min max"
* 例:cv を外す -> local STATS "mean sd min max"

* 3) Excelファイル名の先頭(自由に変更可)
local FILE_PREFIX "ファイル名"

* 4) 書き出すシート名(自由に変更可)
local SHEET "desc"
* ========================================================

* ---------------- 記述統計(tabstat) -------------------
* columns(statistics) で列=統計量,行=変数の並びになる
tabstat `VARS', statistics(`STATS') columns(statistics) save

* tabstat の結果(r(StatTotal))を行列HYに整形
matrix HY = r(StatTotal)'                 // 転置して「行=変数」に
matrix colnames HY = `STATS'              // 列名を統計量に
matrix rownames HY = `VARS'               // 行名を変数名に

* ----------- 出力ファイル名:タイムスタンプ -------------
* ・YYYYMMDDHHMMSS 形式の連結(空白や記号が入らない安全な形式)
local STAMP = string(date(c(current_date),"DMY"), "%tdCCYYNNDD") + ///
              string(clock(c(current_time),"hms"), "%tcHHNNSS")

* 完全なファイル名を作成
local FNAME = "`FILE_PREFIX'_" + "`STAMP'" + ".xlsx"

* --------------- Excel へワイド形式で出力 ---------------
* ・putexcel で行列HYをそのまま書き出し
* ・nformat("0.000") は Excel 純正の数値書式(互換性〇)
putexcel set "`FNAME'", sheet("`SHEET'") replace
putexcel A1 = matrix(HY), names nformat("0.000")

display as result "Saved: `FNAME'  (sheet: `SHEET')"

/***
-----------------------------------------------------------
[参考] export excel を使う堅牢版(必要に応じて使用)
・HY を一旦データ化してから export excel を使う方法
・フォーマットはExcel側で設定(ここでは設定しない)
-----------------------------------------------------------
preserve
    clear
    svmat double HY, names(col)     // HY をデータ化(列=統計量)

    * 行名(変数名)を列に復元
    gen str60 var = ""
    local i = 1
    local rnames : rownames HY
    foreach r of local rnames {
        replace var = "`r'" in `i'
        local ++i
    }
    order var

    export excel using "`FNAME'", sheet("`SHEET'") firstrow(variables) replace
restore
***/

*******************************************************
* ヒント
* ・統計量の種類は STATS で切替(cv を抜きたい時は STATS から削除)
* ・SHEET 名や FILE_PREFIX も自由に変更可能
* ・値の丸めはExcel側の表示形式でも調整できます(#,##0.000 など)
*******************************************************

PARAMETERS の詳説

local VARS "..."
記述統計の対象となる変数リスト.スペース区切り,カンマ不要.存在しない変数名があるとエラーになります.
local STATS "..."
出力する統計量.tabstat が受け付ける名称(例:mean, sd, cv, min, max).cv を外したい場合はリストから削除.
local FILE_PREFIX "..."
出力ファイルの接頭辞.タイムスタンプ(YYYYMMDDHHMMSS)と拡張子 .xlsx が自動で付きます.
local SHEET "..."
Excel のシート名.既存ファイルに同名シートがある場合でも replace 指定で上書きします.

各処理の解説

tabstat と r(StatTotal)

tabstat `VARS', statistics(`STATS') columns(statistics) save により, 列=統計量・行=変数の表を作成し,結果を r(StatTotal) として返します. save を付けないと r(StatTotal) は残りません.

行列 HY の整形

matrix HY = r(StatTotal)' で転置(行=変数)し, matrix colnames HY = `STATS'matrix rownames HY = `VARS' で見出しを付与します.

タイムスタンプ付きファイル名

日付は string(date(c(current_date),"DMY"), "%tdCCYYNNDD"),時刻は string(clock(c(current_time),"hms"), "%tcHHNNSS") の形式で取り出し,連結して YYYYMMDDHHMMSS を作ります.空白や記号が入らないのでファイル名として安全です.

Excel出力(putexcel)

putexcel set "`FNAME'", sheet("`SHEET'") replace で出力先を設定し, putexcel A1 = matrix(HY), names nformat("0.000") で表を貼り付けます. names は行列の行名・列名を先頭行/列に出力,nformat("0.000") は Excel の数値表示形式です.

代替:export excel を使う堅牢版

フォーマットを Excel 側で設定したい,あるいは putexcel の仕様が合わない場合は, svmat で一旦データ化し,export excel を使う方法が堅牢です(上記コメントブロック参照).

よくあるエラーと対処

カスタマイズのヒント

desc.do をダウンロード ページ先頭へ

excelで出席を集計する方法

 エクセルで次のコマンドを入力する.

=IF(ISNA(VLOOKUP($B2,shusseki_1,1,FALSE)),"",1)
  1. このIFは,IF(●,■,▲)のとき条件●が真ならば■,偽ならば▲を与えるコマンドます.
  2. このISNAは,ISNA(●)のとき●がエラー値(#N/A)ならば TRUEを与え,エラー値以外ならば FALSE を与えます.ISNAは「is na」で,naは「not applicable」です.
  3. このVLOOKUPは,VLOOKUP(●,■,▲,◆)のときデータ●を範囲■の中に探して列番号▲に検索の方◆を与えます.
  4. VLOOKUPの●ですが,ここでB列に学生番号のリストがあります.B1は列のリスト名「学生番号」ですからB2から始まります.
  5. VLOOKUPの■ですが,別のシートにカートリーダーで取り込んだ出席した学生の学生番号のリストの名前「shusseki_1」があります.
  6. 学生番号を範囲指定して,右クリックするとメニューの下の方に「名前の定義」があり,それを用いてリストの前を付けます.
  7. 第1回目の出席ならば shusseki_1 ですが,第2回目は _2 などとする.予めコピーしておく.
  8. VLOOKUPの▲ですが,ここでは指定した場所の第1列目にある数値を与えます.
  9. VLOOKUPの◆ですが,検索の型◆がFALSEのときは範囲■に数値がないときはエラーを与えます.
  10. 学生番号があればVLOOKUPで学生番号を与えます
  11. 学生番号がなければ #N/A を与えます
  12. ISNAによって学生番号がないときにTRUEになり,学生番号があればFALSEになります
  13. IFによって,TRUE(学生番号がないと)ならば空白,FALSE(学生番号があれば)ならば1を与えます

LaTeXで図を簡単に書く方法

LaTeX文章に図を書き入れるときははWinTpicが便利です. 丹野の論文中にある図のほとんどはWinTpicで作成されています. 例えば,最近の論文の図を見ると TeX の数式になっていて良いですね. 画面で見ると汚いですが,印刷はちゃんとしています. その使い方とダウンロードについては,例えば,WinTpicによる描画・目次等を見て下さい.

TeXでOHPシートの作り方

OHP用のLaTeXマクロとして SLITex や slides クラスが有名ですが, 一部のコマンドが使えなかったりフォントが制限されたりします. それに TeX ではもちろん使えない. かといってOHP用の大きなフォントを自分で metafont で作るのは面倒臭い. それで,myzsize.texというマクロを用います. 最初はMETAFONTが起動してたくさんのフォントが作られて驚きますが,サイズが決まりすべてのフォントが揃えた後はMETAFONTは起動されなくなります. \input でインクルードして \mysize にポイント数を入れるだけです. フォントを生成してしまえばそれはTeXでも使えます. サンプルとしてIMGTAでのOHP東大でのOHPを挙げておきます. 日本語フォントももちろん生成できます. 図は始めに紹介した WinTpic で作りました.

dviファイルをpdfファイルに変換する方法

Acrobatがインストールされていることを前提とします. dvipskでpostscriptファイルに変換して distiller で pdf 形式にします. TeX形式のファイルをコンパイルしてできた foo.dvi に対して,

dvipsk -P dl -z foo.dvi

そして foo.ps という ps ファイルを生成します. その後,ファイルをクリックするかdistiller のアイコンにファイルを載せるとpdfファイルができ上がります.

LaTeXで表を簡単に作る方法

LaTeXで表を tabular 環境で作のは面倒臭いし,空白が多いとついつい & を余分に入力したり入れ忘れたりします. 簡単に表を制作する方法として

  1. Excel2LaTeX
  2. Visual Tabular
  3. 椿 -list editor-

を用いる方法があります. Excel2LaTeXは Excel の表を tabular 環境に出力するソフトです. Excelはあまり使いたくないので,Excelから csv 形式にセーブしてからcsv エディタを用いています. csv エディタとしてはListPadを用いていましたが,最近はHTML形式やtabular形式に 変換できる椿に乗り換えました. Visual Tabularは罫線の位置も指定することができるし,HTML形式にも落とすことができるのでとても便利です. ちょっとした表を作成するときはLaTeX形式でもHTML形式でもVisual Tabularを用いています.

Excel のグラフを TeX 形式のファイルに載せる方法

Acrobatがインストールされていることを前提とします. Excelのグラフを eps 形式に変換してdvioutの hypertex と Ghostscript を利用して表示と印刷をします. Excelのグラフを[印刷]でプリンターを distiller にしてファイル形式をEPSにするだけですが,ちょっとした工夫が必要です. マクロ経済学の講義ノート(1)にあるグラフはこのようにして LaTeX に取り込みました. 詳しくは,ExcelのグラフをEPSファイルにする方法を参考にして下さい.

また,次の方法でgifファイルにした後 Linux で netpbm を用いてEPSを作ることもできますが,Windowsベースの人はこちらの方が早いでしょう.

Excel のグラフを HTML 形式のファイルに載せる方法

Excelのグラフを gif 形式の画像に変換してimgタグでHTML形式のファイルに読み込ませます.

  1. wordを立ち上げておく.
  2. Excelのグラフをコピーする.
  3. word の画面にペーストする.
  4. そのファイルを HTML document 形式で保存する.(ファイル名は何でもよい.)
  5. そうすると Image1.gif 等というファイル名でwordがグラフ をgifファイルに変換してくれる.
  6. <IMG SRC="Image1.gif">と自分の望んだHTML文章にグラフを貼り付ける.

経済数学の試験の講評にある点数の度数分布はこのようにして HTML ファイルに取り込みました.

TeXの起動

以前 TeX や LaTeX のコンパイルは卓駆★というファイラーからコマンドを登録して行っていましたが, LaTeXフロントエンドが便利でこれを使っています. 2回目の起動は左クリック2回で一発ですし,違う tex ファイルをドラッグ&ドロップで実行することもできます. 他のTeX関係のソフトはYahooのYahoo!コンピュータ - フリーソフト&シェアウェアを参考にして下さい.

LaTeXで左右のマージン

LaTeXでは左と上に1インチ=2.54cmのマージンが自動的に入ります. それを見越して左右のマージンを調整して本文を中心に置かなければなりません. そのためには,xを左右のマージン,yを本文の幅としたときに, y+2 x=15.92cmになるようにすると本文が上手く収まります. 計算式は下を見てください.

\setlength{\textwidth}{13.90cm}
\setlength{\oddsidemargin}{1.01cm}
\setlength{\evensidemargin}{1.01cm}
% A4 横21cm  (  29.7 cm × 21.0 cm )
% 1インチ=2.54cm 
% 2.54cm +margin x + width y + x + 2.54 cm =21.00 
% y+2x=15.92 (*)

LaTeXで色を表示

講義のレジメをHTMLで書いていたときはたくさんの色を用いていましたが,LaTeX → pdf に移行してから「色が無い」という意見が出ました. それでLaTeXで色を表示することについて書いてみます. 話は簡単で,プリアンブルに

\usepackage[dvips]{color}
\usepackage{graphicx}

と書いて「赤い色」を赤くしたければ,本文中に

\textcolor{red}{赤い色}

と書くだけです. けれども,一々 \textcolor と書くのは面倒だし白黒プリンターだと赤が出ません. (実はカラープリンターを持っていません.^^;) ですから強調したい文字を太文字にしておきたいです. そこで \red という命令を新たに作っています.

\def\red#1{\textcolor{red}{\bf #1}}              % 赤

これですと\red{赤い時}で赤の太文字になり白黒プリンターでも確認ができます. 例えばミクロ経済学の基礎の1ページ目のようになります.

LaTeXでテストの問題番号を自動化

テストで何問か出題するときに問題番号を自動的に割り振ってくれるととても便利です. 特に問題を作成しているときに問題が何問あるのかを確認したり,問題の順序を変えるたびに番号を一々書き換える面倒な作業を省略できます. このミクロの問題のように小問には大問の番号をつけてアルファベット順に並べましょう. 作成するコマンドは \mondai と \shomon です. プリアンブルに次のコマンドを書くと出来上がります.

\newcounter{mondai}                                       % 問題カウンター
\def\mondai{\refstepcounter{mondai}                       % 問題
  \hspace{0zw}\makebox[2zw][r]{\fbox{\bf\large            %
  \arabic{mondai}}\hspace{1zw}}}                          %
\newcounter{shomon}[mondai]                               % 小問カウンター
\def\shomon{\refstepcounter{shomon}                       % 小問
    \makebox[1zw][r]{\fbox{\arabic{mondai}\Alph{shomon}}} %
    \hspace{0.5zw}                                        %
    \hangindent=2zw \hangafter=-3}                        %

ここでの工夫は小問の場合はインデントを深くしていることです. TeXのコマンド \hangindent でインデントを通常の倍 2zw にして, \hangafter で先頭から3行目までをインデントさせています. 小問が4行以上の場合はこの絶対値を増やします. (マイナスに注意.) もしくは,もっと多めに取っておけば良いでしょう. そうすると小問は大問に比べて引っ込んだところに位置することができます.

Windowsのショートカットキー

Windowsではショートカットキーがある程度共通化されているので覚えておくと便利です. 丹野はVZエディターのキーバインディングになれているので,以前はまったく使ってませんでしたが慣れると便利です. あんまり多いと忘れるのでIEを中心にいつも使っているキー+アルファを書いておきます. マウス操作の貼り付けで置換はおおにしさんから教えてもらいましたが,これは本当に目から鱗で感激しました.

マウス操作

使えるショートカットはここなどが見やすいです. しかし,これは便利だと思ってもキー操作を直ぐに忘れてしまうので代表的なショーットカットだけで十分でしょう.

LaTeXで最初のページにページ番号を入れない

論文の表紙を1頁目に書いて,ボディは2頁目以降に書くことがあります. その際にページの通し番号を2枚目以降からにして1枚目の表紙にはページ番号を入れないようにする日は,表紙のページに以下のコマンドを入れると良いです.

\thispagestyle{empty}
\setcounter{page}{0}

表紙が2ページ渡る場合は各ページで\thispagestyleを入れて,最初にページカウンターを-1にすると良いでしょう.

Geocities のページに広告を入れない

タダノブのページのミラーサイトとして無料のHPエリアGeocitiesを利用しています. しかし,ページの上に広告が出るのが玉に瑕です. 広告収入で運営されているので仕方のない面もありますが,それを標準設定で回避することができます. Geocitiesのトップページから

トップ > インフォメーションセンター > ツール > ジオガイドマネージャ > ジオガイドの調整・変更

で広告表示のオン/オフができます. 何も色んな裏ワザを駆使しなくてもいいのです. けれども,一応広告収入で運営されているので幾つかのページは広告が出るように設定しています.

Excelの図をEPSファイルにする方法

Excel のグラフを TeX 形式のファイルに載せる方法があるのですが正確に書いておかないと忘れるため新しく Excelの図をEPSファイルにする方法を作りました.

Windows 2000/XPでパスを設定する方法

昔のMS-DOSやWindows95ではautoexec.batにパスを書き込んで設定しましたが,Windows 2000やWindows XPでは初心者に分かり易いように設定がコントロールパネルでできるようになりました. 超初心者のためにパスの設定方法を書いておきます.

Windows 2000
「Windows 2000でのパスの設定」 (この池田さんのページがとても分かり易い)
Windows XP
[スタート] → [設定] →,[コントロールパネル] →[クラシック表示に切り替える] →[システム] → [詳細設定] → [環境変数] →[システム環境変数] →[PATH]という項目を表示して[編集]を選択する →セミコロン (;) で区切ってパス設定
  [クラシック表示に切り替える]がミソ. これを見つけるのにかなり時間がかかったタダノブは超初心者?

LaTeX文章の文字数を数える方法

LaTeXの文章の文字数を数える方法を紹介します. DeTexを使ってLaTeXのコマンドを除去する方法が一番簡単です. しかし,少々回りくどいのですが,DVIファイから生成されたPDFファイルをpdftextでテキストファイルへ転換して文字数を数える方法を書いておきます. pdftotextについてはnakagamiさんのPDF関連がとても親切にインストールの仕方を 教えてくれます.

$ pdftotext -enc EUC-JP hoge.pdf

そうするとhoge.txtというテキストファイルが生成されます. オプション -enc は文字のエンコーディングを指定しています. そしてText Analyzerで文字数を数えるます.テキストファイルへコンバートした時に空白ができるかもしれませんが,オプションで無視することもできるなかなかの優れものです.結局人に見せる時はPDF化するわけですし,自分で作ったマクロがある人や原稿をテキストファイルで出して欲しいと編集者に言われた場合は結局はこちらの方が早いようです.


トップへ. ホームへ. ご意見, ご感想などはemailでお気軽にどうぞ.
丹野忠晋 [タダノブ]. 最終更新 2004/10/26.